개발자는 살아남을 것인가?

2024. 8. 19. 23:42이것저것

728x90

쉽지 않은 문제인 듯 하다. 개발자로서 길다면 길고 짧다면 짧은 기간을 살아오면서 여

반응형

러 시대를 지나 온 듯 하다.

처음 이 일을 시작 했들 때, 일들을 떠올려 보면 그 때 지금의 반만의 기술을 가지고 있었다면? 하는 생각이 들때가 있다.

 

물론 뭐, 성격은 어디 안가겠지만... 

현재까지 개발자를 시작하고서 변한 것을 약간 돌이켜보면, 아.. 우선 나는 개발을 그렇게 완벽하게 하지 못한다는 전제를 우선 적으로 해야 할 것 같다. 그냥 평범한 개발자라는 것이지. 

 

평범한 개발자는 자기 앞에 놓인 과제들을 어떻게 해결하는 가 하면

 

  • 우선, 바로 옆구리에 레퍼런스 코드가 있어야 한다
  • 그리고 무작정 그 코드를 적용해 보고
  • 막 X삽질을 해대고 나서
  • 어떻게든 마무리를 짓는 

이상한 뻘짓을 하는 것이 개발자라고 정의 해 본다. 그리고  여기에 쓰는 얘기는 전적으로 내 생각이니 정답이 아님을 밝혀 둡니다.

 

그리고 나서 다시 돌이켜 보면

 

기억이 남는 첫번째가 아키텍트 였던 것 같다.

정확하게 정의 내릴 수가 없는 이 단어는 여하튼 수많은 시스템을 조율해 줄 수 있는 사람이라는 뜻으로 받아들여 졌고

물론 그런 사람은 드물기 때문에 돈을 많이 벌 수 있다고 생각 했던 것 같다.

그러면서, 소프트웨어 공학이 봇물 터지듯이 쏟아지면서 이런 단어를 외우고 다녔다.

"너희가 OO를 아느냐?"

 

두번째 생각나는 단어는 웹마스터 인듯 하다.

이 단어도 내 능력으로는 정의내리기는 애매하기는 하나, 웹 애플리케이션을 개발/관리 할 수 있는 사람이라는 뜻이 아니었나 하는 생각이 든다. 그리고 또 하나 생각 나는 것은 내가 한때 사랑했던 선마이크로 시스템즈가 야심차고 준비 했던 자바 빈즈가 엔터프라이즈의 바다로 나아갔다는... EJB가 있다. (원래 한번 가면 못 돌아 온다)

EJB 의 밑바탕에는 RMI 라는 기술이 존재하고 있다.

 

세번째로는 웹서비스가 생각이 난다.

웹서비스...정형화 된 데이터를 간편한 HTTP 위에서 서로 교환한다는 명목하에 XML를 가지고 SAX니 DOM이니 하다가 XML-RPC, SOAP으로 가다가 EAI 이런 용어들 나오면서 엔터프라이즈하게 가게 된다 왜? 기존에 있던 시스템들과 이제 생기는 시스템들 간의 소통을 위해서 생긴 거니까...

시스템간의 교환 표준은 XML이 아니었을까?

 

네번째로는 JSON이다.

애플리케이션간에 통신 규약을 만들어 본 사람이라면...바이너리다 XML이다 이것 저것 만들다보면 통신 프로토콜 만들다가 프로젝트를 다보낼 정도로 힘든 작업이 아닌가 하는 생각이 들었다. 그렇게 만들고 나면 맘에 들지도 않고 내가 만들었지만 알 수도 없는 그런 이상한 놈이 나오곤 했던 것으로 기억하는 데...

이 JSON 이라는 놈은 그런 얄궂은 규약을 아주 간편하게 만들어 줄 수 있는 뭔가였다. 다시말해서 데이터의 교환을 아주 심플하게 만들어 주었다는 것이다.

 

다섯번째로 프론트엔드와 스프링이다

말그대로 프론트인데 엔드인 것이다(말 장난이구만...)

이 놈은 JSON이 나오면서 서버에서 할 수 있었던 것들을 HTML 혹은 웹브라우저 레벨에서 할 수 있도록 만들어 주었다.

자바스크립트만 잘 짜면, 서버는 스프링이면 끝난다.

화면만 구성하면 곧 코드가 되는 세상이 되는 것이며, 이는 스프링과 통합 되어졌다.

수천만줄(?)의 서버 코드가 클라이언트로 내려 오고, 프론트엔드 개발자가 탄생했다. 이 용어가 만들어진 걸 보면 이 개발자는 돈을 많이 받을 수 있을 것으로 보인다.

 

여섯번째는 클라우드

아주 오래 된 용어 하나를 끄집어 내보면 이런 용어가 있다. '유비쿼터스', 지금도 알쏭달쏭한 이 용어는 그냥 내가 원하는 정보를 언제 어떤 장소에서도 끄집어 낼 수 있다 로 대변 된다.

그럴려면 사용자가 원하는 언제 어느 곳에든지 시스템이 있어야 하겠고, 개발자 입장에서는 이것저것 잴 것 없이 시스템을 만들어 올려 놓으면 서비스 될 수 있어야 하는 데 이 두마리의 토끼를 잡겠다고 나온 것이 아닌가 하고 의심해 본다.

이제 개발자가 서비스를 위해서 환경를 만들 필요가 없다 그냥 서비스 만들어서 올려 놓으면 된다.

IAAS, PAAS, SAAS 등등등...

 

일곱번째는 노 코드

'No Code' 클라우드에서 만들어진 서비스들 넘쳐나는 데, 이미 소프트웨어 공학에서 얘기한 상속, 추상화, 다형성이 다 구비 된 서비스가 올라가 있으니 그냥 쓰기만 하면 된다.

원래는 함수라도 한줄 만들어야 하는 FAAS 였는 데.. 굳이 함수 만들 이유가 있을까? 그냥 아이콘 갖다놓고 이어주면 되는 거 아님? 이라는 물음에 답하고 있는 듯하다.

 

마지막으로 인공지능이다.

수천만의 시스템이 IT 세상에서 날 뛰는 시대가 되었다.

이 시스템 중에 나에게 딱 맞는 시스템이 있을까? 만약 있다면 "해줘~~!!" 라고 하면 안되는 것인가? 에 물음에 답하는 중이다. 개인적인 생각이지만

나에게 구글이 나에게 다가 왔을 때 검색의 시대가 열렸었다.

그리고 짧고도 긴 시간이 검색의 시대를 지나 질문의 시대가 chatgpt 를 통해서 열리고

이제는 대화의 시대가 오고 있는 중이라고 생각한다 그 "해줘~!" 말이다.

 

그럼 개발자는 살아남을 것인가?

No Code 가 나왔으니, 분석만 잘 해서 그럴듯하게 이어 붙이면 로직이 만들어져 시스템이 되는 세상이다.

문제가 발생 했을 때, 해결을 해 줄 수 있을 것인가에 대한 문제도 스스로 생각 할 수 있다면 가능하겠지

인간이 개입할 여지가 없는 것이 '강한 인공지능' 이라고 하던데.

그렇다고 한다면 '인간이 개입 할 여지' 가 있을 것인가? 에 대한 물음에 답이 있으면 아마도 살아 남을 수 있지 않을까?

그리고 인간이 개입할 여지 라는 것은 최소 5년 내에는 판가름 나지 않을까 하는 생각이다.

728x90