Computer Science, Software Engineering 전공자가 아니더라도 엔지니어에게 S/W 개발 역량이(정도는 다르겠지만) 필요한 시대(라고 생각한)다.

'프로그래머'라고 하기 여러 측면에서 민망하지만(전공도, 능력도) 잘나가는 프로그래머들은 어떤 생각을 갖고 커리어에 임했는지, 지금의 성공에는 어떤 밑받침이 있었는지 궁금해서 <프로그래머로 사는 법>을 고르게 됐다.

 

책 서문의 책 소개

<프로그래머로 사는 법>은 커리어에서의 성공과 전문가로서의 영향력을 극대화하는 것에 대한 책이다. 직장을 구하는 것부터 리더, 혁신가가 되는 데 필요한 스킬을 연마하는 데 이르기 까지, 이 책은 독자가 전문가로서의 잠재력을 이끌어내는 데 필요한 스킬, 행동양식, 자질을 배울 수 있는 책이다. 장과 장 사이에는 소프트웨어 산업계에서 전문가로 인정받는 이들과의 인터뷰를 수록했다.

 

<프로그래머로 사는 법>은 두 가지 섹션으로 나눠져 있다.

  • 국내외 유명 프로그래머들의 인터뷰
  • S/W 프로세스와 실제 업무에 대한 설명

 

 

유명 프로그래머들의 인터뷰 내용

인터뷰 질문 중 '석박사 학위가 그들에게 미치는 영향', '성공하는데 어떤 요인이 필요했나'라는 질문들에 특히 집착했다(궁금했으니까).

 

마리사 메이어 (전 구글 부사장, 현재 야후 CEO이자 IT계 대표 여성리더)

소프트웨어 분야(R&D 또는 사업)에서 성공하는 방법에 대한 조언을 부탁합니다.

꼭 소프트웨어 분야에만 국한된 건 아닌데요, 네 가지 정도 얘기하고 싶습니다.

  1. 자기가 들어가고 싶을 만큼 정말 편하게 느낄 수 있는 곳을 찾으세요. 소프트웨어 아키텍쳐 결정에 관한 것이든 회사의 전략에 관한 것이든, 사고의 자유를 만끽하고 자기 의견과 생각을 자유롭게 공유할 수 있는 곳에서 일하는 게 좋습니다.
  2. 당신에게 투자하는 사람과 당신에게 도전거리를 안겨주는 사람을 위해 일하세요. 강력한 조언자가 필요합니다. 탐 워소우 교수니이나 에릭 로버츠 교수님 같은 분은 제 인생을 바꿔놓았습니다. 조나단 로젠버그, 에릭 슈미트, 래리 페이지, 세르게이 브린, 그 외에 구글에 있는 여러분이 저에게 이런 막대한 책임을 안겨준 것은 그들이 나를 믿고 나한테 투자하고 싶기 때문입니다.
  3. 더 많이 생각하고 더 잘 일할 동기를 유발할 수 있는, 자기가 아는 사람 중에 가장 똑똑한 사람하고 일할 수 있도록 노력하세요. 저는 제가 지금까지 만나본 사람 중에 가장 똑똑하고 가장 코딩을 잘 한느 다섯 명 중 한 명으로 꼽을 수 있는 크레이그 실버스타인하고 함께 일하고 싶다는 생각에 구글에 들어왔어요. 첫 3년 동안 저는 크레이그의 코딩 파트너였어요. 크레이그는 제가 만든 모든 코드를 검토하고 저를 훨씬 더 강한 프로그래머로 만들어주었죠. 정말 최고의 엔지니어들하고 일하면 생각하는 방법, 프로그래밍하는 방법이 송두리째 바뀔 겁니다.
  4. 언제나 아직 준비되지 않은 일을 하세요. 약간 두려운 느낌이 드는 일을 한다는 것은 한 발 앞으로 나갈 수 있다는 것, 새로운 것을 배우게 된다는 것, 성장한다는 것을 의미합니다.

 

존 벤틀리 (생각하는 프로그래밍 저자)

소프트웨어 분야(R&D 또는 사업)에서 성공하는 방법에 대한 조언을 부탁합니다.

