[5분만에 책 한권 읽기] 프로그래머의 리더십 (어느날 갑자기 프로젝트 관리자가 되었다. 뜨~아악!)-정영훈

|
프로그래머의 리더십
국내도서
저자 : 정영훈
출판 : 한빛미디어 2015.01.05
상세보기



프로그래머의 리더십 (어느날 갑자기 프로젝트 관리자가 되었다. 뜨~아악!)-정영훈



+어느정도 개발년차가(3년이상~) 된 개발자에게 꼭 권하고 싶은 책중에 하나다.

하나 하나 챕터들 모두 그냥 넘기기 아깝다. 5년차를 넘어서 서서히 중간관리자로 넘어가는 사람에게는 특히 도움이 많이 된다.이 책을 읽으면서 저자에게 고마운 마음이 많이 들었다. 저자는 단순히 책을 내서 금전적인 이득도 생각했겠지만 책을 읽다보면 그런 의도보다 선배 개발자로써 후배 개발자들에게 친형처럼 조언을 해주는 느낌을 많이 받았다. 진심으로 본인이 경험과 노하우를 전달해주려는 마음이 많이 보였다.



[핵심적인 내용들]


1.같은 업종이나 회사에서 일한 지 3년 정도가 되면 기술자로서 알아야 하는 지식 중 98%를 습득할 수 있게 된다.3년차 프로그래머와 10년차 프로그래머가 와성한 소프트웨어의 품질은 외관상으로는 쉽게 느낄 수 없다. 하지만 소프트웨어를 운영해 보면 안정성과 유지보수의 편리함에서 크게 다른 것을 알 수 있다. 전문가와 기술자를 구분하는 2%의 기술 차이는 7년 이상의 경험으로 채울 수 밖에 없다. 전문가는 다 채우지 못한 2%를 위해 최소 7년이상을 자신만의 노하우를 만들고 실력을 갈고 닦으며 보낸다. 


2.프로그래머의 일반적 요구사항

  2-1.금전적 요소 : 적절한 연봉, 업무 강도, 시간의 적설함, 근무환경과 처우

  2-2.지적 요소 : 기술, 노하우 습득 환경, 성정을 느낄 수 있는 프로젝트, 회사에 기여하고 인정받을 수 있는 업무


기술과 노하우 전수를 통해 프로그래머의 만족도를 높이는 것이 더욱 효과적인 전략이다.프로그래머는 지적 욕구와 성장에 대한 기대가 많아서 기술에 대한 갈망이 상당히 크다. 


3.매슬로우 욕구 5단계


 -1단계/2단계/4단계는 회사  경영층에서 관리하는 요소로 중간관리자인 리더가 할 수 있는 권한이 적은 경우가 많다. 하지만 이런 부분까지 개선할 수 있다면 더 쉽게 리더십을 발휘할수있다.


 -리더로써 좀 더 집중할 부분은 3단계의 사회적 욕구와 5단계의 자기 발전의 욕구다. 사회적 욕구에는 소속감이 있는데 팀원들이 잘 조화롭게 팀에 동화될 수 있게 역할이 필요하다. +마지막 단계인 자아실현에서도 끊임없이 자기 계발을 할 수있는 환경을 조성해주고 외부교육 및 내부교육을 통해서 지속적인 자기 계발을 할 수 있도록 해야한다.



4.리더는 점점 성장하는 팀원이 자신의 자리를 위협하는 것을 크게 두려워 할 필요가 없다. 팀원이 리더를 뛰어 넘을 확률은 10%에 지나지 않는다팀원이 치고 올라오는 것을 두려워해서 앞길을 막는 전략은 하책이다. 


5.리더는 새로운 업무에 대한 정보가 확실해질 때까지 프로그래머에게 통보하지 않고 지금 프로그래머가 한창 진행하는 작업이 완료될 때까지 기다려야한다. Context Switching이 발생하기 때문이며, 해당 정보가 나중에 취소나 변경이 될 가능성이 있기 때문이다. +또한 실제 개발자들이 외부 고객사로 부터 전화대응을 직접적으로 하지 않게 해야한다. 중소 기업의 경우에는 DevOps를 하는경우가 많은데, 개발중에 전화대응을 하게 되면 아무리 사소한 일이라도 업무가 중단이 되고 다시 코드베이스로 돌아가서 작업이 바로 진행이 되지 않는경우가 많다. 최소한 외부의 전화를 받아서 전달해주는 직원이 필요하며 개발자는 긴급한 내용이 아니라면 나중에 몰아서 처리하는것이 좋다.


6.리더가 담당해야 할 중요한 임무 중 하나는 인재 양성이다. 프로그래머의 업무능력을 키우기 위해서는 실전을 자주 접할 수 있게 해주는 것이 필요하다. 그러니 주니어 프로그래머에게 개발만 시키지 말고 고객의 요구사항을 직접듣게 하고, 유관부서와 협의 미팅에 참석하게 하자. 


7.Pair Programming:모니터 하나를 두고 직접 코딩하는 프로그래머와 코딩하는 프로그래머 뒤에서 검토해주는 프로그래머가 한팀이 되어 프로그래밍 하는것. 생산성이 40%증대 된다. 또한 주니어를 시니어가 교육하기에 좋으며 부담감도 줄어들게 된다. 


8.프로젝트 문제가 발생시  대안없이 팀원들과 위기 상황을 공유하지 말고, 정답은 아니지만 대안을 먼저 제시한다. 


9.프로그래머가 기술적 어려움을 호소할 때 대처방법

   9-1.답을 모를때 : 가이드 제시 , 브레인 스토밍 , 위임(좋지 않음)

   9-2.답을 알때 : 단서를 제시(시니어),정답을 알려줌(주니어),직접 해결(좋지 않음, 납기가 촉박할 때만 사용)


10.프로그래머는 원인과 과정이 확실한 논리적인 말을 중요시한다. 프로그래머는 단답식으로 짧게 중요한 포인트만 들어 있는 대화를 좋아한다. 일과 크게 관련 없는 구구절절한 대화를 좋아하지 않는다. 


11.팀원이 언제나 좋아하고 편히 여기는 리더는 이 세상에 없다. 회식에 참석하여 계산만 하고 바로 가는 것이 정답.


12.론다번의 저서 '시크릿'을 보고 깨어나게 되었는데, 한줄로 요약하면 상상한 것은 현실화 되어 돌아온다.  또한 꿈꾸는 다락방 책도 좋음. +역시 NLP의 힘을 여기에서도 느끼네요.


13.내 밥그릇을 깨 뜨리자.훗날 도태된 기술이 됨, 혼자 보수하기 번거로움,문제 발생시 대신 해줄 사람이 없음.

  뒤처지기 전에 자신의 새로운 기술을 빨리 익히고 경쟁하면 된다.


14.프로페셔녈 프로그래밍에 보면 10년 이상의 프로그래머는 글을 써야 한다고 나와있다. 노하우나 경험을 담아서 후배 프로그래머에게 전해주자.


15.을의 처지에서 무시를 당하는 것이 패배가 아니다. 무시를 당하고도 고난을 통한 인성의 발전과 실력 향상이 없는 것이 진정한 패배다. 

And