'2012/07'에 해당되는 글 1건

  1. 2012/07/28 Hybrid [번역] 프로그래머로써의 자기자신을 마케팅하기 (2)

많은 독자들이 프로그래밍 경력에 관해서 질문한다. 게임개발자로 뛰어드는 것도 질문하고, 소프트웨어 엔지니어로써 남아 있는 것도 질문한다. JM에게 연령차별과 관련된 리플을 다는 것으로 시작했지만, 생각을 바꾸어 지금 이 글인 훌륭한 소프트웨어 엔지니어링 직업을 얻는 방법에 관한 글을 쓰기로 했다.

JM의 질문: 이 분야에서 22동안 머문 비결이 뭡니까? 저는 지금 30년 동안 코딩을 하는 중인데, 저는 영감을 주는 다른 일을 얻으려고 할 때마다 너무 자격과잉(overqualified)이라는 말을 듣거나 Hibernate에 대한 자격을 얻으려할땐 Java에 관한 기초지식이 없다는 말을 듣습니다[1].

연령차별은 기술직에 있는 사람들에겐 매우 현실적인 문제다. 몇몇 고용 담당자는 좀 더 경험이 있는 (오래된) 지원자들 만큼 생산적이지 않을 수 있음에도 낮은 임금으로 써먹을 수 있는 어린 지원자를 선호한다. 연령차별과 관련된 모든 법적인 문제들을 뒤로하면, 이런 선택에 대한 이유 중 하나는 많은 고용 담당자들이 어떤 프로그래머가 앞으로 자산(asset)이 될지를 평가할 줄 모른다는 것이고, 결국 그들은 "싼"것을 택하는 쉬운 방법을 사용한다.

좋은 회사는 당신을 필요로 한다

사실 인구 부족의 이유로 프로그래머들을 절대적으로 필요로 하는 좋은 회사들은 주위에 많이 있다. 스탠포드 대학 교수들은 2000년 이후 파산하는 회사들(dot bomb)들의 몰락 후 컴퓨터 과학(Computer Science, CS)의 등록률이 얼마나 하락했다가 최근이 되어서야 상승(실은 급부상)하는지에 관해서 말해왔다. 따라서 이 소수의 CS 졸업자들이 노동력에 기여하는 곳에는 10년의 갭이 있다. 반면 동시에 우리 사회는 소프트웨어 엔지니어링 팀에 점점 더 의존하고 있기도 하다.

더욱이 여기서 최근의 많은 졸업자들이 창업에서 더 좋은 기회를 보는 경향이 이어졌다. YCombinator와 Tech Star 같은 창업보육기관(startup incubator)[2]이 대중화 되었고, 이 말은 대부분의 야망이 있는 프로그래머들이 "구직을 하지 않는다"는 이야기가 된다.

결과적으로 구글, 아마존, 마이크로소프트, 페이스북 같이 최고 임금으로 재능을 흡입하는 거대 기술 기업등 덕에 인재를 찾길 원하는 회사들은 최악의 상황(perfect storm)을 직면하게 된다.

내가 일했던 이전 회사에서는 좋은 웹 개발자를 찾는게 굉장히 어려워서, 우리의 업무 자동화(OA, operations automation) 부서에서 누군가를 빼오기도 했고(그곳 또한 인력이 필사적으로 필요했다), 플로리다나 동부 워싱턴의 사람들을 재배치하기도 했다.

그러면 당신은 아마 이렇게 묻고 싶을 것이다 — 이게 다 사실이라면, 저는 왜 직업을 구하는데에 제 전문기술을 사용할 수가 없죠?

내 경험에 기초해보면, 나는 (모든 레벨의) 프로그래머들이 직업을 얻는 것에 어려움을 가지는 것에 몇가지 원인들이 있다고 믿는다.

올바른 회사에 지원하지 않음

당신이 훌륭한 프로그래밍 직업을 원한다면 개발팀이 그 회사의 핵심(star)인 분야에 들어가라. 소프트웨어 제품을 만들거나 소프트웨어 서비스를 개발하는 회사들이 당신에게 적당한 곳이다. 왜냐. 그곳에서 프로그래머들이 돈을 버는데에 직접적인 책임이 있기 때문이고, 결과적으로 더 나은 대우를 받을 것이다.

만약 당신이 내부의 툴이나 서비스를 구축하는 곳에서 일을 한다면 당신의 팀은 원가중심점(a cost center)[3]이고 그 곳은 완전 다른 목적을 가지고 있다.

조엘 스폴스키(Joel Spolsky)도 이와 관련해서 얘기했었지만, 워낙 다작을 해놔서 참고 문서를 다시 못찾았다. 여기 1108개의 글 중에 어딘가에 있다: Historical Archive.

새로운 기술 배우지 않기

컴퓨터 산업은 변화로 특색을 나타낸다. 나는 아마도 절대 다시는 사용할 일이 없는 도스, DBase III+, Read Mode, EMS, XMS, 68000/65816/8086/80386 어셈블리, 포트란, 그리고 많은 쓸모 없고 기괴한 것들을 알고 있다.