적어도 지금까지 저에게 잘 통했던 것을 정리해 보면 이렇습니다.

  • 행복을 찾으세요.
  • 배울 수 있는 건 뭐든 배우세요. 언젠가, 어딘가에서, 어떤 식으로든 자기 일에도 도움이 될겁니다.
  • 새로운 것을 시도해 보세요. 하지만 엣것을 지키세요.
  • 최고의 사람과 함께 일하세요.
  • 조언자를 찾으세요. 자신이 존경하는 사람으로부터 배우세요.
  • 자기 팀, 자기 회사, 자기 분야, 자기 이웃에게 보답하세요.
  • 글쓰기와 코딩을 꾸준히 연습하세요. 동료의 일을 검토해 주고, 자신의 일도 동료에게 검토 받으세요.
  • 자기 회사, 팀, 동료 등에게 멋진 사람이 되세요. 충성심은 서로 주고받는 것입니다.
  • 좋은 책을 읽으세요.

 

리차드 스톨만 (오픈소스 S/W의 아버지, GNU와 오픈소스재단 창시자)

오픈소스 소프트웨어가 중요한 것은 가격이 아니고 자유입니다.

  • 원하는 대로 프로그램을 실행할 자유
  • 프로그램 소스 코드를 들여다보고 원하는 일을 할 수 있게 고칠 자유
  • 이웃을 도울 수 있는 자유-원하는 대로 사본을 만들고 배포할 자유
  • 커뮤니티에 기여할 수 있는 자유-원하는 대로 자신이 수정한 버전의 사본을 만들고 배포할 자유

 

레이 톰린슨 (이메일 창시자)

석사나 박사 학위가 전문가 커리어에서 가치가 있다고 생각하시나요?

박사학위를 받은 사람들은 대부분 박사 과정 동안 진짜 원하는 것과는 무관할 수도 있는 것까지 온갖 문제 해결해야 합니다. 어떤 문제든 공략해서 해내야하죠. 그 사람들은 보통 직장에 들어가서도 비슷한 일을 합니다. 학사 학위만 있어도 충분히 경쟁력은 있을 수 있고 고차원적인 것을 할만한 역량이 있을 수도 있지만, 그리 멀리 가지 못할 수도 있습니다. 물론 불가능한 일은 아니지만 그렇게 하지 않을 가능성이 커요. 뭔가를 하기 위해서 대학원에 가야하는 것은 아지미나, 그 학위를 따내려면 학위에 걸맞는 일을 해야합니다. 학위는 일을 해내는데 필요한 소질과 자세를 보여주는 척도가 될 수 있습니다.

 

존 슈왈츠 (SAP 등기이사, Business Object CEO)

석사나 박사 학위가 전문가 커리어에서 가치가 있다고 생각하시나요? 직원을 채용할 때 학위를 많이 보시는 편인가요?

정말 중요합니다. 첫째, 대학원을 졸업했다는 건 그만큼 그 분야에 오랜 시간을 투자할 수 있는 능력을 보여주는 일이라고 할 수 있어요. 둘째, 석박사 학위가 있다는 것은 그 사람이 어느 정도 진지하고 참을성 있고 조직생활을 할 수 있을 만한 사람이라는 걸 보여준다고 봐요. 물론 빌 게이츠같이 대학을 중퇴하고도 대단한 업적을 세운 사람도 있지만, 그쪽은 예외적인 경우라고 봐야 할 것 같습니다.

 

리누스 토르발스 (리눅스 창시자)

성공의 비결이 뭘까요? 다른 사람들과 다른 식으로 접근하셨나요?

이걸 비결이라고 할 수 있을지는 모르겠는데, 조금 특이한걸 말씀드리자면 제가 개인적으로 성공한 프로젝트는 전부 목표를 별로 높게 잡지 않은 것이었어요. 정말 큰 성공을 거두겠다는 목표를 가지고 시작한 일은 없었죠. 프로젝트에서 성공하기 위해 하지 말아야 할일을 보여주는 게 아닌가 싶어요. 제가 정말 자랑스러워 하는 프로젝트는 두 개가 있어요. 하나는 리눅스 커널이고 다른 하나는 git이라는, 제가 소스 코드를 관리하기 위해 사용하는 (리눅스보다 훨씬 소규모의) 프로젝트 입니다. 둘 다 기술적으로 성공했고 꽤 광범위하게 쓰이고 있어요. 그리고 그 두 프로젝트는 전부 처음에는 훨씬 작은 것을 목표로 해서 시작했죠. 사실 저는 "목표를 높게 잡아라", "큰 꿈을 가져라"같은 말은 전부 쓸데없는 소리라고 생각해요. 단번에 높은 건물을 뛰어넘을 수는 없어요. 한 계단 한 계단씩 올라가야 하죠. 특별히 재미있는데 가겠다는 생각도 없이 그냥 100층을 올라가겠다는 목표를 세우는 식으로는 절대 그 목표를 달성할 수 없을 겁니다. 코앞에 있는 계단은 제대로 보지도 못하고, 저 멀리 떨어져 있는 목표에만 시선을 고정한 채로 나가다가 고꾸라져 버리고 말거에요.

 

