개발자의 전문성 관리

Posted by 大山 Sun, 16 Jul 2006 16:34:00 GMT

언제나 그렇지만 새로운 기술은 끊임없이 쏟아져 나온다. 영업자는 '유닉스'란 단어 하나만 알아도 마치 그 기술을 전부 아는양 말하지만, 개발자는 터미널 앞에서 수천시간을 씨름하고 나서야 비로소 유닉스를 조금 이해하게 된다. 기획자에게 '웹 2.0'의 도입은 새로운 단어를 하나 익히는 것만큼 쉬울지 모른다. 개발자는 웹 표준, Ajax, RSS, 태그, 웹서비스 등 한무리의 새로운 기술을 익혀야 하는데 말이다.

불과 이삼년 전만 하더라도 마이크로소프트는 영원할 것만 같았다. 수많은 개발자들이 비쥬얼 스튜디오를 익히고 마이크로소프트에서 쏟아내는 신기술을 소화해 내느라 정신이 없었다. 그런데 이제는 개발자는 맥을 써야 한다는 말이 공공연하다.

다들 자바가 대세인 줄 알았다. 프로그래밍의 미래라고 모두가 생각했다. 그런데 자바가 세상에 나온지 불과 10여년이 지난 지금 많은 개발자들이 자바의 마지막이 멀지 않음을 체감하고 있다.

어쩔수 없었던 것일까? 그런데 진작부터 자바가 별 볼일 없다는 걸 알고 있던 사람도 있었더라. 마이크로소프트의 이후를 일찍이 준비해온 사람들도 있고 말이다. Paul Graham은 진작에 알았으면 좋았을 것들이라는 글에서 이런 말을 했다.

인생은 엔진이 없는 행글라이더를 타는 것과 같습니다. 가능하면 맞바람을 타서 최대한 하늘 위로 올라가려고 하십시요. 멋있어 보이는 곳이 있으면 뒷바람을 타고 빠르게 그쪽으로 날아가고 싶은 유혹이 생기기도 합니다. 그런데 뒷바람을 타면 순식간에 지면에 너무 가까운 곳으로 내려가 버립니다. 나중에 내가 원하던 곳은 여기가 아니라는 것을 깨달았을 땐 이미 너무 늦어버리죠.

어떤 것이 맞바람을 타는 일일까? Graham은 경제학 대신에 수학을 전공하라고 말한다. 프로그래밍에 비유하면 자바 대신에 Lisp을 공부하는 일이리라. 당장 돈이 되는 것 보다는 미래를 위해 투자해야 한다.

개발자에게 전문성은 황금 알을 낳는 거위와 같다. 알을 빨리 낳게 하려고 무리수를 두면 거위가 일찍 죽어 버린다. 왜 국내의 수많은 개발자가 마흔도 안되어 개발을 포기하겠는가?

10년 뒤를 생각하고 그때도 유용할 지식을 배우는데 시간을 최대한 투자해야 한다. 물론 10년 뒤를 내다보는 것은 쉬운 일이 아니다. 내가 생각하는 10년 뒤 개발자에게 쓸모 없을 지식과 유용할 지식은 다음과 같다.

  • 거의 쓸모 없을 지식: MFC, COM, ActiveX, 자바 관련 모든 것, Perl, SOAP, XML, 윈도우 서버
  • 여전히 유용할 지식: Unix, 정규식, 관계형 데이터베이스, 메타프로그래밍, emacs/vi, HTTP, HTML XHTML/CSS, 루비, C

앞으로 10년 동안에도 수많은 기술이 나오고 또 사라질 것이다. 아무쪼록 개인의 전문성을 잘 관리해서 개발을 오래오래 즐기도록 하자.

Posted in  | Tags , , ,  | 6 comments | 2 trackbacks

