원문보기

Joel on Software


개발자 생태보고서
A Field Guide to Developers

by Joel Spolsky

 
Thursday, September 07, 2006

2009/04/25 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 1 (A Field Guide to Developers)
2009/04/25 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 2 (A Field Guide to Developers)
2009/04/29 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 3 (A Field Guide to Developers)
2009/04/30 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 4 (A Field Guide to Developers)
2009/05/02 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 5 (A Field Guide to Developers)

내가 어떤 일을 하게 되는가?

  덧붙여서, 개발자들을 끌어들일 수 있는 가장 좋은 방법 중 하는 그들이 재미있는 일을 하게 하는 것입니다. 아마도 이 것이 가장 바꾸기 어려운 것일 겁니다. 빌어먹을 일이지만, 만약 여러분이 자갈과 모래 같은 ( = 콘크리트 같이 딱딱한) 산업을 위한 소프트웨어를 만드는 일을 한다면, 그것이 여러분의 사업분야 입니다. 이런 일을 하면서는 개발자들을 끌어들이기 위하여 멋진 인터넷 벤처기업인 척하기는 어렵습니다.

  개발자들이 선호하는 또 다른 일은 추수감사철 만찬에서 Irma 이모에게 설명할 수 있을만큼 간단하고 유명한 일을 하는 것입니다. 물론, Irma 이모는 핵물리학자일 수도 있고, 모래와 자갈 산업을 위한 Ruby 프로그래밍에 대해서 정말로 많이 알지 못하는 분일 수도 있습니다. (역자주 : 비슷한 예가 있죠.  CNS나 SDS 다닌다고 하면 친척들에게 어떤 회사를 다닌다고 쉽게 설명 하기가 쉽지 않다고 하시더군요. "그냥 컴퓨터로 뭐 하는 회사에요"라고 설명하면 친척분들이 "우리 아들한테 컴퓨터를 한대 사주려고 하는데..." 라던지 "우리집 컴퓨터가 갑자기 느려졌어" 같은 질문들을 하신다고 하더군요.)

  마지막으로, 많은 개발자들은 그들이 일하는 회사의 사회적 가치를 바라보기 시작했습니다. 소셜 네트워킹(Social networking) 회사나 블로그(Blog) 관련 회사들은 사람들이 하나로 모일 수 있도록 도와주며, 실제로 공해를 만들지 않습니다.  그래서 정밀유도무기산업이나 도덕적으로 위협이 되는 회계 부정관련 회사에 다난 것 보다 이런 일이 더 인기가 있는 것 같습니다.

  불행하게도, 평범한 채용 책임자가 이런 종류의 일을 위해 어떤 일을 할 수 있는지 전혀 생각이 나지 않습니다. 여러분은 여러분의 제품 라인업을 쿨 한 제품을 만드는 것으로 바꾸기 위해 노력할 수는 있겠지만, 실제로 실행하기에는 너무 어려운 방법입니다. 몇몇 회사들은 다음과 같은 방법들을 시행하고 있습니다. 

  ●  상위 지원자들에게는 그들이 참여할 프로젝트를 선택하게 하십시요. 

       오랬동안, Oracle은 MAP : the Multiple Alternative Program(복수의 대안 제도)를 시행하고 있습니다.이것은 매년 대졸 구직다들 중 상위 지원자들에게 제안되었습니다. 이것은 구직자들이 Oracle에 와서 한 두 주동안 둘러보고, 모든 그룹을 공개해서 방문해보면서 그들이 일하고 싶은 그룹을 선택하는 제도입니다. 

        Oracle에 계셨던 분이 이 제도가 좋은지 나쁜지 더 잘아시겠지만, 제 생각에는 이것은 좋은 생각입니다. 

  ●  필요하지 않더라도 멋진 새 기술을 사용하십시요.

       뉴욕에 있는 큰 투자은행은 프로그래머들에게 꽤 터프한 곳으로 알려져 있습니다. 끔찍한 일, 장시간 노동, 시끄러운 환경 그리고 독제자형 상사들이 이곳의 근무 조건입니다. 증권과 채권을 직접 팔고 거래하는 테스토스테론에 미친 유인원들이 3천만 달러의 보너스와 (종종 근처에 있던 프로그래머가 배달해 주는)치즈버거를 받는 회사의 왕족인 반면에 프로그래머들은 분명히 구별되는 3등 시민입니다. 이것이 일반적인 모습입니다. 어쨌든, 최고의 개발자들을 유지하기를 위하여 투자은행들은 두가지 전략을 세웠습니다. 막대한 보수(tons of money)를 주는 것과 프로그래머들이 무엇이든 몇번이고 그들이 배우고 싶어하는 새로운 프로그래밍 언어로 다시 작성할 수 있도록 자유를 주는 것입니다. 전체 거래 프로그램을 Lisp로 다시 짜고 싶습니까? 그건 마음대로 하세요. 가서 치즈버거나 사와요. 

       몇몇 프로그래머들은 어떤 프로그래밍 언어를 쓰던지 거의 신경쓰지 않습니다. 하지만 대부분은 흥미로운 새로운 기술을 가지고 일해볼 수 있는 기회를 원합니다. 오늘날에는 Phyton이나 Ruby on Rails일 것입니다. 3년전에는 C#이었고, 그 전에는 Java였습니다.

        지금 저는 여러분에게 작업을 위한 최고의 툴을 이야기하는 것이 아닙니다.  저는 여러분이 2년마다 뜨거운 오늘의 언어(역자주 : 오늘의 요리의 패러디 language-du-jour ) 로 프로그램을 다시 작성해야 한다는 이야기를 하는 것도 아닙니다. 하지만 여러분의 개발자들에게 새로운 언어나 프레임워크나 기술에 관하여 경험할 수 있는 기회를 줄 수 있다면, 그들은 더 행복해질 것입니다. 여러분이 핵심 프로그램은 감히 다시 작성하고 싶지 않을지라도, 내부 도구 프로그램이나 (Internal tools)나 크리티컬하지 않은 새로운 어플리케이션을 연습과제(Learning project)로써 새로운 언어로 작성해보게 하지 않을 이유는 없지 않습니까?