일과 삶의 조화는 어떻게 이루시나요? 일이 전부가 되는 상황을 피하는 비결이 있나요?

저에겐 일이 거의 전부입니다. 주중에도 일하고 주말에도 일해요. 잠에서 깨면 바로 일하러 가요. (심지어는 잠옷 차림으로 가기도 해요. 집에서 걸어갈 수 있는 거리에 직장이 있으면 행복해져요) 그리고 종일 거기에서 머물죠. 하지만 대신 유연성 있게 일해요. 애들을 운동하는 데 데려간다든가 하는 식으로 몇 시간 다른 일을 하기도 하고, 길게는 몇 주씩 쉬고 휴가를 가는 식으로 말이죠. 그리고 보통 휴가 갈 때는 노트북 컴퓨터 같은 건 전부 두고 갑니다. 진짜 커뮤니티 위주로 일이 돌아가게 되고 다른 사람한테 이래라저래라 시켜야 하는 "보스"가 되지 않으면 그런 장점이 있어요. 제가 프로젝트에서 중심적인 역할을 맡고 있고 제가 하는 일을 정말 좋아하긴 하지만, 저는 모든 사람이 정해진 자리에 있어야 하고 상하관계가 업격한 곳이 아니라 큰 사교 모임에 가깝다고 할 수 있는 환경에서 일하고 있습니다.

 

마크 루시노 비치 (Sysinternals tools 개발, MS 수석 아키텍트)

컴퓨터 공학으로 석박사 학위를 받으셨는데요, 석사나 박사 학위가 전문가로 살아가는데 있어서 중요하다고 생각하시나요? 직원을 채용할 때 학위가 있는 쪽을 선호하시는 편인가요?

... 석사 학위는 꼭 따는 게 좋다고 생각해요. 어떻게 보면 박사 학위를 받으면 오히려 기회가 줄어들 수도 있어요. 뭔가를 정말 하고 싶은데 박사 학위가 있으면 분에 넘치는 사람이라고 생각하고, 기분 좋게 일하지 않을 거로 생각해서 그 일을 주지 않을 수도 있으니까요. 하지만 석사 학위 정도면 그런 일은 걱정하지 않아도 되고, 다른 사람들과 차별화될 수 있죠. 꼭 학위가 있다는 게 중요한 게 아니고 자기가 관심 있는 분야, 자신이 추구하고자 하는 방향에 대해 조금 더 깊이 있는 지식을 가지고 있다는 증거가 되니까요.

 

톰 멀로이 (Adobe 최고 소프트웨어 아키텍트)

소프트웨어 분야에서 앞으로 10-15년 이내에 긍정적으로든 부정적으로든 영향을 끼칠 만한 변화로는 어떤게 있을 것으로 생각하나요?

순수한 소프트웨어 회사와 소프트웨어 쪽에 핵심 경쟁력을 가진 하드웨어 또는 서비스 회사가 혼합되는 쪽으로 갈 겁니다. 따라서 후자 성향의 회사에서 일하는 소프트웨어 엔지니어가 더 많아질 거에요.

 

제임스 고슬링

컴퓨터 공학으로 석박사 학위를 받으셨는데요, 석사나 박사 학위가 전문가로 살아가는데 있어서 중요하다고 생각하시나요?

