MS의 2007 DevDay에서 김명호 박사가 SW 개발자에 대해서 언급한 내용이 있다.

SW 개발자의 길, 아니다 싶으면 포기하라! (ZDNet Korea)

SW 개발자는 전문가로 거듭나야 하며 개발자와 기획자는 엄연히 다른 영역이라고 말하면서 다음의 지침을 내놓았다.
  1. 기본에 충실해야 한다.
  2. 지식의 포트폴리오를 유지하라.
  3. 분야 전문가나 해박한 지식을 갖춰라.
  4. 학습을 두려워 마라.
모두 개발자라면 공감하는 내용이라 본다.

기본에 충실해야 하는 것은 당연한 일이다. 최근 IT 업계로 쏟아져나오는 개발인력들은 대부분 비트교육센터나 삼성멀티캠퍼스 등의 IT교육기관을 거쳐서 기술적인 부분을 습득한 상태로 나오게 된다. 그런데 문제는 이 인력들이 모두 전산과나 컴퓨터공학과, 혹은 정보통신관련학과 등 IT 계열 개발 관련학과 출신은 아니라는 것이다. 공대출신은 맞지만 전산계열이 아닌 타계열 학과 출신들도 많으며 이과가 아닌 문과출신도 상당수 존재한다는 것이다. 전산계열 학과출신들은 그래도 대학에 다닐때 기본적인 전산관련 지식들을 습득하고 나온다. 그렇기때문에 어느정도의 기본지식은 갖춰져있다고 봐도 좋을 것이다. 하지만 타계열학과출신들은 전산관련 기본지식이 없는 상태에서 교육기관에서 배우는 응용지식만을 갖고 실전에 투입하게 된다. 즉, 기술적 지식기반이 없는 상태에서 기술요령만을 익히고 나온다는 이야기다. 당장에는 그 능력을 활용할 수 있겠지만 어느정도 시간이 지나면 교육받은 기술요령은 곧 바닥을 드러내고 도태되어버리는 것이 현실이다.

기본에 충실하게 되면 새로운 기술이 나와도 대부분 학교에서 배운 기본지식 위에서 응용하는 것들이 대부분이기 때문에 조금만 노력해서 공부하면 어렵지않게 습득하고 응용할 수 있다. 하지만 기본이 약하면 새로운 기술이 나와도 기본과 연계되는 부분을 찾지못해 해매게 되며 아예 새로운 기술을 처음부터 다시 시작해야 하는 어려움이 있다. 그렇기 때문에 기본에 충실해야 하는 것이 중요하다. 이론적인 바탕없이 기술적인 내용만 안다면 분명 스스로 막히는 부분이 있을 것이다. 그리고 발전없이 지내다가 결국 뒷전으로 밀리는 꼴이 되어버린다.

지식의 포트폴리오를 유지하는 것도 중요할 것이다. 일반적으로 보편화되어있는 기술들이나 지식들을 습득하는 것도 중요하지만 그와 함께 자기만의 기술을 계속 개발해서 일반 기술 속에 요긴하게 써먹을 수 있도록 해야한다. 개발자는 남들이 다 하는 그러한 기술만을 구사해서는 도태될 수 밖에 없다. 남들이 다 아는 기술 속에 나만이 아는 기술을 갖고 있어야 대접받는 개발자가 될 것이다. 자기만의 전문기술을 계속 키워야 하는 것이 중요하다. 나만의 라이브러리를 갖는 것은 내 재산을 늘리는 것, 혹은 내 필살기를 키우는 것과 마찬가지일테니까 말이다.

