“직접 나서서 일일이 코딩하지 말고, 팀원을 시키란 말이야!”
10년이 지나 프로그램이 무엇인지 알 때쯤 되니 회사에서 또 다른 임무를 준다. 더 이상 혼자서 키보드와 모니터에 빠져있지 말고, 뒤따라오는 후배들을 도와주라고 말이다. 사실 팀을 관리하라고 하는 것이 맞을 듯싶다. 아직 소스코드와 못다 한 로맨스가 남아있어서, 프로그래밍에 대한 미련을 버리지 못해서 예전처럼 코딩을 할 때면 상사에게 구박을 받곤 한다.
안타깝게도 우리나라 IT업계에서는 프로그래머를 위한 커리어 패스가 '주니어 프로그래머 → 시니어 프로그래머 → 고급 프로그래머'가 아니라 '프로그래머 → 중간관리자 → 경영진'으로 이뤄져 있다. ‘프로그래밍만’ 잘하면 되는 것이 아니라, ‘관리도’ 잘해야 하는 것이다. 그래서 프로그래머는 중간관리자로 넘어가지 못하면 도태되고 만다. 이러한 구조로 인해 프로그래머가 어느 순간 중간관리자가 되는 일은 피할 수 없다. 그리고 이때 가장 부족하다고 느끼는 점이 바로, ‘리더십’이다.
이 책은 ‘백발이 성성할 때까지 프로그래머로 남고 싶다’고 생각했던 저자가 중간관리자가 되어 겪은 지식, 경험, 노하우, 그리고 리더십에 대한 얘기다.
【어떤 독자를 위한 책인가?】
- 프로젝트 관리자(중간관리자)
- 시니어 프로그래머
【이 책의 구성】
이 도서는 리더십을 위한 지식이 아니라 시니어 프로그래머와 프로젝트 관리자(PM)로 저자가 프로젝트를 진행하면서 경험한 내용을 담고 있다. 그래서 교과서처럼 전반적인 내용을 담고 있는 것이 아니라 주관적으로 중요하다고 느낀 점들을 옴니버스식으로 담고 있다. 지금부터 프로그래머의 특성을 알아보고, 프로그래머에게 지지를 받기 위한 리더십에 대해 구체적으로 알아보자. 프로그래머가 리더십을 발휘하기 위한 필수 요소로 다음 네 가지가 중요하다.
- 프로그래머와 리더십의 이해
- 프로젝트 관리
- 리더의 소통
- 리더의 자기 계발
1장에서는 리더십의 필요성과 의미, 영향력의 원천에 관해 다룬다. 또, 프로그래머의 성향과 특수한 문화를 알아본다. 이런 특수성으로 인해 발생하는 문제와 대응방법을 통해 리더십을 어떻게 발휘할 것인지에 대해 알아본다.
2장은 프로젝트를 성공하기 위한 자원관리 방법과 유용한 팁으로 구성했다. 많이 알고 있는 소프트웨어 공학의 교과서적인 접근보다 프로젝트 진행 시 경험하고 공유하고 싶은 내용으로 설명한다.
3장은 조직관리를 효율적으로 하는 방법과 커뮤니케이션 방법을 다룬다. 리더로서 필요한 마음가짐, 팀원들과 원활한 의사소통을 위한 팁, 피해야 할 행동에 관해 소개한다. 인재양성을 위한 기술교육의 필요성과 개인주의 성향이 물씬 묻어나는 요즘 신세대 주니어 프로그래머에 대한 이해를 돕는다. 기술교육은 팀의 능력을 향상시키고 리더의 영향력을 높이는 중요한 요소이며 주니어 프로그래머의 개인주의적인 성향은 어쩔 수 없는 시대의 흐름이기에 이들에 대한 이해가 필수적으로 요구된다. 변화한 주니어 프로그래머의 성향을 이해하고, 공감대를 형성해서 팔로우십을 얻기 위한 경험에 관해 말하고 있다.
마지막으로 4장에서는 리더로서 주도적으로 자기 계발을 하고, 급변하는 IT 환경에서 용기를 가지고 적응하기 위한 마음가짐을 강조했다. 리더로서 모범을 보이고 앞서가는 데 필요한 점들을 소개한다. 프로그래머가 놓치기 쉬운 부분을 강조한다.
이처럼 이 책에서는 척박한 소프트웨어 개발환경에서 프로그래머의 리더십을 발휘하기 위한 네 가지 요소에 대해 알아보고, 저자가 겪은 그 동안의 경험과 생각을 함께 공유하고자 한다.