물론입니다. 학사 학위만 있는 사람을 뽑을 때와 박사 학위를 가진 사람을 뽑을 때는 전혀 다른 방식으로 뽑습니다. 특히 어느 자리에서든 상당한 전문지식이 반드시 필요한 썬 같은 회사에서는 더욱 그렇죠. 하지만 자리마다 요건이 다른 겁니다. 심도 있는 전문지식을 필요하지 않은 자리도 많죠. 개인적으로 보자면 회사에서 일하면 훨씬 많은 돈을 받는데도 박사 과정 동안, 대학원 생활을 하던 시절이 제 평생 가장 재미있게 일하던 시절이었던 것 같습니다. 정말 대학원생 시절로 돌아가고 싶어요. 제 친구 중 몇은 정말 그렇게 하기도 했는데, 부럽습니다. 깊이와 폭의 문제인 것 같아요. 학사 학위만 마친 사람은 알고리즘 같은 것에 대해서 피상적으로만 이해하는 편입니다. 알고리즘 분석 분야로 대학원에 다녔다면 훨씬 더 잘 알 것입니다. 특히 좋은 교수님 밑에서 배웠다면 더욱 그렇겠죠.

 

김민장 (퀄컴 입사자)

책 발간 전, 블로그를 통해 접했던 김민장 님의 미국 내 S/W 엔지니어로서 취업기. 참 재밌게 읽었는데 이 책에도 실려서 반가웠다. 시간을 내 볼만한 가치가 충분한 글! 블로그 링크 참조

 

 

인터뷰 외 내용들 중 PICK

 

소프트웨어 분야에서 성공하는 사람들의 '매우 분명한' 공통점

  • 목표 지향적이다.
  • 감성 지능이 높다.
  • 엄청나게 똑똑하다.
  • 자기 분야의 전문성을 가지고 있다.
  • 놀랄 만큼 집요하면서도 예의는 갖출 줄 안다.
  • 자신이 하는 일을 사랑한다는 점이다. 그건 원인이면서 동시에 결과였다.

 

소프트웨어 회사를 살펴볼 때는 생각해야 할 열 가지

  • 전문적인 고품질 시스템을 만든 경험이 있는 회사인가?
  • 뭔가 배울 만한, 진정 재능을 갖춘 사람이 있는 회사인가?
  • 내가 들어갈 자리가 흥미로운 자리이고, 내가 믿을 수 있는 것과 관련하여 장기적인 성장 가능성을 가진 자리인가?
  • 성공하기 위한 필요조건을 제대로 이해하고 실제 성공 실적을 가진, 상식에 맞게 행동하는 경영진이 있는 회사인가?
  • 자기가 생각하는 제품에 대한 비전을 분명하게 가지고 있는 회사인가?
  • 독립 연구 조직이 있는 회사인가?
  • 어떻게 혁신하는 회사인가? 얼마나 근원적인 혁신을 이뤄낸 회사인가?
  • 쾌적하고 유연한 업무 환경을 갖추고 있는가? 내 라이프스타일과 어울리는 회사인가?
  • 회사가 안정적일 것 같은가? 10년 후에도 존속할 수 있는 회사라는 믿음이 가는가?
  • 업계 표준에 걸맞은 수준의 급여를 지급하는 회사인가?

 

구직시 고려사항

금전적 이득

  • 월급
  • 보너스(평균 기대치)
  • 스톡 옵션
  • 스톡 그랜트
  • 생명, 의료, 치과, 안과 보험
  • 차량지원(차량, 유류비, 보험료)
  • 헬스장
  • 해외 출장
  • 집 인터넷 사용료 지원
  • 휴대전화, 스마트폰 사용료 지원
  • 퇴직 연금
  • 자동차, 주택 단체 보험율

비금전적 이득

  • 일 자체에 대한 만족도
  • 회사의 장기 안정성
  • 회사의 과거 경력
  • 혁신과 연구에 대한 회사의 명성(및 기반)
  • 전문가로서의 성장 기회
  • 승진 기회
  • 경영진의 자질
  • 업무 환경(개인 사무실/큐비클, 복장 자율성, 업무 강도 등)
  • 근무 유연성 (근무 시간 및 장소)
  • 유능한 동료
  • 회사 위치(출퇴근 시간, 회사 소재지 환경)

 

현재 프로그래밍 언어와 플랫폼의 인터넷 검색 빈도

  1. 자바
  2. C
  3. C++
  4. .NET
  5. PHP
  6. 비주얼베이직
  7. 파이썬
  8. C#
  9. SQL
  10. 이클립스
  11. 자바스크립트
  12. HTML
  13. 루비
  14. XML
  15. 델파이
  16. SAS
  17. PL/SQL
  18. 코볼
  19. 파스칼
  20. AJAX
  21. J2EE
  22. CSS

 

 

Fine. thyng.

 

[맨 위로]