철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

개발 경험에 관한 Random Thoughts

with one comment

art.oriented  지금까지 작성한 코드는 총 몇 줄

gimmesilver’s blog  경험이 우리에게 주는 것

art.oriented  경험은 당연히 중요합니다

Random thoughts:

  • “경험이 많다.”는 말은 사실 문맥에 따라 엄청나게 다른 말이지 싶습니다만, 아무튼 경험이 중요하다는 말에는 모두가 이견은 없는 것 같습니다. 저도 경험이라는 것은 분명 중요한 것이라 생각합니다.
  • 경험(시간)과 실력의 비례 관계는 n이냐 로그n이냐 혹은 무엇이냐는 이야기로 비유 하기가 힘들다 생각합니다. “경험치”처럼 한 수치로 두는 것은 RPG 겜의 이야기지, 현실에서는 확률의 이야기에 되려 가깝지 않을까 생각됩니다. 통념상 일단 “어떤 경험”을 했을 경우, 그것에 좀 더 실력이 있을 가능성이 크다는 확률을 가정한 뒤에(서류) 면접에서 이를 걸러낼 수 있느냐는 싸움을 하게 되는 것이겠죠. 솔직히 5년차 개발자나 10년차 개발자나 얼마든지 또이또이 할 수도 있는 것이고, 혹은 시간이 지날수록 실력이 일취월장하는 개발자도 얼마든지 있지 않을까요.
  • “약간 의미 전달이…제 경험에서 나온 말입니다.”(object님)에서 두가지
    • “자신이 실수했다고 생각했지만 사실 그건 능력이 부족한 것이죠.” – 이것은 문장상 인과관계가 없어서 요지가 좀 이해가 안갑니다. 실수일 수도 있고 능력이 부족한 것일 수도 있을 것일텐데 왜 능력이 부족한 것일까요.
    • 회사에서는 사람을 줄세워놓고 상위 10%, 1%, 0.1% 이렇게 나누기가 힘듭니다. 학교에서야 석차가 나오니까 0.01%가 되는 것이 불가능하(할 수 있)겠지만, 회사에서는 포커스된 능력과 운이면 0.01%에 준하는 댓가를 얼마든지 이룰 수 있고 그 사람이 전에 0.01%는 커녕 10%에도 못든 사람일 수 있습니다. 그리고 그런 것이 실력으로 대응되기도 하죠. 회사에서 실력 좋은 개발자 탑10안에 든다, 혹은 xx계에서 알아주는 개발자…식이라면 가능하겠습니다.
  • object님의 구글 예처럼 “신입 개발자”로 제한하는 경우에는 말씀대로 사실 경험이라는 요소를 가장 큰 것으로 치지 않습니다. 하지만 간단하게 예를 들어 코덱을 짜는 역할에 10년동안 비디오 코덱만 짜던 친구와 10년동안 다양한 경험을 한 친구 둘을 놓고 본다면(서류상), 전자가 아무래도 눈에 더 들어오겠죠. 회사가 10년동안 다양한 경험을 한 친구가 뭔가 틀에 벗어나는 멋진 결과를 내놓을 수도 있는 등의 리스크를 떠안겠느냐는 이야기는 다른 이야기겠지요.
  • 비슷한 이야기로, 지금 당장 어떤 일을 시켜야하는데, 해본 적이 없고 잘할 능력의 개발자를 뽑을리는 만무합니다. 혹은 Hiring Manager는 최고의 인재로 보이더라도 역할에 과하다면 뽑지 못하고 맞춰서 뽑게 됩니다. 회사생활 1년차 프로그래머와 경력자와는 뽑는 사람의 눈에는 분명 다릅니다.
  • 1년차 3년차 10년차 15년차(숫자보다는 늘어난 경험의 양을 생각하면), 똑같은 것을 하더라도 각자 모두가 경험을 통해서 다시 얻을 수 있는 것은 상당히 다릅니다. 간단히 10년차(경력자)가 1년차(비경력자)때 한 것을 다시 봤더니 새로운 점들이 마구 보인다더라하는 이야기는 흔하죠. 사실 굳이 10년이 아니라도 프로젝트가 끝나고 다시 리뷰를 하더라도 똑같습니다.
  • 그리고 그런 경험에 따라서 나중에 시니어개발자, 데브매니저나 혹은 아키텍트등의 다른 경험의 직책을 가질 수 있습니다. 서로 막 쉽게 바꿔가면서 오갈 수 있는 직책은 아니라 생각됩니다.
  • “아닙니다! 어쩔 수 없다라고 생각하는 바로 그 일이 원래 지금 하고 있는 그 일의 본질입니다.”(agbird님) – 공감합니다. 어딜가나 스케줄의 압박은 어쩔 수 없습니다. 회사의 개발자에게 있어서 “x일동안 xx를 만드시오.”라는 사명은 완벽한 제품을 만들라는 것이 아니기에 삼일을 주던 일주일을 주던 거기에 맞는 코드를 생산해는 역할입니다. 어떤 회사에서 진짜 코딩 잘한 제품(이 무엇인지 모르겠지만)이 시간을 많이 줬기 때문에 나온 결과물이라고 생각치는 않습니다. 제품을 만들어서 사용자에게서 소스코드의 예술성에 따라서 가격을 받을 수만 있다면야, 자기 돈 들여서 예술적인 코드를 충분한 시간을 들여서 만드는 직종도 생기고 하겠지만 말이죠. (다만 문제라면, 삼일이 아닌 불가능한 하루를 주는 경우겠지만, 이는 논지에서 벗어나는 다른 이야기겠죠.)
  • “코딩”만을 잘해서는 30년후에도 비슷한 모습일 수도 있겠습니다만, “개발(development)”을 잘하는 경우는 다른 말이겠죠. 개발을 잘한다는 말도 굉장히 광의의 말이겠지만요.
  • 삽질을 백만번하면 웬만한 포크레인 수준(agbird님)이겠지만, 똑같은 코딩을 백만줄하면 복사기일 수도 있겠습니다.^^ (Copy&Paste 코딩을 하는 개발자 수도 없이 많죠.) 저도 object님의 이야기처럼 “코딩을 몇줄해봤어”라는 질문은 가쉽이지 실력/경험의 가늠자는 아니라고 생각됩니다. 이유는 좀 다른데, 수많은 경험의 무게를 상상하기에는 부족한 질문이기 때문이죠. 이어지는 질문이 제대로 되었다면야^^

이런 이야기를 많이 합니다. “나 저거 얼마든지 만들 자신 있는데.” “저건 나도 만들겠다.” 예 할 수 있죠. 의심 안합니다. 하지만, 만들 수 있다는 것이 중요한 것이 아니라 “개발”이라는 것은 엔지니어링에 관한 이야기라는 점입니다. 엔지니어링에 있어서 축적된 경험이라는 것은 굳이 소프트웨어에 있어서만이 아니라 전반에 있어서 엄청나게 중요한 것이구요.

Advertisements

Written by charlz

2009년 2월 23일 , 시간: 오후 5:23

Uncategorized에 게시됨

One Response

Subscribe to comments with RSS.

  1. Just passing by.Btw, you website have great content!

    _________________________________
    Making Money $150 An Hour

    Mike

    2009년 3월 1일 at 오후 5:59


답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: