본문 바로가기
About IT/리뷰 및 회고

[도서 리뷰] 소프트웨어 엔지니어 가이드북

by yjin_fe 2025. 2. 1.

이 책을 읽게 된 이유

최근 들어 커리어에 대해 깊이 고민하는 시간이 많아졌다. 단순히 ‘어떤 기술을 배워야 하는가’에서 나아가, ‘어떻게 커리어를 발전시켜야 하는가’, ‘소프트웨어 엔지니어로서 지속적으로 성장하려면 어떻게 해야 하는가’에 대한 궁금증이 커졌다. 이런 고민을 하고 있는 내게 책이 길잡이가 되어줄 것 같은 기대감이 있어 읽게 되었다.

 

이 책은 단순히 기술적 성장뿐만 아니라 소프트웨어 엔지니어로서 어떻게 살아가야 하는지에 대한 인사이트를 제공한다. 좋은 코드를 작성하는 방법 같은 기술적인 내용도 있지만, 더 거시적인 관점에서 개발자로서 일을 잘하는 방법을 안내한다.

물론 이 책에서 다루는 많은 사례는 미국을 기반으로 하지만, 한국에서도 비슷하게 적용되는 부분이 많다고 느꼈다. 한국에서도 미국의 업무 문화를 점점 따라가려는 움직임이 많아지고 있으며, 개발자로서의 커리어 패스 또한 꽤 유사한 점이 많기 때문이다. 번역서인 만큼 책의 내용이 100% 적용되기는 어려울 수 있지만, 적어도 95% 이상은 한국에서도 충분히 통용될 이야기라고 생각한다.

 

책의 구성

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

  • ‘일을 잘하는 법’, ‘성과 평가’, ‘승진’, ‘이직’ 등 커리어 관리의 핵심 요소를 다루며, 조직 내에서 신뢰를 구축하는 방법도 설명한다.
  • 1부의 내용은 이제 막 개발자로 커리어를 시작한 주니어들에게 사실상 필독 지침서라 해도 될 정도이다. 대부분의 내용이 뼈와 살에 도움이 되므로, 주니어 개발자라면 꼭 읽어보길 추천한다.

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

  • 업무 효율을 높이고, 좋은 코드를 작성하는 법을 다루며, 프로그래밍 언어의 깊이와 넓이를 확장하는 방법에 대해 설명한다.
  • 주니어에서 시니어로 성장하는 과정에 있는 엔지니어들에게 유용한 내용이 많다. 마치 ‘클린 코드’나 ‘실용주의 프로그래머’와 같은 서적에서 다룬 내용들을 일부 요약한 것처럼 느껴졌다.

3부) 다재다능한 시니어 엔지니어

  • 팀워크, 협업, 소프트웨어 엔지니어링에 대한 깊이 있는 내용을 다루며, 기술 부채 관리와 같이 실무에서 직면하는 부분들에 대해 설명한다.
  • 결국 단순한 IC(Individual Contributor)보다는, 조직에 실질적인 영향을 미치는 시니어 엔지니어의 역할에 대한 이야기이다.

4부) 실용주의 테크리드

  • 프로젝트 관리, 이해관계자 조율, 팀 빌딩 등 리더십 역량을 다루며, 3부보다는 좀 더 스코프가 넓어져서 개발뿐만 아니라 팀의 성과를 극대화하는 방법을 다룬다. 관리직에 가까운 엔지니어링 매니저로 성장하는 과정에 대한 인사이트를 제공한다.

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

  • KPI, OKR과 같은 비즈니스 관련 지표를 다루며, 조직과 회사에 기여하는 방법을 설명한다.
  • 소프트웨어 아키텍처와 엔지니어링 전략 등 조직 전체에 영향력을 미치는 부분에 대하여 이야기한다.

6부) 결론

  • 호기심과 겸손함을 유지해야 하며 어떻게 계속 학습하고 도전하며 성장해나갈지에 대해 다룬다.
  • 소프트웨어 엔지니어라면 항상 갖추어야 할 태도나 마인드셋에 대해 이야기하며, 장기적인 커리어 관리와 성공을 위해서 앞서 이야기한 것들이 필수 요소들임을 다시 한 번 강조하며 마무리한다.

 

개인적으로 인상 깊었던 부분

책을 읽으며 인상 깊었던 내용들을 메모해 두었는데, 다 읽고 나서 보니 생각보다 많았다. 그중 특히 인상 깊었던 몇 가지를 소개해본다.

 

생각보다 구체적인 액션 아이템들

