달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'개발자로 살라가는 것'에 해당되는 글 1

  1. 2009.01.30 개발자로 살아가야 한다는 것은...
제목부터 달고 글을 쓰려니, 글 제목이 삶과 인생에 대해 무언가를 보여주어야 한다는 약간의 압박은 준다. 그러나 과감히 무시하려고 한다. 내가 말하고 이야기 하고 싶은 것은 결코 무겁고, 어려운 이야기가 아니기 때문이다.

내가 PC를 통해서 프로그래밍을 배우고, 프로그램을 시작한지는 약 17년 정도 된다. 그리고, 이를 통해서 돈을 벌고 만지기 시작한 것은 14년정도 된다. 그동안 많은 것들을 해보았고, 배우고 경험해 보았다. 하지만 삶도 마찮가지이지만, 모든 일은 선생이 되는, 역할 모델의 역할을 하는 사람들이 있다. 나에게는 일민(Toby)이가 이런 사람중의 한명이고, 내가 개발자의 길로 들어서는데 중요한 역할을 한 사람이다. 여러 사람들이 그에게서 천재성을 이야기하기도 하지만, 자유로움를 추구하고, 마음이 가는 데로, 꿈이 이끄는 대로 살아가는 그의 삶이 모습이 개인적으로 부럽기도 하다. 그리고 관심있는 일에 보이는 놀라운 집중력은 그가 보여준 개발자로의 놀라운 열정이다. 그리고 조금씩이지만, 자신의 관심의 영역들이 다른 이들에게 좋은 의미의 길을 보여주는 작은 노력들이 기특하기도 하다.

조금 전에 TV에서 보여준 이름 모를 프로그램에서 "천재는 재능적으로 띄어난 사람이 아니라, 세상의 발전과 변화에 영향을 끼친 사람이다." 라는 멘트가 나왔다.  어떤 뛰어난 재능있는 사람이 자신을 이야기 할때, 자신은 천재가 아님을 겸손하게 이야기 하면서, 이를 언급하곤 했다고 한다. 나는 너무나도 쉽게 이 멘트에 동의할 수 밖에 없었다.
재능있는 사람이 아니라 영향력을 줄 수 있는 사람은 주변에서 작게 크게 찾아 볼 수 있다. 단지 돈을 벌고 회사의 이익을 위해서 재능을 사용하는 것이 아니라 세상을 바꾸기 위해서 재능을 사용하는 사람일거라 생각했다.

한국에서 개발자로 살아 간다는 것은, 어떤 의미에서는 돈과 회사의 이익이 더 가까울수 있다.
따라서, 원치 않는 것들을 배우기도 하고, 중요하다고 생각하는 가치들을 잠시 내려놓고 가야만 할 수도 있다. 내가 아는 어떤 사람들은 닷컴 붕괴이후 전혀 다른 일을 하고 있는 경우도 있었다. 보험업을 하거나, 장사를 하기도 한다. (나도 결코 이를 실패한 삶이라고 보지 않는다. 나름 현재의 생활에 만족을 하고, 성공도 하고 있으니까..)

개발자로의 삶은 나에겐 재미 있는 일중의 하나이고, 즐거움을 줄 수 있는 일중의 하나이다. 개인의 즐거움을 회사가 포기하지는 않을 것이다. 하지만 내가 하는 일이 잠시 겨쳐가는 삶의 단계가 되지 않았으면 좋겠다. 또한 나 자신에게 하는 일이지만, 즐거워 하는 일을 결코 포기하지 않았으면 좋겠다.

17년 동안 PC를 만지고 개발 관련되 것들을 공부하면서 느끼는 것이지만, 새로운 기술은 이전 기술드의 응용이기도 하지만, 갈수록 신기술들은 많아지고, 배워야 하는 것들은 많아지고 있다. 하지만 이들의 수명도 트렌드의 변화와 IT업계의 마케팅 방향에 따라 짦아지고 변화의 주기는 빠르게 변화된다.

다시 한국에서 개발자로 살아간다는 것은, 정말 많은 것들을 배우고 트렌드를 따라가기 위해, 엄청난 노력을 해야한다. 남들보다 빠르고, 신속하게 배운다 해도 적용할 시점이 되면, 새로운 것들이 마구 쏟아져 나온다.
"네트워크 컴퓨터","그리드 컴퓨팅", "UDDI 웹 서비스","유비쿼터스", "클라우딩 컴퓨팅" 등 이름과 마케팅의 미사구로 무장한 기술들이 마구튀어 나오지만, 그 기술적 근원은 모두 비슷하다. 단지, 시장과 서비스에 가장 적합한 현 시점의 기술들을 이용해서 말하고 있을 뿐이다. 물론 기술적으로 전혀 다르다고 할 수 있지만, 네트워크를 통한 서비스라는 측면에서는 모두 같다. 그냥 트렌트는 편하게 받아들이면 된다. 유비쿼터스가 그러했듯이, 지나면 다른 것으로 변화해서 나타날 것이다. (시대가 원치 않았기 때문일 거다. 반드시 기술적인 성숙도가 한계치에 도달할 때는 꼭 반드시 해야할 것이다.) 따라서 트랜드에 쳐지지 않으려면, 용어와 기본적인 개념은 반드시 익혀야 한다.)

그리고, 개발을 위해 많은 툴과 프로세스틀 익히고 알아야한다. 경험있는 개발자는 프로세스와 개발에 필요한 도구들을 만드는데 많은 노력을 들여야 하는 것이 개발자의 또 다른 삶이다. 매번 하는 프로젝트 마다 반독적으로 검토하고 준비해야 한다. (빌드 방식, 형상관리, 다큐멘테이션, 테스트등)
하지만 한번도 프로젝트 리소스와 기간에 이 부분이 반영되거나 일정이 늘어나지 않는다.
개발자로 살아가기 위해서는 필요한 것과 버려야 할 것을 잘 선별하고, 잘 선택해야 한다. 이 경우는 개발의 Quality(질)과 Requirement(요구사항) 중에서 한가지를 선택해야만 한다.

앞으로 10년 또는 20년을 개발자로 살아간다면, 한번쯤을 자신을 위한 프로젝트를 계획하는 것도 좋을 것 같다. 조금씩 조금씩 돌 탑을 쌓듯이 만들어 간다면, 먼저 나에게 그리고 사회에 이바지 할 수 있는 좋은 프로그램을 만들수 있을거라 믿는다. 규모의 크고 작음은 중요하지 않다. 내가 나를 만족시킬수 있다면, 그리고 더 나아가 다른 사람들에게 도움이 된다면, 이보다 더 좋을 수 없을 것이다.  
하루 하루의 연속성을 통해서 개발자로의 살아가는 목적이 명확해져 갈것이다. 나에게는 무엇인가를 만든다는 즐거움이, 무엇인가를 프로그래밍 할때 얻는 즐거움이 목적이 될거라 생각이 든다.

갑자시 생각이 나서 글을 썼다. 내가 즐겁다고 느끼는 것은 환경이 도와주지 않고, 해야할 많은 다른 것들로 방해를 받더라도 마라톤을 띈다는 심정으로 한걸음씩 나아간다면, 또 다른 것을 이루고 성취할 수 있는 기쁨을 얻을수 있을 거라고 믿는다. 


  
:
Posted by 행복상자