(7부에서 계속)
PS. 드디어 막바지 입니다. 7부에서 끝날 것 같습니다. 

저자에 관하여

Posted by 지그프리드 지그프리드

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


원문보기

Joel on Software


개발자 생태보고서
A Field Guide to Developers

by Joel Spolsky

 
Thursday, September 07, 2006

  - 이전글 보기 : 개발자 생태보고서 1
  - 이전글 보기 : 개발자 생태 보고서 2
  - 이전글 보기 : 개발자 생태 보고서 3
  - 이전글 보기 : 개발자 생태 보고서 4

  ●  독립과 자치

         제가 1999년 Fog Creek Software를 시작하기 전에, Juno에서 그만 두고려할 때 인사과에서 일반적인 퇴직 면접을 가졌습니다. 그리고 어쩐지, 뭔가에 홀린듯이 인사부서 사람에게 회사의 모든 경영이 잘못되었다고 말하게 되었습니다. 어떤 부분들은 저한테 전혀 이득될 것이 없고, 분명히 손해만 될것임에도 불구하고 저는 말해버렸습니다. 제가 불만을 표햇던 가장 큰 부분은 Juno 사의 히트 앤 런 방식의 경영 스타일이었습니다. 대개의 경우,  여러분도 아시다시피, 경영자는 사람들이 혼자서 조용히 그들이 업무를 완수할 수 있도록 내버려둬야 합니다. 하지만 때때로, 그들은 어떤 일의 아주 세세한 부분에 관여하여 그 일이 자신들이 원하는 방법 그대로 수행되어야 한다고 주장합니다. 이유도 없이 말이죠. 그리고는 그들은 또 다른 업무의 세세한 부분을 관리하여 합니다. 결과가 나타날 때 까지 충분히 기다리지도 않습니다. 예를 들면, Juno에 가입하는 입력창에 날짜가 어떻게 입력되야 하는지에 관해서 CEO부터 제 직속 상관까지 모든 사람들이 떠들고 다녔던 2~3일간의 짜증났던 기간을 기억합니다. 그들은 UI 디자이너로 훈련된 적도 없으며, 제게 이 이슈에 대하여 특정한 경우에 대하여 이해할 수 있도도록 설명할 시간도 없었습니다. 그렇지만, 그건 아무래도 좋습니다. 경영진은 이 이슈에 대하여 그들의 주장을 굽히려 하지 않았고, 제 반론을 들을 생각조차 안했습니다.

        기본적으로 여러분이 똑똑한 사람을 고용하고 싶으시다면 그들이 그들의 기술을 업무에 적용할 수 있도록 하셔야 합니다. 그들이 원한다면 경영진이 조언을 할 수도 있지만, "조언"이 명령으로 통역되는 일이 없도록 대단히 신중하셔야 합니다. 여러분이 좋은 사람들을 고용하셨다면, 기술적 이슈에 관하여 경영진은 최전선의 기술자들보다 아는 것이 적을 것입니다.

        개발자들은 그들의 기술 때문에 고용되기를 원하며, 전문가로 대접받고 그들의 전문분야에서 결정권을 갖기를 원합니다. 

  ●  정치는 안됨

        실제로, 정치는 두 명 이상의 사람이 모인 곳에서는 어디에서나 일어납니다. 자연스러운 일입니다. 제가 말하는 "정치는 안됨" 의 진짜 의미는 "역기능하는 정치는 안됨" 입니다. 프로그래머들은 매우 예민한 정의감을 갖고 있습니다. 코드는 동작할 수도 있고, 그렇지 않을 수도 있습니다. 코드를 테스트해서 버그를 찾으면 되기 때문에, 버그가 있는가 없는가에 대해서는 논쟁이 필요 없습니다. 프로그래밍의 세계는 매우 정확하고 엄격하게 질서가 잡혀 있습니다. 그리고, 수없이 많은 사람들이 프로그래밍의 세계로 발을 들여놓는 첫번째 이유는 정확하고, 순위가 분명하고, 실력위주의 사회에서 다른 논쟁없이 단지 '옳기" (Being right) 만 하면 승자가 될 수 있기 때문입니다.

       이것이 프로그래머들을 끌어들이기 위해 여러분이 만드셔야하는 환경중 한가지 입니다. 한 프로그래머가 "정치"에 관하여 불만을 이야기 한다면, 그것은 아주 정확하게 말해서, 기술적인 문제보다 더 심각한 문제란 뜻입니다. 단지 사장님이 좋아하기 때문에 업무를 수행하기 위한 최선의 언어가 아닌 특정 프로그래밍 언어를 사용하라는 말 보다 개발자를더 화나게 하는 것은 없습니다. 어떤 사람을 승진 시킴으로써 얻을 수 있는 분명한 이점보다 인간관계 능력에 의해 사람들이 승진하는 것보다 개발자들을 미치게 만드는 것은 없습니다.  조직에 높은 자리에 있는 분이나, 높은 분과 친한 사람에 의해서 기술적으로 떨어지는 일을 하도록 지시를 받는 것보다 개발자들에게 더 적대적인 것은 없습니다. 

     
       정치적인 이점을 잃어버릴지라도 기술적인 이점을들어 논쟁에서 승리하는 것 보다 더 개발자들을 만족시키는 것은 없습니다. 제가 Microsoft에서 일하기 시작했을 때, MacroMan이라는 그래픽 매크로 프로그램을 위한 프로그래밍 언어 프로젝트가 있었습니다. 이 프로젝트는 메이져급 프로젝트였지만 방향을 잘못 잡은 프로젝트 였습니다. 이 프로그래밍 언어는 진짜 프로그래머들을 좌절시켰는데, 그래픽 환경이 실제로 반복문이나 조건문을 구현할 수 있는 방법을 제공하지 못했습니다. 뿐만아니라, 프로그래머가 아닌 사람들이 알고리즘을 만드는데도 도움이 되지 못했습니다. 제가 MacroMan에 관하여 이의를 제기했을 때, 제 보스는 "누구도 열차를 탈선시킬 수는 없다네. 포기하게" 라고 말했습니다. 하지만 저는 계속해서 논쟁하고 논쟁하고 논쟁해서  - 저는 당시 대학을 갓 졸업했을 대였고, Microsoft의 누구와도 인맥이 없는 상태였습니다 - 마침내 사람들이 제 이야기를 듣게 되었고 MacroMan 프로젝트는 종료되었습니다. 제가 어떤 사람이었느냐가 문제가 아니라, 제가 옳았다는 것이 중요합니다. 이것이 프로그래머들에게 기쁨이 되는 비정치적인 조직입니다. 


  대체로, 여러분의 조직의 사회적 역동성에 초점을 맞추는 것은 건강하고 즐거운 직장을 만드는데 핵심 입니다. 그리고 이러한 직장이 프로그래머들을 유지하고, 끌어들일 것입니다.  (역자주 : 미국에서는 이직이 매우 흔한 일로, 현재 일하고 있는 개발자들을 유지(Retain)하는 것이 새로운 프로그래머를 뽑는 것 만큼이나 중요한 일입니다.)


(6부에서 계속)

PS. 이번 글은 엄청나게 길군요.

저자에 관하여
Posted by 지그프리드 지그프리드

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


BLOG main image
일상, 프로그래밍, IT 그리고 직장생활, Dive, 여행 by 지그프리드

카테고리

Class List (402)
Studies (30)
Exercise & Quizz (10)
Term Project (0)
ECIM list (Help!) (10)
Issues & News (0)
Gossip about IT & Job (22)
Tools (2)
Think about the Justice (23)
Book Review (170)
조엘 온 소프트웨어(번역) (28)
Diary (87)
Vacations (9)
Clash of clans 클래시 오브.. (11)

글 보관함

달력

«   2020/02   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
Total : 316,427
Today : 10 Yesterday : 13