이 책이 특히 좋았던 점은 단순한 원론적 이야기나 추상적인 조언이 아니라, 실무에 바로 적용할 수 있는 구체적인 행동 지침을 제시한다는 점이었다. 예를 들어, 주니어 엔지니어라면 업무 관리, 성과 정리, 커리어 발전 방법에 대한 실질적인 가이드를 제공한다. 또한, 코드 작성법, 코드 리뷰의 올바른 방식, 효과적인 학습법 등 실무에서 활용할 수 있는 유용한 팁도 다루고 있다. 책을 읽으며 과거의 내 모습을 돌아보며 반성하는 부분이 많았고, 현재 나는 책에서 제시하는 방법들을 얼마나 실천하고 있는지 점검해볼 수 있었다. 아직 시도해보지 못한 부분들도 있었는데, 이를 적용해 본다면 더 나은 개발자로 성장할 수 있을 것 같다.

 

선의 통장

이 책에서 제시한 개념 중 특히 인상 깊었던 것이 ‘선의 통장’이다. 개발자로서 업무를 수행하는 과정에서 다른 이들에게 도움을 주거나 받는 상황이 자주 발생하는데, 이러한 개념을 ‘선의 통장’으로 표현했다. 동료를 도우면 선의 통장의 잔고가 쌓이고, 반대로 도움을 받을 때 잔고가 줄어든다.

대부분의 개발 업무는 협업을 전제로 하며, 단순히 내 일만 잘하는 것이 아니라 동료들과 함께 성장하는 것이 중요하다는 메시지가 와닿았다. 실제로, 어려운 문제를 맞닥뜨렸을 때 같은 프론트엔드 개발자 동료들과 서로 도움을 주고받으며 문제를 해결했던 경험이 있다. 나는 좋은 의도로 베푼 도움이 결국 나중에 나에게도 긍정적인 영향을 준다는 것을 경험한 적이 있기 때문에, 선의 통장이라는 개념에 더욱 공감할 수 있었다.

또한, 책에서는 단순히 다른 사람을 돕는 것뿐만 아니라, 도운 흔적을 남기는 것의 중요성도 강조한다. 이는 성과 관리 측면에서도 의미가 있으며, 팀 내에서 고립된 엔지니어가 아닌 협업을 중시하는 팀 플레이어로 인정받을 수 있는 기회이기도 하다. 자신의 업무에 무리가 가지 않는 선에서 기꺼이 동료를 도와주어, 선의 통장의 잔고를 늘려보면 어떨까 생각한다.

 

결국은, 계속 OO하라

책의 마지막에서 강조하는 메시지는 결국 호기심을 유지하고, 끊임없이 학습하며 계속 도전하라는 것이다. 이는 소프트웨어 엔지니어라는 직업을 가진 사람들의 직업관 혹은 정체성과도 맞닿아 있는 것 같다.

(당연하게도) 기술은 끊임없이 변화하며, 새로운 개념과 패러다임이 계속 등장한다. 특히, 웹 프론트엔드 분야는 변화가 더욱 빠르게 이루어진다. 2023년 하반기에 시작했던 프로젝트는 Next.js 12버전에서 개발을 진행했지만, 지금은 벌써 15버전까지 출시되었다. 몇 년 뒤에는 virtual-dom 기반의 React가 아닌, 완전히 새로운 패러다임이 등장해 주류가 될 수도 있다.

결국 꾸준히 새로운 기술을 배우고 성장하는 것이 중요하며, 개발을 계속하는 한 배움과 성장에는 끝이 없다는 점을 다시 한번 깨닫게 되었다.

 

  •  

마무리

"소프트웨어 엔지니어 가이드북"이라는 제목은 이 책의 내용을 가장 잘 표현한 적절한 이름이라고 생각한다.

이 책은 단순히 커리어를 쌓는 방법을 알려주는 것이 아니라, 개발자로 살아가는 데 필요한 태도와 방향성까지 제시한다. 주니어부터 시니어까지 모든 경력 단계에서 배울 점이 있으며, 현재 커리어에서 필요한 부분을 챙길 수도, 앞으로 나아가야 할 방향을 미리 살펴볼 수도 있었다.

 

무엇보다도 이 책은 아끼는 사람에게 건네는 진심 어린 조언처럼 느껴졌다. 개발자로서 성장하고 성공하는 것만을 강조하는 것이 아니라, 인생에서 더 중요한 가치를 놓치지 말라는 메시지를 전하고 있기 때문이다. 저자는 배움과 성장이 중요하다고 해서 업무 외 시간에도 개발에만 몰두해야 한다거나, 휴식의 중요성을 간과해야 한다고 말하지 않는다. 개발자로서 성장과 커리어 관리가 중요하지만, 각자의 삶의 흐름에 맞춰 균형을 잡아야 한다는 점을 강조한다. 예를 들어, 결혼 후 출산을 하게 된 개발자라면 개발 공부도 중요하지만, 아이와 함께하는 시간이 더욱 소중할 수 있다는 점을 짚어준다.

 

이 책은 개발자로서 커리어를 이어간다면 두고두고 참고할 가치가 있는 책이라고 생각한다.

좋은 책을 접할 기회를 준 한빛미디어글또 커뮤니티에 감사하다. 

 

한빛미디어의 후원으로 책을 받아 작성합니다.