안녕 퇴물이다.


오늘도 우리 새로운 꿈나무께서 도커같은 로우레벨 프로그램은 어떤 테크트리를 타야 되는거냐며 물으셨다.


꿈나무라서 곧 베어져서 한겨울 땔감으로 사용되는 당연하 미래가 그려지지만. 

늘 그렇듯 그냥 아는데까지 적당한 뇌피셜로 썰을 풀어보겠음.


일단 Nginx를 까보자. (열어보자는 뜻임)


Igor Sysoev라는 러시아 개발자가 개발했고. 

컴퓨터 엔지니어링 전공으로 Engineers'degree라는 조금 독특해보이는 과정을 거쳤다.

6년을 공부한거 보니, 적당히 학사와 석사 중간정도 혹은 석사정도로 공부한걸로 보인다.


근데 CE는 컴공보다는 좀더 하드웨어에 밀접하다고 본다. 

그러니 하드웨어 관련된 개발을 하거나, OS 혹은 리눅스 커널쪽 하기 딱 적합한 인재다.


그리고 , Rambler라는 곳에서 10년간 엔지니어링 일을 했다. (소프트웨어 개발이 아니다!)

관리하면서 개발을 개인적으로 사이드 프로젝트로 작업해서 만든 뒤 NGINX를 창업하게 됨.


Nginx는 분류하자면 네트워크 계통의 프로그램이다. 

네트워크는 인프라와 관계되서 하드웨어 지식도 다소 필요해서 CE가 더 잘할 수가 있음.

그니까 10년동안 해온 백그라운드 짬이 있어서 개발이 가능한 것임.

10년동안 SA로 있으면서 "아~ ㅅㅂ 아파치 X같네!" 싶어서 

내가 만들어도 이거보단 잘 만들겠다 싶어서 시작 했던 것.


그러니까 개쩌는 프로그램을 만들기 위해서는 10년정도의 백그라운드는 필요하다고 본다.

Igor는 CE 공부 6년 + 현업10년의 결과물인 것이다.



이번엔 Docker를 까보자.


Docker는 Solomon Hykes라는 사람이 dotCloud라는 곳에서 만들었다. 

이사람의 이력은, Information Techology로 학사와 석사를 했다.


이 사람의 특징도 독특하다.

처음에 System Administrator로 2년을 일했고 그 다음에 주니어 소프트웨어 엔지니어로 짧게 일했다. 

(근데 일한 곳이 슈퍼컴퓨터 센터 ㄷ)

그다음 인프라스트럭쳐 엔지니어로 2년반, 솔루션 엔지니어로 1년반. 

오래 다니진 않았는데 2007년도부터 클라우드 호스팅 회사를 창업한다.

거기서 도커를 만들게 되었고, 인기를 얻으면서 흥했다.


이 친구는 인프라 엔지니어이면서 개발을 할 줄 아는 친구로, 

호스팅 창업하다가 가상화 쪽을 깊게 파서 결국 만들게 된걸로 보임.


이것을 보면 그냥 갑자기 평범한 컴공러가 

어떤 회사에 들어가서 도커라는걸 만들어! 하고 시키는 일을 맡아서 하다보니 이쪽 전공이 되어버렸다... 라는 스토리는 아니라는거다.

그건 지극히 공채로 사람을 뽑아서 할일 부여하는 우리나라 고전적 대기업식이로 생각하는 것임.


마찬가지로 전공이 딱히 아니더라도

그냥 하다보니 관심이 있고 재밌어서 한 우물 5년정도 파다보면 꽤 지식이 생긴다.

개발계의 나와바리가 생기는 셈임. 약간 게임에서 고인물 같은 느낌임.


그래서 그런걸 하고 싶으면, 빅테크가서 로우레벨 개발을 할래가 ... 아 아닌  

우선은 어떤 분야나 업종를 정하고 깊게 파기 시작하는게 순서다. 


근데 문제는 내가 판 우물이 똥물이거나 아직 빛을 보지 못하는 경우가 있다는거다.

요즘으로 치면 AI 쪽 우물판 친구들이 대박이난거고, 

블록체인 깊게 판 애들은 도무지 할일이 없는거랑 비슷함.


예전에 나한테 연락와서 사람 찾는다는데, 블록체인 깊게 파본 친구 찾더라.

근데 있겠냐..

돈이 되야 지속적으로 가능한데, 연구용 블록체인으로는 깊게 파기 힘든게 사실임.

람다256정도에 들어가서 돈 받고 연구개발하는거면 모를까.

블록체인도 네트워크 통신쪽이라 그쪽으로 하던 애들이나 만질 수 있는거지.


만약 퇴물이한테 블록체인 시스템 새로 개발해주세요 라고 하면 최소 2~3년은 걸린다. 

1년은 배경지식을 쌓으러 밑바닥부터 공부하는 시간이 될 듯.

그럴거면 그냥 전공자 뽑지. 뭐하러 투자하겠음. 퇴사할지도 모르는데 ㅋ

게다가 내 입장에서도 다음 먹거리가 있을지 없을지 모르는데 2년의 시간을 투자하기엔 부담스러운 것.

 

암튼 잡썰이 길었는데, 어느정도 백그라운드가 생기면 어떤걸 만들어야 될지는 자연스럽게 보이게 될거임.

그런데 그걸 만든다고 해서 돈이 될지, 사업성이 있을지는 다른 문제임.


개발일을 하더라도 자신만의 백그라운드 날리지와 전문분야는 갖추는게 

오래오래 해먹을 수 있음.