Comments

  1. 1.
    Maney said about 2 hours later:

    굉장히 편협한 시각에서 글을 쓰신 것 같습니다. 글을 쓰신 논지대로 말을 해보자면 HTML보다는 XHTML이 이미 대세이며 emacs/vi보다는 eclipse가 더 알맞을 것입니다. 루비나 Ajax같은 것들이 굉장히 새롭고 혁신적인 것을 보이실지 모르겠지만 루비는 이미 수년전부터 개발되던 것이었고 Ajax는 JavaScript와 XML의 결합일 뿐입니다. 심지어 유닉스는 윈도우보다도 더 일찍 개발되었습니다! 이것들은 전혀 새로운 것들이 아니며 이것들보다도 더 인정을 받는 기술들이 존재합니다! Java는 아직도 전세계의 수십만 개발자가 쓰는 언어이며 rubyonrails와 같이 Struts, Spring과 같은 많은 프레임워크들을 지원합니다. 또한 얼마전 개최된 자바원은 이제 자바가 걸어갈 새로운 길을 제시하고 있지요. 위에서 언급하신 내용은 루비와 Web2.0이라는, 이제는 재탕에 삼탕까지 해먹은 주제에 대한 옹호와 마이크로소프트 배척론에 지나지 않습니다. 이제 곧 비스타가 나옵니다. 그때는 어떻게 하실 건지요? 맥의 새로운 OS인 Leopard가 나올때에는 어떻게 하실건가요? 위의 글에서 말하신 것처럼 뒷바람을 타기보다는 맞바람을 타십시요. 이글은 뒷바람을 타는 글일 뿐입니다.


  2. 2.
    大山 said about 4 hours later:

    HTML이라고 쓴거는 오타난거라고 보시면 되구요. ㅎㅎ

    우선 저는 IDE 개발을 지양하는 개발자라는 말씀을 드리고 싶습니다. 물론 자바에서는 IDE가 필수지만 다분히 언어의 한계였다고 생각합니다. GUI 개발이라면 IDE 필요하다고 보구요. 하지만 제 관점에서는 GUI 개발은 프로그래밍의 아주 작은 일부일 뿐이지요.

    루비는 1995년에 나왔지만 최근에야 널리 쓰이기 시작했죠. 사실 루비에 새로운 기능이 있는 것도 아닙니다. 이미 1960년대에 나온 Lisp과 1970년대에 나온 Smalltalk에 있었던 기능을 따왔을 뿐이니까요. 하지만 그런 식으로 따지면 자바는 실로 엄청난 뒷걸음질이 아니었나 하는 생각입니다만..


  3. 3.
    b said about 8 hours later:

    루비도 좋지만,
    루비의 경쟁상대는 python이고
    루비가 과연 python을 이길 수 있을까요?
    전 오히려 python을 언급안하신게 이상하네요.
    솔직히 ruby는 rails때문에 떴다는 걸 부정할
    사람은 아무도 없죠.
    ruby가 python보다 딱 이게 좋다 라고 할만한게 있나 생각해보면 rails정도밖에 없어보입니다. 라이브러리도 부족하고, primitive가 존재하지 않기 때문에 오히려 프로그래머들에게 더 혼란스럽고요. LISP도 좋고 Ruby도 좋지만 걔네들은 단지 "해커들을 위한 언어"정도로 남지 않을까라는 생각입니다. 솔직히 언어 자체만의 cool함으로 볼때는 prolog가 최고라고 봅니다. 그럼에도 불구하고 대중화되지 못한 건, 대다수의 프로그래머들이 프롤로그를 사용해 프로그램하는 것을 어려워하기 때문이고, 이것때문에 라이브러리같은 것들이 부족하고, 이건 다시 처음에 제기했던 문제를 낳게 되고.. 하는 과정에서 대중화와는 거리가 멀어지죠. ruby도 마찬가지의 길을 걷고 있었죠. rails가 나오기 전에는. rails가 나왔다고 뭐 바뀔 것 같지는 않네요. python user들이 굳이 ruby로 갈아탈 충분한 동기를 못느끼거든요. 차라리 django나 turbogears를 배우고 걔네들이 더 좋아지길 기다릴뿐.


  4. 4.
    大山 said about 8 hours later:

    개인적으로 Python을 잘 알지는 못하기 때문에 조금 말씀드리기가 조심스럽기는 합니다. 이 부분을 가만하고 읽어주세요.

    현재 미국쪽 커뮤니티만 두고 보았을 때는 모멘텀 면에서는 루비가 Python을 앞서고 있습니다. Python 커뮤니티에서도 마케팅에서 루비에 밀렸다고 인정하고 있지요. 루비 특히 레일스 쪽에는 마케팅의 귀재들이 많습니다.

    Python 쪽에 워낙에 뛰어난 개발자가 많기 때문에 Python 유저들이 굳이 루비로 옮겨오는 것 같지는 않습니다. 다만 Perl 유저들은 완전히 루비로 넘어왔고, 자바쪽에서도 루비로 옮겨오는 사람들이 많지요. PHP도 마찬가지입니다.

    오히려 현재로서는 해커들을 위한 언어로 남을 확률이 높은 것은 Python입니다. 그리고 Python과 비교했을때 루비의 가장 큰 장점은 클로져의 사용이 좀 더 편리한 점과 메타 프로그래밍 정도가 아닌가 싶습니다. 원시 데이타 타입이 없는 순수 객체지향 언어라는 점은 루비의 장점이 맞습니다. 이것 때문에 시스템 전체가 얼마나 엘러건트해졌는데요~ ;)


  5. 5.
    코퍼스 said 8 months later:

    하하하.. Perl이 거의 쓸모없어질 것이라고 생각하시다니요..^^ 조금 더 넓은 분야로 눈을 돌려보시면 펄의 그 광범위함과 위대성을 아시게 될겁니다. 그리고, 루비와 파이썬 조차도 그 영광의 한쪽 어깨를 펄에게 기댈뿐 아니라.. 아직 몇몇 부분에서는 펄에 비해 성능이 떨어짐도 있습니다. 더욱이 (물론 너무 오래기다린 면도 있지만) 앞으로 펄6와 패롯이 나온다면 어떻게 판도가 바뀔지 모르지요.. 물론, 루비와 파이썬이 좋은 언어요 솔루션임은 알고 있습니다.


  6. 6.
    大山 said 8 months later:

    코퍼스님, 조금 더 넓은 분야가 어떤 곳인지를 말씀해 주셨으면 좋았을텐데요. ^^

    Perl이 루비에 많은 영향을 끼쳤음을 부인할 사람은 없습니다. 저 역시도 한때 Perl을 사용했었구요. 혹시 오해가 있는지 모르겠는데, 지금 당장이 아니라 10년쯤 후에는 Perl 개발자에 대한 수요가 현저히 줄 것이라고 예측한 것입니다.


Trackbacks

Use the following link to trackback from your own site:
http://beyond.daesan.com/articles/trackback/157

  1. From
    xml
    reply to : http://beyond.daesan.com/articles/2006/07/16/programmer-expertise-management
  2. From june~~(′·ω·`)
    (옮김) 개발자의 전문성 관리
    언제나 그렇지만 새로운 기술은 끊임없이 쏟아져 나온다. 영업자는 ‘유닉스’란 단어 하나만 알아도 마치 그 기술을 전부 아는양 말하지만, 개발자는 터미널 앞에서 수천시간을

Comments are disabled