[서평 작성] 소프트웨어 엔지니어 가이드북

안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 소프트웨어 엔지니어 가이드북을 읽고 서평을 진행해보도록 하겠습니다. 처음에는 책이 너무 두꺼워서 다 읽을 수 있을까 걱정도 많이 했습니다. 그런데 IT에 종사하는 사람이라면 생각보다 쉽게 읽을 수 있고, 각 직급별 행동양식과 같이 기록되어있어서 도움을 많이 받았습니다.

책은 크게 6부로 나뉘어 있습니다.

목차

  • 1부 : 개발자 커리어의 기본 사항
  • 2부 : 유능한 소프트웨어 개발자
  • 3부 : 다재다능한 시니어 엔지니어
  • 4부 : 실용주의 테크리드
  • 5부 : 롤모델로서의 스태프 및 수석 엔지니어
  • 6부 : 결론

1부와 6부의 내용은 초급 소프트웨어 개발자부터 수석급 이상 엔지니에 이르기까지 모든 레벨에 적용되는 부분이 기록되어있습니다.

2부에서 5부까지는 대리, 과장, 차장, 부장 직급에게 요구되는 느낌으로 순서대로 읽는 느낌이 좋았습니다. 각 레벨별로 요구되는 요구사항 내지는 행동양식이 기재되어있어서 어떤부분들을 염두하고 다음 레벨로 넘어갈지를 고민할 수 있을 것 같습니다.

그럼 본격적으로 각 챕터별로 간단하게 리뷰를 해보겠습니다.

서평

1부 : 개발자 커리어의 기본 사항

모든 연차, 모든 레벨에 통용되는 부분을 설명하고 있습니다. 개발자의 커리어 패스에 대해서 설명을 합니다. 싱글 트랙과 듀얼 트랙에 대해서 소개를 하고 이를 읽는 독자라면 본인이 어떠한 커리어 패스를 가져갈지 고민을 해볼 수 있을 것 같습니다.

커리어 관리 부분에서는 와닿는 이야기들이 많았습니다. 특히나 커리어를 관리하는것은 온전히 본인이라는 것을 꺠달아야 한다는 것입니다. 그리고 이러한 커리어 관리를 위한 방법들에 대해서 소개를 하고 있습니다. 가령 업무를 완수하고 이를 알리기 위한 노력들에 대해서 소개를 하고 있습니다. 굉장히 기본적이면서도 어떻게 하면 사내에서 인정받고 커리어를 관리할 수 있을지를 설명하고 있습니다.

커리어 기본 사항중 승진부분도 관심이 많이 갔습니다. 직장 생활하면 연봉과 승진 아니고서는 특별히 다닐만한 이유가 없을것 같다는 생각을 합니다. 개인적으로도 승진에 대해서 생각을 많이 하게 되는데요. 책에서는 승진을 위한 조언을 가감없이 나타내고 있습니다. 위의 내용과 연계 되는 부분도 있는데요. 결국 커리어 관리를 잘하고 동료와 좋은 관계를 맺으며 매니저와 좋은 관계를 맺는 것입니다.

2부 : 유능한 소프트웨어 개발자

이 파트부터는 앞서 이야기한대로 각 레벨 혹은 직급별로 순서대로 읽으면 좋을것 같다는 생각을 해봤습니다. 즉, 해당 챕터는 대리급 직급에 해당하는 내용으로 파악을 했습니다. 보통 초급 소프트웨어 개발자라고도 칭하기도 합니다. 초급 소프트웨어 개발자에게 거는 기대는 다음과 같습니다.

  • 범위 : 단위 작업 또는 소규모 프로젝트
  • 업무 완수하기 : 막혔을 때 도움 요청하기
  • 소프트웨어 개발 : 팀 개발 관행을 따름
  • 소프트웨어 아키텍처 : 팀 관행을 따르고 디자인에 대한 피드백을 구함
  • 협업 : 팀의 다른 개발자

위의 내용을 보면 팀내에서 시니어 개발자가 구축해 놓은 내용 혹은 팀내의 관행을 따르며 팀내의 다른 개발자들과 협업을 하는 내용입니다.

3부 : 다재다능한 시니어 개발자

이 챕터부터는 업계에서 5 ~ 10년 정도 근무를 한 엔지니어에 대해서 소개를 하고 있습니다. 필자가 생각하기로는 대리말 ~ 과장급 정도를 설명하는 것으로 이해했습니다.

일반적으로 시니어 레벨의 개발자들에게는 다음의 기대치를 갖고 있습니다.

  • 범위 : 중간 규모 이상의 복잡한 프로젝트
  • 업무 완수하기 : 스스로 막힌 부분을 해결
  • 소프트웨어 엔지니어링 : 팀 관행을 따르고 때로는 이를 개선
  • 소프트웨어 아키텍처 : 자신이 이끄는 프로젝트의 아키텍처를 설계하고 피드백을 구함
  • 엔지니어링 모범 사례 : 팀에 도움이 되는 관행을 따르고 소개

일반적으로 주니어 소프트웨어 개발자보다는 좀더 넓은 범위의 프로젝트내에서 독자적으로 수행할 수 있는 능력을 보유한 엔지니어로 이해를 하고 있습니다.

시니어 엔지니어로 인정을 받기 위해서는 다음 두가지 능력이 필요하다고 설명하고 있습니다

  1. 복잡한 엔지니어링 문제를 실용적인 방식으로 해결하는 능력
  2. 동료 및 매니저와 업무 진행 상황, 직면한 장애물, 장애물에 대한 해결책, 복잡성 등 업무에 대한 커뮤니테이션을 하는 능력