10년이 넘는 동안 나는 주로 윈도우 개발자였다. 하지만 최근 몇년 동안 Erlang, Ruby metaprogramming, Rails, Linux, vi, Racket, D, OCaml 을 공부해왔고 막 최근에는 나의 첫 C# 프로젝트인 IPC using named pipes를 완료했다. 프로그래밍은 내가 전문적으로 하는 일 중 일부분일 뿐이지만, 이것들이 나를 프로그래머로써 남아 있도록 유지시켜주는 것들이다.

많은 프로그래밍 지원자들에게 조언 해줄 때를 살펴보면, 그들은 더 배우는 것을 그만 두고 그들이 이미 가지고 있는 기술들에 대해서만 만족하려고 한다는 것은 꽤 명확하다.

당신이 더 배우는 것을 멈추면 그 즉시 당신이 고용될 가능성은 줄어든다(less employable). 계속해서 배워라. (When you stop learning, you immediately become less employable. Keep learning.)

이 말이 뭔가를 대단하게 배우라는 말이 아니라는 것을 첨언하고 싶다. 많은 기술들을 살펴보는데 시간을 보내다가, 전문적으로 즐겨 사용할 수 있는 것들을 깊게 파고 들어라.

내가 생각하기에는 네트워크/서버 프로그램, 웹 UI 프로그래밍, operations automation (dev-ops), 비지니스 인텔리전스, 보안 분야는 가까운 미래에도 계속해서 상승세일 것으로 보인다.

자기자신을 판매하지 않음

긴 형식의 글(이 글과 비슷하지만 10배 길고 더 유머러스함)을 쓰면서 나의 블로그에 가장 큰 영감을 주는 똑똑한 청년 스티브 예이그(Steve Yegge)는 프로그래머가 개발할 수 있는 가장 값진 기술은 마케팅(홍보)이라고 말한다.

당신 자신을 팔기 위해 무엇을 하고 있는지 스스로 자문해봐라. 이력서는 중요하다, 명백하다. 블로그는 가지고 있는가? 공개 깃헙(github) 프로젝트는? 링크드인(Linked) 프로필은? 기술 컨퍼런스에서 발표는 하는가? 당신 도시에서 열리는 기술 밋업(meetups)은 가는가?

당신은 훌륭한 일자리를 찾을 수 있다. 하지만 당신 스스로를 저곳에 있도록 해야한다. 그러면 일자리들이 당신을 찾아 오기 시작할 것이다.

  • 원저자(Patrick Wyatt)에게 번역과 재출판을 허가받았음. (Translated and republished by permission of the author)
  • 홍보라는 말 대신 마케팅이라는 단어를 그대로 사용하였음. 적절하지 않다 싶으면 홍보라는 단어로 변경 예정.
  • job이라는 단어를 그때그때 문맥상 적절하다는 판단하에 일, 직업, 일거리로 다르게 번역하였음.
  • 번역 오류를 잡는데 도와주신 @DuncanSungWKim 님, @SunBKim 님 감사합니다.


  1. 검색해보았는데 Hilbernate에 대한 자격증은 없었다. having a certificate Hibernate 의 의미를 정확하게 모르겠다. - 역주 [본문으로]
  2. Startup Incubator: 창업을 도와주는 회사. YCombinator는 Lisp으로 유명한 폴 그레이엄(paul graham)이 공동 설립자로 있다. - 역주 [본문으로]
  3. 원가중심점은 이익을 직접적으로 내지 않고, 회사가 돌아가기 위해 위해 보조하느라 비용을 지출하는 곳(부서)를 말한다. 반대 말로는 수익중심점이 있다. - 역주 [본문으로]
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/07/28 17:50 2012/07/28 17:50

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다

  1. Subject: GS test demo

    Tracked from GS test demo 2013/04/02 11:38  삭제

    Hybrid :: [번역] 프로그래머로써의 자기자신을 마케팅하기

댓글을 달아 주세요

  1. 우군 2012/07/29 12:14  댓글주소  수정/삭제  댓글쓰기

    너무 좋은글입니다. 번역하느라 고생 많으셨을텐데 감사드립니다.
    그런데 마지막에 한가지.. 약간 오해할만한 문장이 있는듯 합니다.

    '하지만 당신 스스로를 저 밖에 있도록 해야한다. 그러면 일자리들이 당신을 찾아 오기 시작할 것이다.' 의 원문이
    'but you’ll have to put yourself out there, and the jobs will start coming to you.'.
    제가 영어는 잘 못하지만, 여기서 out there는 '그곳에'의 뜻이 아닌가 싶습니다.

    git이나 블로그는 개발자에게 유익하다는 글을 여기저기서 많이 보고 작게나마 경험해가는 터라 공감중에
    '저 밖에 있도록 해야한다' 를 읽고.. 저걸 하지 말라는건가? 라고 잠시 착각을 했네요...;;

    • Hybrid 2012/07/29 12:20  댓글주소  수정/삭제

      앗, 지적 감사합니다.

      혼자서 안에 있지 말고 밖으로 가라!의 의미로 보고 저렇게 적었는데,
      오해의 소지가 있군요. 수정하도록 하겠습니다. 감사합니다.