분야 전문가나 해박한 지식을 갖추는 것도 중요하다. 말 그대로 개발자는 자기가 있는 분야에서 전문가여야 한다는 것이다. 개발을 하다보면 어떤 문제가 생길지 모른다. 디버깅을 하면서 문제가 생기면 해결을 해야하는데 해당 분야의 전문가라면 그 문제의 본질을 파악하고 그 원인을 없애는 기술을 사용할 것이다. 전문가가 아니기 때문에 땜빵식의 코드를 사용하고 나중에 그 코드가 또 다른 문제를 야기하는 원인이 되어버리는 악순환이 이어진다. 또한 다양한 지식을 갖추게 되면 자기 분야에 연계해서 더 고급스러운 개발을 할 수 있다. 메인 분야에 대해서는 전문가 수준의 지식을 갖추고 관련 분야에 대해서는 어느정도 일정 지식을 갖추게 되면 어떤 돌발적인 상황이 닥쳐도 당황하지 않고 해결할 수 있는 실력을 갖추게 되는 것이다. 개발자는 말로 하는게 아니라 실력으로 보이는 것이기 때문이다.

학습을 두려워해서는 안된다. 개발자는 끊임없이 공부해야 한다. IT 세계에서 신기술은 계속 쏟아져나오고 있다. 그 주기도 점점 짧아지고 있으며 IT 트랜드 역시 시시각각 변화하고 있다. 이렇게 엄청나게 빨리 변화하는 IT 세계속에서 살아남기 위해서는 계속 관련 지식을 습득해야 한다. 기본에 충실한 개발자라면 새로운 기술이 나와도 기본에 입각하여 손쉽게 습득할 수 있겠지만 그렇지 못한 개발자라면 부지런히 공부해서 기본을 충분히 익히면서 새로운 기술에 대한 공부도 병행해서 해야할 것이다. 기본에 충실하다면 새로운 기술이나 트랜드에 겁먹을 필요는 없다. 다만 계속 공부를 해서 시대에 뒤떨어지는 개발자가 되어서는 안된다는 것이다.

김명호 박사가 제시한 지침도 중요하지만 무엇보다 중요한 것은 자신이 개발자로서의 소양이 없다고 판단한다면 과감히 이 길을 버리고 다른 길로 가야 한다는 점이다. 어떤 직업이든 적성이 중요하다고 보는데 개발자로서의 적성이 안맞는데 억지로 이 길로 간다면 스스로에게도 힘든 일이며 도태될 가능성이 크기 때문이다. 개발자가 아니더라도 다른 분야에서 전문가는 충분히 될 수 있다는 점을 생각해야 한다(솔직히 이 부분은 이 길에 접어든 현직 종사자들에게 참으로 눈물나는 이야기다. 또한 나는 이 얘기에 동의하지 않는다). 개발자도 적성에 맞아야 한다는 것이다.

현재 IT가 3D업종으로 전락하고 있는 결정적인 이유로는 IMF때 나온 IT 육성정책과 개발자를 제대로 대우하지 않는 IT업계 경영자들의 생각부재에 있다고 본다. 외환위기때 돌파해보겠다고 IT 육성정책을 내놓은 것은 좋았는데 실제로 소득있는 정책이 아닌 그저 단시일에 실천할 수 있는 정책만을 내놓아서 지금의 수많은 개발자들이 나오게 되었다. 또한 대한민국 IT의 현실이 주로 SI쪽에 몰려서 프로그램 전문가들 보다는 그저 코더(프로그램을 코딩하는 사람)만 필요로 하게 되었다는 것이다. 그러다보니 경영자들은 개발자를 그렇게 높게 대우하지 않게 된다. 여러 다른 이유들도 존재하겠지만 말이다.

김명호 박사는 개발자들에게 이제는 무한경쟁체제에 돌입해야 한다고 말하고 있다. 스스로 계속 노력해서 전문가가 되는 소수의 개발자들만 살아남게 될 것이라고 한다. 실제 회사에서 일을 하는 사람들은 소수에 불과하다. 나머지는 그 소수의 일을 서포트해주는 역할에 지나지 않는다는 점이다. 핵심 인력이 되기 위해서는 위에서 언급했던 4가지 지침을 잘 지켜서 스스로를 더 업그레이드 시키는 것이 중요하다는 점이다.

글쓴이 : 학주니
블로그 이미지

스마트 학주니

학주니의 시선으로 본 IT 이슈와 사회 전반적인 이슈에 대한 블로그

댓글을 달아 주세요