이 챕터를 읽으면서 들은 생각은 다재 다능하다라는 의미가 단순히 기술력이나 업무 능력보다도 주변 사람들과의 협업 능력 그리고 영향력을 갖춘 엔지니어라고 생각하게 됐습니다. 단순히 시간이 지나서 시니어가 된다기보다는 이런부분들도 염두해두면서 시니어가 된다면 좀더 격에 맞는 엔지니어로 성장할 수 있지 않을까 생각합니다.

4부 : 실용주의 테크리드

이 챕터에서는 시니어 개발자에서 한발 더 나아가 프로젝트의 리더거나 엔지니어링 팀에서 모든 프로젝트를 총괄하는 사람을 테크리드라고 부른다고 되어있습니다. 테크리드에 대한 기대치는 시니어 엔지니어에 대한 기대치와 비슷하며, 프로젝트를 주도하는 역할이 추가됩니다. 또한, 사람들을 관리할 필요는 없지만 다른 팀원들이 좀더 잘 적응하도록 돕는 고나리 책임을 맡는 경우가 많습니다.

테크리드는 한번에 여러 가지 일의 균형을 맞춰야 한다고 되어있습니다. 다음은 테크리드에게 거는 기대치입니다.

  • 프로젝트 또는 엔지니어링 팀 이끌기
  • 팀원들의 역량 강화 및 막힌 문제 해결 지원
  • 이해관계자, 제품, 심지어 매니저에게 최신 상황 정보 제공
  • 코딩, 코드 리뷰, 온콜 등 개별 기여자(IC) 업무 수행에 대한 롤모델

팀 전체에 높은 품질 기준을 유지하려면 가장 좋은 방법은 솔선수범해 고품질의 결과물을 만들어 내는 것입니다. 필자가 생각하는 가장 이상적인 모습이 테크 리드로 생각을 하고 있습니다. 하지만 책을 읽으면서 스스로도 부족한 점을 알게 됐고, 보완을 어떤식으로 해야할지 느끼게 됐습니다.

무엇보다도 다음 문장이 가장 크게 와닿았습니다.

최고의 테크리드는 자신이 다른 엔지니어보다 우월하다고 생각하지 않는다.

리드라는 직책 혹은 역할이 단순히 위엄있는것이 아니라 팀을 좀더 효율적으로 만들고 모두가 정당한 발언권을 가지며 다른팀원들이 일을 더 잘할 수 있도록 하는데 있다고 생각하게 됐습니다.

5부 : 롤모델로서의 스태프 및 수석 엔지니어

사실 이쪽은 직급으로 치면 부장급에 해당하는 역할로 이해를 하게 됐습니다. 시니어 엔지니어의 바로 위의 직급은 흔히 스태프 엔지니어 또는 수석 엔지니어라고 부릅니다.

스태프 엔지니어에게 거는 기대치는 다음과 같습니다.

  • 범위 : 자신이 속한 그룹 및 회사 내 복잡한 프로젝트
  • 업무 완수하기 : 자신과 자신이 속한 팀이 막힌 부분을 해결
  • 소프트웨어 엔지니어링 : 그룹 전체에서 모범 사례를 수립하고 개선
  • 소프트웨어 아키텍처 : 그룹 자춴의 문제를 해결하기 위해 실용적인 기술 및 아키텍처를 선택
  • 엔지니어링 모범 사례 : 그룹이 더 잘 실행하는 데 도움이 되는 관행을 도입

위의 기대치만 보더라도 기존에 중/소 규모의 프로젝트를 담당했다면, 대규모성 프로젝트 내지는 그룹내의 여러 프로젝트가 범위가 될 정도로 넓어지게 됩니다. 그 가운데서 모범 사례에 대한 계획 수립 및 도입등에 대해서 주도적으로 일을 하게 됩니다. 그래서 이전에는 부장이라는것이 부서(그룹)의 여러 프로젝트내의 업무를 완수하는 것을 이야기한 것 같습니다.

6부 : 결론

마지막으로는 모든 직군, 연차를 통틀어서 배움을 멈추지 말자라는 이야기를 하고 있습니다. 이 내용은 IT 직종에 근무하는 종사자라면 와닿는 구문일 것 같습니다. IT 기술들이 한 해가 다르게 빠르게 변화하고 있고 지금 알던것도 어느순간 legacy가 되는 부분을 인지하고 지속적인 학습을 해야된다고 생각합니다.

마치며…

이 책은 전반적으로 모든 IT 종사자들이 직급과 연차에 상관없이 읽어볼 수 있는 지침서와 같다고 생각합니다. 필자도 업계에 10년 넘게 있으면서 경험했던부분과 상당히 일치하는 부분이 많이 있었습니다. 물론 개개별로 느끼는 바나 경험도에 따라 차이는 있겠지만 젂어도 가이드라인을 해줄 수 있는 정석과도 같은 책이 아닐까 생각합니다.

책의 전반적인 흐름은 커리어 관리를 시작으로 주니어, 시니어를 거쳐 테크리드라는 역할까지 끝으로는 수석엔지니어로 이어지는 흐름에 있어서 어떤 목표와 기대치를 갖고 가야하는지를 알 수 있어서 매우 흥미로웠습니다.

이 책은 책상 한켠에 두고, 매년마다 읽어가면서 지침서로 활용하면 정말 좋을것 같다는 생각을 하게 됐습니다.

본 포스팅은 “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다