메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

소프트웨어 엔지니어 가이드북

주니어부터 리더까지, 소프트웨어 엔지니어라면 꼭 알아야 할 커리어 관리의 비법

한빛미디어

번역서

판매중

  • 저자 : 게르겔리 오로스
  • 번역 : 이민석
  • 출간 : 2024-10-30
  • 페이지 : 568 쪽
  • ISBN : 9791169213073
  • 물류코드 :11307
  • 초급 초중급 중급 중고급 고급
4.9점 (22명)
좋아요 : 12

 

 

 

“그날 나는 결심했다. 
내가 매니저가 된다면 팀원들에게 성장에 필요한 조언을 주리라.”
 

현대 IT 산업에서 소프트웨어 엔지니어로 성공적인 커리어를 쌓으려면, 뛰어난 코딩 실력만으로는 부족합니다. 빠르게 변화하는 기술 환경 속에서 직무를 효율적으로 수행하고, 장기적인 커리어 발전을 이루기 위해서는 더 많은 준비가 필요합니다. 이 책은 많은 기업에서 엔지니어링 매니저로 재직한 저자가 현업에서 팀원들에게 조언을 주는 과정에서 깨달은 경력 관리의 비법을 담고 있습니다.
 

소프트웨어 엔지니어가 실제 직장에서 겪을 다양한 상황에 대한 해결책을 소개하는 가이드북입니다. 단순한 이론을 넘어 실제 현장에서 바로 적용할 수 있는 유용한 정보까지 담았습니다. 주니어 엔지니어부터 시니어 엔지니어, 스태프 엔지니어에 이르기까지 경력 단계에 따라 다음 단계로 나아가는 데 필요한 정보와 커리어 발전을 위한 구체적인 로드맵, 장기적인 커리어 성공을 위한 청사진을 만나보세요.

 

게르겔리 오로스 저자

게르겔리 오로스

소프트웨어 엔지니어이자 작가로, 75만 명 이상의 구독자를 보유한 테크 뉴스레터 ‘프래그매틱 엔지니어(The Pragmatic Engineer)’를 발행하고 있다. 우버에서 엔지니어링 매니저이자 엔지니어로 재직했으며, 마이크로소프트, JP모건, 스카이프, 스카이스캐너에서 엔지니어로 재직했다.

이민석 역자

이민석

우리나라에 PC가 처음 들어올 때부터 여러 회사와 소프트웨어 및 하드웨어를 개발해왔다. 1995년 서울대학교에서 컴퓨터공학 박사 학위를 받았다. 1990년대 후반에는 선후배들과 리눅스로 스마트폰을 만드는 회사를 세우고 열심히 일했으며, 그 회사를 거쳐간 수많은 개발자가 리눅스 및 오픈 소스 개발자로 훌륭하게 성장할 수 있도록 도운 것을 자랑스럽게 생각하고 있다. 한성대학교와 NHN NEXT에서 교수와 학장으로 개발자들을 양성했다. 지금은 국민대학교 소프트웨어융합대학에서 전공자 및 비전공자를 위한 소프트웨어 교육에 힘쓰고 있다.

 

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

 

1장 커리어패스
_1.1 기술 기업의 유형
_1.2 전형적인 소프트웨어 엔지니어링 커리어패스
_1.3 보상에 따른 기업의 티어
_1.4 비용 센터, 수익 센터
_1.5 커리어 발전을 위한 대안적 사고방식

 

2장 커리어 관리
_2.1 커리어 주인의식
_2.2 일을 잘하는 사람
_2.3 작업 일지 작성
_2.4 동료와의 피드백
_2.5 매니저를 아군으로 만드는 법
_2.6 페이스 조절

 

3장 성과 평가
_3.1 빠른 준비: 상황 파악 및 목표 설정
_3.2 습관의 힘
_3.3 성과 평가 전에 할 일
_3.4 성과 평가

 

4장 승진
_4.1 승진은 어떻게 결정되는가?
_4.2 승진 절차의 유형
_4.3 터미널 레벨
_4.4 빅테크에서의 승진
_4.5 승진을 위한 조언
_4.6 장기적인 경력

 

5장 어디서나 통하는 접근법
_5.1 제품 팀 및 제품지향적 엔지니어
_5.2 플랫폼 팀
_5.3 평시 vs 전시
_5.4 기업 유형

 

6장 이직
_6.1 새로운 기회의 탐색
_6.2 승진 vs 이직
_6.3 기술 면접 준비
_6.4 하위 직급으로 이직
_6.5 상위 직급으로 이직
_6.6 새 직장 적응

 

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

 

7장 업무를 완수하는 개발자
_7.1 가장 중요한 업무에 집중하기
_7.2 막힌 부분 풀기
_7.3 작은 단위로 작업 쪼개기
_7.4 작업 소요 시간 추정
_7.5 멘토 찾기
_7.6 선의 통장
_7.7 솔선수범하라

 

8장 코딩
_8.1 코딩 연습하기
_8.2 가독성 높은 코드
_8.3 품질 높은 코드 작성

 

9장 소프트웨어 개발
_9.1 프로그래밍 언어에 능숙해지기
_9.2 디버깅
_9.3 리팩터링
_9.4 테스트

 

10장 생산적인 소프트웨어 개발자의 도구
_10.1 로컬 개발 환경
_10.2 자주 사용하는 도구들
_10.3 빠른 개발 사이클 유지 방법

 

[3부 다재다능한 시니어 엔지니어]

 

11장 업무를 완수하는 엔지니어
_11.1 인식과 현실
_11.2 나만의 작업 시간 확보
_11.3 ‘제대로’ 완수하기
_11.4 팀
_11.5 큰 그림의 이해

 

12장 협업 및 팀워크
_12.1 코드 리뷰
_12.2 2인 협업
_12.3 멘토링
_12.4 피드백
_12.5 다른 엔지니어링 팀과의 협업
_12.6 다른 사람에게 좋은 영향력 전파하기

 

13장 소프트웨어 엔지니어링
_13.1 언어, 플랫폼 및 도메인
_13.2 디버깅
_13.3 기술 부채
_13.4 문서
_13.5 소프트웨어 엔지니어링 방법론

 

14장 테스트
_14.1 단위 테스트
_14.2 통합 테스트
_14.3 UI 테스트
_14.4 자동화된 테스트를 위한 멘탈 모델
_14.5 특정 용도의 테스트
_14.6 프로덕션 환경에서의 테스트
_14.7 테스트 자동화의 장단점

 

15장 소프트웨어 아키텍처
_15.1 디자인 문서, RFC 및 아키텍처 문서
_15.2 프로토타이핑 및 PoC
_15.3 도메인 주도 설계
_15.4 출시를 위한 소프트웨어 아키텍처

 

[4부 실용주의 테크리드]

 

16장 프로젝트 관리
_16.1 엔지니어가 프로젝트를 주도하는 회사
_16.2 프로젝트 관리는 왜 하는가?
_16.3 프로젝트 킥오프 및 마일스톤 설정
_16.4 소프트웨어 물리학
_16.5 일상적인 프로젝트 관리
_16.6 위험 및 종속성
_16.7 프로젝트 마무리

 

17장 프로덕션 출시
_17.1 프로덕션 출시까지의 극단적인 상황
_17.2 전형적인 출시 프로세스
_17.3 원칙과 도구
_17.4 추가 검증 단계
_17.5 실용적인 위험 감수하기
_17.6 추가 고려 사항
_17.7 접근 방식의 선택

 

18장 이해관계자 관리
_18.1 이해관계자 관리의 진정한 목표
_18.2 이해관계자 유형
_18.3 이해관계자 파악하기
_18.4 지속적인 관리
_18.5 비협조적인 이해관계자
_18.6 이해관계자에게서 배우기

 

19장 팀 구조
_19.1 직함과 역할
_19.2 팀의 프로세스
_19.3 팀의 집중력 향상

 

20장 팀 내 역학
_20.1 건강한 팀
_20.2 건강하지 않은 팀
_20.3 성장통을 겪는 팀
_20.4 팀 역학 관계의 개선
_20.5 다른 팀과의 관계

 

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

 

21장 비즈니스의 이해
_21.1 북극성, KPI, OKR
_21.2 팀과 제품
_21.3 직장
_21.4 상장 기업
_21.5 스타트업
_21.6 산업 분야

 

22장 협업
_22.1 사내 정치
_22.2 다른 사람에게 좋은 영향력 끼치기
_22.3 매니저와의 협업
_22.4 스태프+ 동료와 협업하기
_22.5 인적 네트워크의 확장
_22.6 다른 사람 돕기

 

23장 소프트웨어 엔지니어링
_23.1 스태프+ 엔지니어의 코딩
_23.2 유용한 엔지니어링 프로세스
_23.3 빠른 반복을 위한 엔지니어링 사례
_23.4 엔지니어의 효율을 높이는 도구
_23.5 규정 준수 및 개인정보 보호
_23.6 안전한 개발

 

24장 신뢰성 높은 소프트웨어 시스템
_24.1 신뢰성에 대한 책임 의식
_24.2 로깅
_24.3 모니터링
_24.4 알림
_24.5 온콜
_24.6 사고 관리
_24.7 복원력 있는 시스템 구축

 

25장 소프트웨어 아키텍처
_25.1 가능한 한 단순하게 하기
_25.2 전문 용어는 알되, 남용하지 않기
_25.3 아키텍처 부채
_25.4 단방향 결정 vs 양방향 결정
_25.5 의사 결정의 ‘영향 반경’
_25.6 확장 가능한 아키텍처
_25.7 실무 작업과 충분히 가까운 거리 유지하기
_25.8 소프트웨어 아키텍트의 특성

 

[6부 결론]

 

26장 배움을 멈추지 말자
_26.1 호기심 유지
_26.2 계속 학습하기
_26.3 계속 도전하기
_26.4 업계 동향 파악
_26.5 휴식 시간

 

[부록]
좋은 개발자를 바라보는 다양한 시선
개발자의 역할: 기술과 사람의 만남
세상은 언젠가 우리에게 리더가 되라 한다
변화에 적응하고 실행하는 개발자의 마인드셋
AI 시대, 개발자의 성장과 미래

75만 구독 뉴스레터 운영자가 전하는
성공적인 커리어 관리 로드맵

 

이 책은 신입 소프트웨어 개발자부터 스태프/수석/저명 엔지니어까지 커리어를 관리하는 데 필요한 내용을 소프트웨어 엔지니어의 ‘전형적인’ 커리어패스 구조를 따라 내용을 정리한다. 저자는 개발자로 활동하는 동안 알고 싶었지만 누구도 알려주지 않았던 교훈과 매니저로 재직하며 다양한 경력 단계에 있는 엔지니어를 코칭하며 얻은 경험을 바탕으로 개발자에게 꼭 필요한 내용을 담았다. 엔지니어로서 성장하는 데 필요한 개념 및 접근법 같은 업무의 하드 스킬, 사회인으로서 주변 동료에게 좋은 인상을 남기는 데 필요한 소프트 스킬까지 성공적인 커리어를 만드는 비법을 전달한다.
한국어판에는 국내에서 활동하는 개발자들이 성장하며 얻은 중요한 경험과 지혜를 담은 칼럼을 수록했다. 다양한 배경과 전문성을 지닌 개발자들이 전하는 좋은 개발자의 정의, 개발자의 역할, 리더로 성장하는 방법, 급변하는 기술 시장에 적응하는 전략, AI 발전에 따른 개발자 역할의 변화에 관한 이야기를 통해 자신의 커리어에 유용한 인사이트를 얻길 바란다.

 

대상 독자

  • 커리어 관리에 관심을 가진 엔지니어
  • 소프트웨어 엔지니어의 경력 관리가 궁금한 학부생
  • 경력에 필요한 스킬이 궁금한 주니어 개발자
  • 승진을 앞두거나 막 승진한 소프트웨어 엔지니어
  • 이직을 고민 중인 엔지니어

 

주요 내용

  • 커리어 단계별 성장 전략
  • 실제 사례를 통한 문제 해결 방법
  • 리더십과 팀 관리 역량 개발

2024년 10월에 출간된 한빛미디어의 <소프트웨어 엔지니어 가이드북>에 대해 알아보겠습니다. 이 책의 부제는 주니어부터 리더까지, 소프트웨어 엔지니어라면 꼭 알아야 할 커리어 관리의 비법입니다.

 

이 책의 저자는 게르겔리 오로스(Grgely Orosz) 님이며, 테크 뉴스레터 '프래그매틱 엔지니어' 운영자이자, 전 우버, 마이크로소프트에서 엔지니어로 활동한 경험이 있습니다. 이 책의 아마존 평가 점수는 4.7점을 받고 있으며, 국내 서점에서 평가 점수는 교보문고, YES24 그리고 한빛미디어에서 4점대 후반(5점 만점 기준)으로 높은 점수를 받고 있습니다.

 

이 책의 역자는 이민석 교수님으로 전 NHN NEXT 학장님이자 현 국민대 소프트웨어융합대학 교수로 재직중이십니다. 이 세계에서 너무나 유명한 분이죠. 

 

<소프트웨어 엔지니어 가이드북>은 약 570여 페이지로 구성되어 있으며, 휴대하면서 보기에 불편함을 느끼진 않을 것 같습니다. 전자책도 출간되어 있으므로 뷰어가 있으신 분은 전자책으로 보는 것도 좋을 것 같습니다. 

 


한빛미디어의 도서 지원을 받아 작성한 리뷰입니다. 

한빛미디어에서 제공해 준 책을 읽고 작성했음을 밝힙니다.


 

 

이 책의 매력 포인트


이 책은 '주니어부터 리더까지, 소프트웨어 엔지니어라면 꼭 알아야 할 커리어 관리 비법'을 담은 매력적인 책입니다. 이 책은 6부, 26개의 챕터로 구성되어 있으며, 추가로 부록이 담겨있습니다. 1부에서는 개발자 커리어의 기본 사항, 2부는 유능한 소프트웨어 개발자, 3부는 다재다능한 시니어 엔지니어, 4부는 실용주의 테크리드, 5부는 롤모델로서의 스태프 및 수석 엔지니어, 마지막 6부는 결론으로 구성되어 있습니다.

 

이 책은 옮긴이(이민석 교수님)의 말에 잘 요약되어 정리되어 있습니다. 이 책을 읽기 전, 서점에서 미리보기를 통해 옮기이의 말을 읽을 수 있습니다. 이 옮긴이의 말에 이 책에서 다루는 내용이 포함되어 있습니다. 


이 책은 소프트웨어 개발자의 성장 과정을 상세히 다룹니다. 주니어에서 스태프 엔지니어까지 단계별로 요구되는 역할, 책임, 역량을 기술적 깊이와 폭을 유지하며 구체적인 지침으로 제시합니다.

 

또 개발자의 사고방식 변화, 의사결정 과정, 그리고 조직 기여 방법에 대해 실용적인 통찰을 제공해 어떤 경력 단계의 개발자라도 자신의 현재 위치를 파악하고 미래의 성장 방향을 설정할 수 있도록 돕고 있습니다.

 

저자는 주로 서구의 IT 기업들을 중심으로 설명하다 보니, 우리나라 기업 상황과는 다소 차이가 있는 부분도 있습니다. 직급 체계나 조직 문화 등에서 차이가 있습니다. 하지만 그런 차이에도 불구하고, 이 책이 제시하는 개발자의 역할과 성장 방향, 그리고 회사가 지향해야 할 개발 문화에 대한 통찰은 보편적인 가치가 충분하며, 소프트웨어 개발자라면 자신이 속한 회사나 직급, 역할과 상관없이 배울 점이 많이 있습니다.

 

특히 이 책에서 매우 비중 있게 다루는 영역은 코딩 너머의 역량입니다. 주니어에서 시니어, 그리고 그 이상의 단계로 성장해 가는 과정에서 필요한 기술적, 비기술적 역량에 대한 귀중한 조언들이 담겨 있습니다. 코딩을 넘어 아키텍처를 이해하는 법, 비즈니스에 기여하는 법, 동료들과 효과적으로 협업하는 법, 조직 내에서 긍정적인 변화를 이끌어내는 방법 등 폭넓은 주제를 다룹니다.


 

필자는 마지막 26장(배움을 멈추지 말자)의 내용이 특히 더 좋았습니다. 사실 책에서 다루고 있는 내용은 이미 알고 있고, 일부분은 실천하고 있었던 내용입니다. 그러나 이 책을 읽고, 제게 새로운 에너지와 동기부여를 준 점이 제겐 크게 와 닿았습니다. 요즘 좀 지쳐있었거든요.

 

 

마치면서


<소프트웨어 엔지니어 가이드북>을 읽은 후, 긍정적인 영향을 많이 받았습니다. 이 책을 읽으면서 지식을 조금 더 체계적으로 정리할 수 있었습니다. 이 책은 꽤 방대한 양을 다루고 있습니다만, 이 책의 내용은 군더더기가 없으며, 값진 내용들이 담겨 있으므로 관련 종사자의 많은 분들이 한 번 읽어보면 좋을 것 같습니다.

소프트웨어 엔지니어 가이드북( 게르겔리 오로스 , 2024)

 

책 소개

저자 : 게르겔리 오로스 (Orosz, Gergely)

제목 : 소프트웨어 엔지니어 가이드북

번역 : 이민석

출판사 : 한빛미디어

출간 연도 : 2024. 10.

원문 제목 : The Software Engineer’s Guidebook (2023.11)

페이지 : 568쪽

 


 

'자신의 커리어를 주도하라!'

소프트웨어 엔지니어 가이드북 2장 「커리어 관리」 의 도입 문구로 이 책을 관통하는 한 문장이다.

 

책은 6부, 26장으로 구성되어 있다.

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

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

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

4부 : 실용주의 테크리드

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

6부 : 결론

 

신입 개발자의 관점에서부터 시작하는 책은 소프트웨어 엔지니어 개발자의 커리어 패스를 따라 진행된다. 1부는 커리어 관리에 대해 '일을 잘 하는 법', '성과 평가', '승진', '이직'의 주제로, 주니어 개발자 단계에서(특히 사원 직급) 수행하면 베스트인 커리어를 알려준다. 재미있던 부분은 2장 5절의 '매니저를 아군으로 만드는 법'으로, '나'를 평가하는 주체일 수도 있는 '매니저'를 수직적 관계에서 벗어나 '동료'로써 그의 목표를 이해하고 신뢰를 구축하며 상황을 공유해 업무 성과의 인정으로 이어지는 로직을 설명한다. 좋은 피드백을 줄 수 있는 관리자로써 '매니저'와의 관계 개선을 통해 서로를 지원하는 아군이 된다는 생각은 책의 초반부 신선함을 전해 준다.

 

2부는 유능한 소프트웨어 개발자에 대해 '업무', '하드스킬'에 대해 설명한다. 주로 '중급 개발자'로 표현하는 '선임' 혹은 '책임'급 직책을 갖는 개발자들이 업무를 보다 효율적으로 진행하고 더 좋은 코드를 작성하며, 프로그래밍 언어의 깊이와 넓음(흔히 말하는 'T'자형 인재가 갖추고 있는 하드 스킬)을 알려준다.

 

3부는 다재다능한 시니어 엔지니어로, '수석' 이상 직급의 시니어 개발자의 시선에서 '소프트웨어 엔지니어링'을 설명한다. 시니어 엔지니어에 대한 일반적인 기대치에 대해 '업무를 완수하는' , '협업 및 팀워크' 와 같은 선배 개발자로써의 업무 역량과 소프트스킬에 대해 설명한다. 3부에서 다루는 내용중 13.3 '기술 부채'가 눈에 띄는 주제인데, 최근 '미래의 기술 부채를 대비해' 라는 표현을 자주 봐서 해당 챕터의 내용이 크게 와 닿았다. '기술 부채를 해결하려면, 그 영향력을 명확히 파악해 프로젝트를 제안하자.' , '기술 부채를 상환하는 노력의 정량화' 라는 표현은 향후 누군가에 전해주고 싶은 표현이다.

 

4부는 테크리드 직책의 커리어를 설명한다. 테크리드는 향후 엔지니어링 매니저로 승진 할 예비 인력으로 '리드 개발자'의 호칭을 갖는다. 주로 프로젝트를 관리하거나 이해관계자들의 조율, 팀 빌딩 혹은 관리를 담당하는데, 사람들이 최대한 효율적으로 일하도록 돕는 것이 테크리더의 목표임을 자세하게 설명한다.

 

5부는 개발자들의 롤 모델, 우상이 되는 스태프, 수석 엔지니어에 대해 설명한다. 스태프 이상의 직책은 '비즈니스' 업무가 추가되는데, KPI, OKR 과 같은 수치 지표부터 회사 구성원들(개발자들) 과의 협업 그리고 소프트웨어 아키텍처에 대해 설명한다.

 

마지막 6부 결론은 '배움을 멈추지 말자'로 마무리 한다. 질문을 하고, 겸손함을 유지하고, 멘토링과 자율 학습 그리고 지식 공유와 새로운 기술에 도전 등을 통해 '성장'하는 개발자, '훌륭햔' 개발자가 되는 법을 안내한다.

 


 

이 책은 개발자를 시작하는 '주니어' 개발자와 이직을 고민하거나 매너리즘이 찾아온 '중급' 개발자에게 일독을 강추하는 책이다. 개발자의 커리어를 어떻게 관리하고 '성장'을 어디에 초점을 두고 해야하는지, 무엇이 개발자에게 중요한지를 명확히 설명해 주는 책으로, 다 회독이 필수인 개발자 커리어 가이드 북이다.

 

책의 부록에 실린 선배 개발자 5분의 개발자 커리어 관련 조언은 현업 선배 개발자들의 값진 경험이 녹아있는 파트이다. '자신의 커리어를 주도하라!' , 2장 「커리어 관리」 의 도입 문구처럼 빠르게 변화하는 기술 환경 속 더 좋은 '소프트웨어 엔지니어'가 되고 싶은 모든 분들에게 책의 일독을 추천한다. 

 

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이 책은 소프트웨어 엔지니어에게만 적용되는 가이드 북이 아니다. 나처럼 소프트웨어 개발을 업으로 하지 않는 이에게도 깊은 울림을 주고, 더 나은 사람이 되기 위한 지침을 제시하는 서적이다. IT 업계에 발을 들여 놓은 이들 중 자신의 커리어를 발전시키기 위해 진지하게 고민하고 해갈을 원한다면 이 책이 정답으로 향하는 든든한 조력자가 되어 줄 수도 있으리라 생각한다. 조언으로 가득한 책의 전반적인 흐름이 여타의 서적과 다를 게 없어 보일 수 있지만 저자의 오랜 업계 경험과 노련함에서 묻어 나오는 이야기는 깊은 내공의 수준을 한껏 드러낸다. 

`

이 책은 크게 6개의 파트로 구성되어 있고, 각 파트별로 피와 살이 되는 내용이 충실하게 채워져 있다. 1부에서는 커리어 패스를 어떻게 효율적으로 관리하고 궁극적으로 원하는 방향으로 나아갈 수 있는지에 대한 통찰력 있는 가이드가 제시된다. 2부에서는 훌륭한 소프트웨어 개발자가 되기 위한 지침과 노하우 및 실용적인 팁이 제공된다. 3부에서는 시니어 엔지니어로서 그간 쌓아온 풍부한 경험을 바탕으로, 보다 고차원적인 관점에서 소프트웨어 개발과 관련된 제반 사항을 다룬다. 4부에서는 테크 리드로서 결과물을 출시하기 위한 여정과 이를 둘러싼 주변 환경과 관련된 담론이 짜임새 있게 논의된다. 5부에서는 스태프 엔지니어로서 비즈니스를 위시하여 소프트웨어 엔지니어링에 이르기까지 다양한 관점과 환경에서 소재를 불문한 저자의 핵심적인 팁이 공유된다. 끝으로 6부에서는 끊임없는 학습을 통해 지속적으로 발전을 거듭할 수 있기를 주문한다. 
 
지금보다 더 나은 소프트웨어 엔지니어로 거듭나고 발전하고자 하는 모든 이들에게 이 책의 일독을 권한다.

 

P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 

실용적인 조언들: 각종 실전 팁들이 현장감 있게 서술되어 있습니다.
특히 코드 리뷰, 프로젝트 관리 부분은 바로 적용해볼 수 있는 내용들이 많았어요.
균형 잡힌 시각: 기술적 역량과 소프트 스킬의 균형을 강조합니다.
'사람'과 '기술' 사이의 조화를 잘 다루고 있어요.
성장 단계별 가이드: 각 레벨에 맞는 기대치와 역량이 명확히 제시되어 있습니다.
다음 단계로의 성장을 준비하는 데 실질적인 도움이 됩니다.
가장 인상깊었던 점은 각 단계별로 요구되는 역량과 기대치가 명확하게 제시되어 있다는 것입니다.

특히 기술적 역량뿐만 아니라 커뮤니케이션, 팀워크, 리더십 같은 소프트 스킬의 중요성도 균형있게 다루고 있어서
실제 현장에서 매우 유용하게 적용할 수 있을 것 같습니다.


이 책은 단순한 기술 서적이 아닌, 개발자로서의 전체적인 커리어 여정을 그려볼 수 있는 지도와 같습니다.
매년 한 번씩 꺼내서 읽으며 자신의 성장 방향을 점검하기에 좋을 것 같네요.

"한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

현대 IT 소프트웨어 엔지니어의 역할이 날로 중요해지고 있는데요하지만 많은 엔지니어들이 단순히 뛰어난 코딩 실력만으로는 성공적인 경력을 쌓기 어렵다는 점이 있습니다빠르게 변화하는 기술 환경 속에서 소프트웨어 엔지니어들에겐 기술적 역량 외에도 다양한 소프트 스킬과 경력 관리 능력이 요구되고 있습니다.

 

이러한 상황에서 소프트웨어 엔지니어 가이드북은 시의적절한 지침서라고 생각합니다책의 특징으로 실제 현장에서 즉시 적용 가능한 실용적인 정보를 제공합니다저자의 풍부한 실무 경험을 바탕으로 한 실질적인 조언과 노하우가 책 전반에 녹아 있는데요이론에 그치지 않고 구체적인 상황과 해결책을 제시해 실제 업무 환경에서 마주할 수 있는 다양한 도전에 대비할 수 있도록 도와줍니다.

 

주니어 엔지니어부터 스태프 및 수석 엔지니어까지 각 경력 단계 맞춘 실용적인 조언들이 담겨 있습니다총 6부로 구성되어 있습니다. 1부와 6부의 내용은 초급 소프트웨어 개발자부터 수석 급 이상 엔지니어에 이르기까지 모든 엔지니어링 레벨이 적용됩니다. 2, 3, 4, 5부에서는 소프트웨어 엔지니어링협업업무 완주하기 같은 주제로 그룹화되어 있습니다

 

경력 단계별 맞춤 가이드로 주니어부터 시니어스태프 엔지니어에 이르기까지 각 단계에 필요한 역량과 목표를 구체적으로 설명해 줍니다이는 많은 엔지니어들이 겪는 커리어 방향성 혼란을 해소하는 데 도움이 됩니다.

 

자세한 이론뿐만 아니라 실무에서 바로 적용할 수 있는 정보 하는데요이는 학교나 부트캠프에서 배운 이론과 실제 업무 사이의 간극을 메울 수 있다고 생각합니다기술적 능력은 기본적으로 중요하지만소프트 스킬팀워크리더십 등 엔지니어로서 필요한 다양한 역량에 대해서 자세하게 다루고 있습니다소프트웨어 엔지니어 가이드북을 통해 단순 개발자에서 팀과 조직에 영향력 있는 엔지니어로 성장할 수 있습니다.

 

성공적인 경력을 쌓고자 하는 모든 소프트웨어 엔지니어에게 소프트웨어 엔지니어 가이드북을 추천합니다장기적 커리어 발전을 위한 종합적 로드맵을 통해 자신의 현재 위치를 확인하고 미래의 성장 방향을 설정하는 큰 도움이 되시길 바랍니다.


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

 

소프트웨어 개발자로 성장하려면 어떻게, 무엇을 해야 하는지 알 수 있습니다.
커리어 관리라는 방식을 통해 개발자로 성장하기 위해 알아야 할 것들을 조목조목 알려줍니다.

 

나선형으로 쌓아가다
소프트웨어 엔지니어로 어디까지 올라갈 수 있는지 알 수 있습니다.
업체 규모에 따라 다르고 분야마다 바라보는 시각이 다양하다는 사실을 알려주고, 소프트웨어 엔지니어로서 커리어를 어떻게 가져가야 하는지를 얘기합니다.
창업하여 자신만의 일을 만들어가는 건 전혀 다른 얘기이므로 다루지 않습니다.
각개 격파처럼 하나씩 해결하며 나아갈 수 있으면 좋겠지만 그런 건 존재하지 않습니다.
경력이 쌓이고 역할이 바뀌면서 부침도 있지만 새로운 시야를 얻을 수 있고, 그로 인해 이미 알고 있는 내용도 다르게 보고 대응하므로, 한 단계 더 나아가는 것을 알려줍니다.

 

기준으로 사용하다
읽는 사람에 따라 느낌과 용도가 다를 것 같습니다.
먼저 현재 위치에 관계없이 모두에게 나아갈 방향을 잡아주는 길잡이가 되리라 생각합니다.
그리고, 리더나 멘토 같은 위치에 있다면, 자신의 과거를 돌아보고 현재를 짚어보며, 팀원이나 멘티들 각자에게 무엇이 필요한지 정리하는데 도움이 되겠습니다.
더하여, 개발과 코딩 업무에 발을 디딘 지 얼마 되지 않았다면, 지금과 해야 할 것들과 앞으로를 위해 생각하고 준비해야 할 것들을 알 수 있습니다.
필요하다면 조금 더 깊이 살펴볼 수 있는 책이나 글도 소개하고 있습니다.

 

수시로 연락할 수 있는 좋은 선배 역할을 대신해 줄 수 있을 것 같습니다.

 


소프트웨어 개발도 사람이 하는 일임을 생각하게 합니다.
실력과 관계, 어느 한쪽으로 치우치지 않고,
실력을 기반으로 관계를 쌓아가는 길을 알려주는 멋진 안내서라 생각합니다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

소프트웨어 개발자로서 커리어를 관리하고, 엔지니어로서 한 단계 더 성장하고 싶으신가요?

그렇다면 The Software Engineer’s Guidebook은 꼭 읽어야 할 책입니다. 이 책은 신입부터 고경력 개발자까지 모든 소프트웨어 엔지니어가 커리어를 성장시키는 방법과 구체적인 실천 방안을 제시합니다.

책을 읽고 따라 하면, 나의 능력치를 올리고 커리어라는 게임에서 레벨업할 수 있을 거라고 생각해요!

1. 책 소개: 소프트웨어 엔지니어를 위한 완벽한 가이드

이 책은 총 6부, 26장으로 구성되어 있습니다.

각 부는 소프트웨어 엔지니어의 전형적인 커리어 패스를 따라 단계별로 나아가며 필요한 지식과 스킬을 다룹니다.

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

주니어 엔지니어가 반드시 알아야 할 커리어패스, 관리 방법, 성과 평가와 승진, 이직 전략을 담고 있어요.

커리어 시작 단계에서 “내가 어떤 방향으로 가야 할까?”라는 고민이 많은 분들에게 적합한 로드맵을 제공합니다.

2부: 유능한 소프트웨어 개발자로 성장하기

저연차 개발자를 대상으로 한 업무 완수 기술, 코딩 스킬, 개발 도구 활용법 등 실무에서 바로 사용할 수 있는 내용을 제공합니다.

클린 코드 작성, 효과적인 테스트 방법, 그리고 팀원들과 협력해 지식 공유 문화를 만드는 방법도 다루고 있죠.

3부: 다재다능한 시니어 엔지니어 되기

고연차 개발자로 성장하기 위해 필수적인 협업, 소프트웨어 아키텍처 설계, 테스트 기법을 깊이 있게 설명합니다.

이 단계에서는 팀워크와 소프트스킬의 중요성이 커지는데, 이를 잘 관리하는 방법도 제시합니다.

4부: 실용주의 테크 리드

프로젝트 관리, 팀 구조 설계, 프로덕션 환경 관리 등 리더로서의 책임을 다루는 실용적인 내용을 담고 있어요.

팀의 효율성을 높이고 이해관계자들과 소통하며 성공적인 결과물을 도출하는 방법을 설명합니다.

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

비즈니스적 사고, 고도화된 시스템 설계, 그리고 신뢰성 높은 시스템 구축 기술을 배울 수 있습니다.

커리어의 최정상에 가까워질수록 기술적 역량뿐만 아니라 전략적 사고와 리더십이 중요한데, 이 부분을 잘 다룹니다.

6부: 배움을 멈추지 말자

빠르게 변화하는 기술 환경 속에서 지속적으로 학습하고 성장하는 방법에 대한 조언으로 마무리합니다.

커리어 성장은 끊임없는 학습에서 시작된다는 메시지를 강력하게 전달합니다.


2. 책의 핵심 포인트와 장점

이 책의 가장 큰 매력은 소프트웨어 엔지니어가 성장 과정에서 마주하는 모든 상황을 포괄적으로 다룬다는 점입니다.

1) 각 단계에 필요한 내용을 완벽히 제공

신입 개발자는 기술적 전문성을 쌓는 방법과 코드 품질을 높이는 실천 방안을 배울 수 있습니다.

클린 코드 작성, 테스트 방법, 지식 공유 등의 기초를 탄탄히 다질 수 있도록 돕습니다.

고경력 개발자는 시스템 설계, 복잡한 소프트웨어 아키텍처, 프로젝트 관리 등을 배우며 리더십을 발휘할 수 있도록 안내합니다.

2) 하드 스킬과 소프트 스킬의 균형

책은 기술적 역량(하드 스킬)뿐만 아니라 커뮤니케이션, 협업, 팀 관리와 같은 소프트 스킬도 깊이 다룹니다.

연차가 높아질수록 점점 더 중요해지는 소프트 스킬을 발전시키는 구체적인 방법을 제시하죠.

3) 평생 참고할 수 있는 커리어 지침서

이 책은 단순히 한 번 읽고 끝내는 책이 아닙니다.

어려움을 겪는 주제나 목표로 하는 커리어 수준에 따라 여러 번 참고할 수 있는 실용적인 참고서입니다.


3. 이 책을 꼭 읽어야 하는 이유

1) 커리어 관리를 원하는 모든 개발자에게 유용

신입 개발자: 앞으로 나아갈 방향을 미리 살펴보고 준비할 수 있어요.

고연차 개발자: 커리어 정체기를 극복하고, 기술적 리더십으로 성장할 기회를 제공합니다.

2) 성장에 필요한 모든 내용을 담은 종합서

초급 단계에서는 코딩, 협업, 테스트 같은 실무 스킬에 집중하도록 돕습니다.

고급 단계에서는 프로젝트 관리, 시스템 설계, 리더십 등 전략적 성장에 필요한 지식을 제공합니다.

3) 지속적인 학습의 중요성 강조

기술은 끊임없이 발전합니다. 이 책은 변화하는 환경 속에서 평생 학습자로서의 마인드셋을 갖추도록 독려합니다.

책을 읽는 동안 새로운 관점과 아이디어를 얻어 지금까지와는 다른 방식으로 성장할 수 있을 것입니다.


소프트웨어 엔지니어의 성장 동반자가 될 수 있는 책을 읽어보세요!

The Software Engineer’s Guidebook은 모든 소프트웨어 개발자가 커리어를 성장시키는 데 필요한 완벽한 지침서입니다. 신입부터 수석 엔지니어까지, 각 단계에 맞는 실질적 조언과 도구를 제공합니다.

특히, 팀의 효율성을 높이고 개인의 성장을 넘어 조직에 기여할 수 있는 방법을 배우고 싶다면 이 책을 놓치지 마세요. 이 책을 통해 여러분의 능력치를 올리고 커리어라는 여정을 한 단계 더 도약시켜 보세요.

기술적 성장과 리더십을 고민하고 있다면, 지금 바로 이 책을 읽어보세요!

그럼 전 다음 서평에서 뵙겠습니다!

 

**한빛미디어 (나는 리뷰어다) 활동을 위해서 책을 제공받아 작성된 서평입니다.

'부정적인 피드백을 무시하지 말 것. 부정적인 피드백이야말로 최고의 선생님이다.'

이 책은 소프트웨어 엔지니어링이라기보단소프트웨어 엔지니어로써 거듭 나는 팁을 묶어놓은 공략집같은 책이라 할 수 있다.

팀 구조승진 그리고 소프트웨어 아키텍처테스트 구성 등 정말 정말 소프트웨어 업계에 몸담다 보면 경험할 법한 모든 내용이 총망라되어 있다.

솔직히 기술적인 내용보다는 기술 외적으로 알아둬야 할 중요한 것들을 다루었다는 점에서 의의가 큰 책이라 할 수 있다. (특히, IT 회사 생활을 하기 전에 이 책을 꼭 읽어보길 권장한다.)

개발자로 산다는 것은 어찌 보면 단순히 코드만을 잘 만들어선 살 수가 없는 것이 현실이다. (.. 물론 1인 스타트업을 한다면..? 가능할지도?) 개발자로 살기 위해서는 적당한 수준의 커뮤니케이션 스킬과 서류화 능력 그리고 적절한 임기응변의 자세가 필요하다.

솔직히 '임기응변'이라는 표현은 참으로 두리 뭉실한 표현이라 할 수 있다하지만 '임기응변'이라 해서 뭔가 특별한 것은 아니다가령 적절한 순간에 칭찬하기코드 리뷰가 필요한 사람에게 적당한 배려와 코드의 퀄리티를 높일 수 있는 의견 주기 등이라 할 수 있다얼마나 간단한 것인가하지만 이 간단한 것을 대부분의 개발자들이 못하는 것이 현실이다.

그렇기에 단순히 코드를 잘 짜는 사람이 아닌회사에서 인정받고육각형 개발자로 거듭나길 희망하는 개발자라면 본 서를 꼭 읽어보길 권장한다.

【 소프트웨어 엔지니어 가이드북을 읽고 나서 】

필자의 경우개발자의 길을 시작한 지 이제 20년 가까이가 된 것 같다그만큼 이 업계에서 다양한 경험을 하였고노련해졌다고할 수 있을 것이다. 하지만 20년 전 이 업계에 몸담기 시작할 당시에는 IT 회사 생활 팁을 공유하는 책 같은 것은 없었다대부분이 몸으로 경험으로 체득할 수밖에 없었고 그로 인해 수많은 시행착오를 겪을 수밖에 없었다하지만 이제는 시대가 변하여 조금만 구글링을 하거나 서점에 가서 책을 찾아보면 이와 관련된 서적이 수두룩하다는 것을 알 수 있다따라서 인정받는 개발자가 되길 꿈꾸는 자여조금만 더 본인의 의지를 불태우라!

 

#본 도서는 "한빛미디어 <나는 리뷰어다활동을 위해서 책을 제공받아 작성된 서평입니다.

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

Book Review

전반적인 책 리뷰

1부에서는 전반적으로 어떻게 커리어를 설계하고 관리해 나갈지에 대한 내용이 적혀 있다. 성과 평가, 승진, 이직 등의 내용이 담겨 있으며, 이런 부분들을 어떻게 준비해야 하는지에 대한 내용이 담겨 있다. 내가 실제로 주니어 개발자로 일을 했으면 고민할 부분들이 많이 담겨 있다. 특히 일을 한 내용이 담긴 작업 일지를 작성하는 게 인상 깊었다.

2부에서는 개발자로서 일을 어떻게 하는 게 좋은지에 대한 내용이 나온다. 어떻게 보면 소프트웨어 엔지니어로서 당연한 얘기들이 담겨 있다고 생각할 수 있으나, 자세히 읽어보면 자잘한 팁들이 나오니 이런 내용을 처음 접하는 사람들에게는 재밌을 수 있을 것 같다. 3부에서는 시니어 엔지니어에 대한 내용이 나온다고 목차에 적혀 있지만 시니어 엔지니어에게만 해당이 되는 내용은 아니었다. 실제 업무 시간을 확보하는 방법, 팀 단위 협업, 테스트, 아키텍처 등 결국은 주니어 엔지니어도 미리 알면 좋은 내용이라고 생각한다. 어차피 주니어는 시니어가 되어야 하고 결국 이 내용들을 알아야 한다. 미리 시니어 엔지니어를 이 책으로 체험하는 게 도움이 될 것이다.

4부에서는 리드에 관한 내용이었다. 프로젝트 관리부터 의사결정, 프로덕션 출시, 이해관계자 등을 설명하는데 개인적으로는 이해관계자 부분이 재밌었다. 이 부분은 테크 리드에게만 해당되는 내용은 아니었다. 고객, 프로젝트에 참여하는 비개발자 등 소프트 스킬에 대한 내용이 담겨 있다. 5부에서는 스태프 및 수석 엔지니어와 관련한 것들을 설명하는데 비즈니스의 이해, 고객의 입장에서 생각하기 등의 내용은 주니어 엔지니어도 그런 부분을 고려해야 한다고 생각한다.

마지막으로 6부에서는 이 책의 결론인 '배움을 멈추지 말자'와 부록이 있다. 결국은 계속 엔지니어로서 배움을 추구해야 한다는 점을 다시 한 번 느꼈다. 부록에서는 우리 나라의 시니어 엔지니어 직급 이상의 분들이 좋은 개발자, 성장, AI 시대의 개발자 역할 등 다양하고 재밌는 주제들이 담겨 있다. 사실 이렇게 경험이 담긴 부분은 매번 얘기하지만 실제로 일을 하는 것도 아니고 어디 가서 이렇게 높은 직급의 분들을 만날 수 있는 것도 아니기에 정말 재밌게 읽은 부분이었다.

대상 독자

주니어, 시니어 등 직급을 따지지 않고 엔지니어로 일을 하고 있으시다면 모두에게 추천을 하는 책이다. 특히 나는 실제로 일을 하기 전인 사람에게 이 책을 추천하고 싶다. 대부분은 내부 프로세스를 따라가면서 일을 배우겠지만, 처음부터 어떻게 일을 잘 할 수 있을지 고민하고 실제로 업무를 맞이하면 좋지 않을까? 또 이런 책 한 권 갖고 있으면 미래에 또 다시 읽어보면 생각 못 했던 부분들도 있지 않을까? 그런 생각도 들었다. 정말 일을 하기 전에 이런 책을 만날 수 있었다는 것에 너무 감사하다.

개발자계의 멘토 등장!

Gergely Orosz는

우버, 스카이프 같은 큰 회사에서

엔지니어링 매니저로 일했던 베테랑이에요.


그러니까 실전 경험이 엄청 풍부한 거죠!

현장에서 직접 겪고 배운 노하우를

책에 모두 담았다고 해요.

개발자 꿈나무들한테는

완전 보물 같은 책이 아닐까요?

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
해서, 최대한 책을 펼쳐놓는 형태로 리뷰를 작성해 보려고 합니다.
그 중에 자신에게 맞는 부분이 있다면 책을 선택해 보시면 될 것 같습니다. ^^

 

1. 이 책이 다루는 내용
- 초급 소프트웨어 개발자부터 수석급 엔지니어에 이르기까지 모든 엔지니어링 레벨에 적용된다.  
- 소프트웨어 엔지니어링, 협업, 업무 완수하기 같은 주제를 그룹화해 설명한다. 
 

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


3. 서평 
(생각 정리)
거의 소프트웨어 관련된 모든 것들을 다루는 것 같다. 
책이란 것은 원래 자신의 멘토가 되어줄 수도 있는 것인데, 소프트웨어 엔지니어, 개발자를 해보고 싶거나 실제로 하고 있는데 자신의 주변에 물어봐도 딱히 답이 없고, 고만 고만한 이야기들을 들을 때 보면 좋은 책이지 않나 싶은 생각이다. 


소프트웨어를 개발하는데 있어 필요한 기술적인, 도구적인, 협업, 문화, 회사 선택할 때 고려할 만한 사항등 전반적인 내용들을 잘 정리해주고 있다. 

하지만, 사람들의 역량에 따라 이 책은 잘 읽힐 수도 있고, 안 읽힐 수도 있다. 어떤 책이든 그 책을 읽는 사람의 경험과 동기부여, 태도가 중요하다고 생각한다. 

정말 절실하게 소프트웨어 개발을 하고 싶은 사람에게는 전반적인 업계와 커리어등을 훑어보면 생각하는데 도움이 되겠지만, 그냥 한번 읽어보겠다고 하는 사람에도 도움은 되겠으나 능동적인 태도를 가지고 있지 않은 사람에게는 책을 끝까지 한 번 다 보는 것도 힘들지 않을까 하는 생각이다. 

이런 종류의 책은 꼭 끝까지 읽는 것보다도 필요할 때 자신이 관심있는 부분을 읽어서 도움을 얻는 것도 좋은 방법이 아닌가 싶다. 

책의 제목처럼 쥬니어, 시니어, 수석 엔지니어등 각각의 레벨에 따라서도 도움이 되는 잘 정리된 백서같은 느낌의 책이다.  


 

 

안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 소프트웨어 엔지니어 가이드북을 읽고 서평을 진행해보도록 하겠습니다. 처음에는 책이 너무 두꺼워서 다 읽을 수 있을까 걱정도 많이 했습니다. 그런데 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년 넘게 있으면서 경험했던부분과 상당히 일치하는 부분이 많이 있었습니다. 물론 개개별로 느끼는 바나 경험도에 따라 차이는 있겠지만 젂어도 가이드라인을 해줄 수 있는 정석과도 같은 책이 아닐까 생각합니다.

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

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

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

일반적으로 부르는 개발자라는 직군은 이 나라를 대표하는 직업 중 빠질 수 없는 직군으로 자리잡은지 오래다. 대다수의 산업 분야에서 소프트웨어는 빠질 수 없는 영역이고, 경제규모 면에서도 지식 산업을 대표한지도 오래됐다. 이렇게 넓고 깊어진 산업에서 운이 좋아 커리어 패스를 잘 밟아가면 다행인 일이다. 하지만 세상 일은 계획하고 노력해서 얻는것 보다 해야만 하기 때문에 가야하는 길도 있다. 그렇게 가다보면 길 어느 중간에 서있고 분명 지도는 있는데 내가 어디에 있는지 알 수 없을 때가 있다. 개발자로써 잠시 길을 잃었다면 이 책이 도움이 될것이다.

 

책은 크게 개발자 커리어 패스와 직무별 지침을 나눠서 다룬다. 커리어 패스를 다루는 부분에서는 개인의 성장, 보상, 직장의 규모 등 여러 면에서 구분이 되는 커리어 패스를 이야기한다. 막연히 빅테크, 대기업, 스타트업 같은 타이틀 뿐만 아니라 이들 사이에서 어떤 점들이 트레이드 오프가 되는지 알려준다.

 

실무 단계의 개발자는 주로 코드 생산활동을 한다. 그리고 주어진 업무를 완수하는것이 목표다. 그에 따라 해보지 않은 일, 본인의 역량으로는 할 수 없는 일, 권한을 벗어나는 일 등 여러가지 챌린지가 존재한다. 코드 작성은 혼자 할 수 있지만, 이러한 문제들을 상급자 또는 동료들과 어떻게 같이 풀어나가는가에 대해 적혀 있다. 업무협업은 요청 뿐만 아니라 다른 동료들을 위해 도움을 줄때도 있다. 도움을 주는 방법에도 기술조사, 운영메뉴얼 작성(책에서는 온콜 런북 이라고 한다) 등 솔선수범하게 나서서 불확실성을 제거하는것이 동료들과 자신을 위해 좋은 방법이라고 소개한다. 이 즈음을 지났을때 ‘나는 얼마나 성의와 책임감을 가지고 업무에 임하는가’ 스스로를 돌아보게 하는 챕터였다. 나아가 동료들에게 도움을 줄 수 있는 다른 방법들에 대해 머리로는 알고 있지만 어떻게 접근할지 알 수 있었다.

 

나는 메니징 단계에 이르진 않았지만 이러한 관리 직급에 대해서 궁금한점이 항상 많다. 이와 비슷한 여러 책을 읽어봤을때 공통적으로 나오는 말들이 ‘이해관계자들과의 원만한 관계’ 이다. 본 책에서는 다른 메니진 관련 책들과 다르게 관리중인 팀의 조직원들을 이끌면서 그들과의 관계에서 어떤 일들이 벌어지며, 조직이 겪는 어려움을 유형별로 제시하고 생각해볼법한 내용들을 지침하고 있다. 이러한 것들은 막연히 알고는 있지만 막상 상황에 부딪히면 난처할 것 같은데 상황을 상정하고 그에 따른 방향에 대해 잘 이야기하고 있는것 같았다. 실무단계의 주니어 파트는 팀을 위한 나의 처세와 개인의 커리어패스에 대한 내용이였다면, 메니징 단계의 시니어 파트는 개인 역량 보다는 나의 조직과 다른 부서의 조화를 어떻게 이뤄낼 것인가에 대해 많은 고찰이 담겨있었다.

 

책은 그래서 끊임없는 의문과 도전을 권장한다. 개발자 커리어는 산업의 종류만큼이나 다양하고 정해진 길이 없을 만큼 가는 길도 여러갈래다. 끝없이 결정해야하는 커리어 패스 속에서 방황하는 개발자들이 이 책으로 조금이나마 위안이 되었으면 한다.

 

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

읽게 된 계기

저는 소프트웨어 개발자는 아닙니다. 하지만, 개발을 좋아해 퇴근 후엔 주로 개발을 하며 시간을 보내곤 합니다. 문득 이런 질문을 던지기도 합니다. "나는 왜 개발을 하는 걸까?" 그 대답은 간단했습니다. "제 손으로 무언가 만드는게 좋아서입니다." 때론 개발자를 내 업으로 삼으면 어떨까?라는 생각에 오늘은 이 책을 보게 되었습니다. AI가 급속도로 발전함에 따라 단순 코딩 실력만으로는 성공하기 어려운 현실, 팀워크와 커뮤니케이션 스킬의 중요성, 그리고 승진이나 이직 과정에서의 막막함을 마주할 때마다 어떤 체계적인 커리어 로드맵을 그리는지가 궁금했습니다.  이런 고민의 답을 찾기 위해 이 책 『소프트웨어 엔지니어 가이드』를 집어 들었습니다. 


 

책, 저자 소개

이 책은 소프트웨어 엔지니어에서 매니저로, 그리고 다시 작가와 코치로서 경력을 쌓은 저자가 자신의 경험을 토대로 작성한 커리어 가이드북입니다. 저자는 우버, 마이크로소프트, JP모건 등 글로벌 기업에서 엔지니어와 매니저로 활동하며 축적한 경력과 통찰을 바탕으로, 소프트웨어 엔지니어가 커리어를 성공적으로 관리하기 위해 필요한 모든 것을 담아냈습니다.

 

저자의 강점은 그의 실질적 경험과 통찰입니다. 단순한 이론이나 원론적 접근을 넘어, 실제 직장에서 마주칠 법한 구체적 상황과 해결 방안을 제시합니다. 예를 들어, 엔지니어링 매니저로서 팀원들에게 효과적인 피드백을 제공했던 경험, 빅테크에서 승진 과정을 경험하며 얻은 교훈 등이 책 곳곳에 녹아 있습니다.

 

저자의 집필 의도 및 책의 핵심 키워드 요약

저자는 엔지니어로서 경력을 쌓는 과정에서 '스스로 커리어를 주도하는 법'의 중요성을 절감했다고 밝힙니다. 특히 매니저로 활동하면서 팀원들에게 구체적이고 실행 가능한 조언을 제공하려 했던 경험을 바탕으로, 이 책을 통해 더 많은 엔지니어들에게 도움을 주고자 했습니다.

 

책은 다음과 같은 핵심 키워드를 중심으로 전개됩니다.

  1. 커리어 관리
    • 커리어 주인의식
    • 성과 평가와 승진 전략
    • 이직과 새로운 환경 적응
  2. 직무 역량
    • 코딩 실력과 코드 리뷰
    • 디버깅, 테스트, 소프트웨어 설계
  3. 팀워크와 리더십
    • 협업, 멘토링, 이해관계자 관리
    • 프로젝트 관리와 팀 내 역학
  4. 장기적인 성장
    • 스스로 학습하는 방법
    • 기술 트렌드 이해 및 적응력 강화

책은 초급부터 고급 엔지니어까지 커리어 단계별로 필요한 전략을 구체적으로 제시하며, 단기적 목표뿐 아니라 장기적 성공을 위한 로드맵까지 제공합니다.

 

책에 대한 평가

『소프트웨어 엔지니어 가이드』는 실질적이고 유용한 조언들로 가득 찬 훌륭한 책입니다. 특히 저자가 구체적인 사례와 실천 가능한 팁을 기반으로 이야기를 풀어나간 점이 돋보입니다. 엔지니어링의 하드 스킬뿐만 아니라 소프트 스킬의 중요성을 강조하며, 두 영역의 균형을 잡는 법을 배울 수 있었습니다.

 

책의 또 다른 강점은 초급, 중급, 고급 엔지니어 각각의 필요에 맞춘 세분화된 내용입니다. 초급 엔지니어는 커리어 초기의 기초적인 방향성을, 중급 엔지니어는 팀 내 협업과 리더십을, 고급 엔지니어는 조직 내 영향력과 전략적 사고를 키우는 방법을 배울 수 있습니다. 이로 인해 엔지니어의 다양한 커리어 단계에서 실질적인 도움을 받을 수 있습니다.

 

다만, 책의 내용이 영어 원문을 기반으로 번역된 만큼, 일부 번역 어투가 어색하거나 한국의 IT 환경과는 다소 괴리감이 느껴질 수도 있습니다. 하지만 이 점은 부록에 포함된 국내 개발자의 경험과 인사이트를 통해 어느 정도 보완되었습니다.

 

개인적인 적용점

이 책은 개발자의 커리어 관점을 쌓는데 많은 인사이트를 가져다주었습니다.

  1. 커리어 주인의식
    • 책을 읽은 후, 비록 지금은 개발자가 아니더라도 지금하고 있는 일을 되돌아 보고 앞으로의 제 커리어 목표를 명확히 하고 이를 기반으로 연간 계획을 세웠습니다. 
  2. 작업 일지와 성과 관리
    • 2장에서 소개된 작업 일지는 저는 '업무 일지'라는 용어로 이미 실천하고 있었던 내용입니다. 하지만, 이를 확장하여 사이드 프로젝트 개발 시에도 2장의 작업 일지 작성 팁처럼 매일의 작업 내용을 기록하고 성과를 체계적으로 관리하는 습관을 시작했습니다. 사이드 프로젝트로 시작했지만, 이를 현재 하고 있는 업무와 연관시키면 성과로도 발전시킬 수 있으므로 향후 성과 평가에도 녹여내보고자 합니다.
  3. 장기적인 학습과 성장 
    • 마지막 장에서 강조한 "배움을 멈추지 말자"는 메시지는 "Sin prosa, sin pausa(서두르지 말되, 멈추지 말자)"는 저의 오래된 신조와 일치하여 큰 공감을 받았습니다. 이를 바탕으로 100세 시대라는 말이 무섭게 AI 기술이 발전함에 따라 우리의 인생도 점점 더 길어지고 있는 지금 틈틈이 업계 트렌드에 대한 호기심을 유지하며 꾸준히 학습하고, 새로운 기술과 도구를 익히는 데 시간을 투자하려 노력하고 있습니다.

결론

『소프트웨어 엔지니어 가이드』는 엔지니어의 경력 관리를 고민하는 모든 이들에게 필독서로 추천할 만한 책입니다. 책에서 제시하는 다양한 사례와 실천 가능한 조언들은 단순히 읽는 것만으로도 큰 동기부여가 됩니다. 특히 커리어의 각 단계에서 느끼는 고민과 도전에 대해 실질적인 답을 제공한다는 점에서 가치가 높습니다. 저자의 통찰을 바탕으로 나만의 커리어 로드맵을 설계하고, 성장의 여정을 주도적으로 이끌어가고 싶은 모든 소프트웨어 엔지니어들에게 이 책은 강력히 추천할 만한 동반자입니다.

 

"한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

"소프트웨어 엔지니어 가이드북". 이 책이 나온다고 했을 때 꼭 읽어보고 싶었는데 운좋게 한빛미디어에서 제공받을 수 있었다. 이 책의 저자는 Pragmatic Programmers의 창시자인 게르겔리 오로스이다. 커리어를 시작한 단계부터 수석 엔지니어까지 커리어 전반에 걸친 포괄적인 가이드를 제공한다.


 

##

한빛미디어에서 출판된 <소프트웨어 엔지니어 가이드북>은 소프트웨어 엔지니어들이 커리어 전반에 걸쳐 마주하게 될 여러 도전 과제와 성장 기회를 다룬 유익한 책입니다. 저자는 엔지니어링 매니저로 일하면서 얻은 경험과 통찰을 바탕으로, 기술적인 역량뿐만 아니라 리더십, 문제 해결 능력, 팀워크 등 엔지니어로서의 다양한 스킬셋을 발전시키는 방법을 제시합니다.

 

이 책은 단순히 코드 작성 기술만을 다루지 않습니다. [1부 개발자 커리어의 기본 사항]에서부터 [5부 롤모델로서의 스태프 및 수석 엔지니어]까지, 각 경력 단계에 맞춰 필요한 역량과 구체적인 목표를 설정하는 데 도움을 줍니다. 주니어 개발자는 어떻게 성장해야 하는지, 시니어 개발자는 어떤 문제를 해결하며 조직에 기여해야 하는지에 대한 명확한 안내가 담겨 있습니다. 실용주의적인 접근을 통해 이론이 아닌 실제 현장에서 활용할 수 있는 실질적인 조언을 제공하는 점이 이 책의 큰 장점입니다.

 

특히 책의 마지막 부분에서는 스태프 및 수석 엔지니어로서 팀 내에서 롤모델 역할을 수행하는 방법에 대해 설명합니다. 엔지니어로서 개인적인 성장을 넘어 팀과 조직에 긍정적인 영향을 미치는 것이 얼마나 중요한지를 강조하며, 장기적인 커리어 성공을 위해 필요한 청사진을 제시합니다.

 

이 책은 주니어부터 시니어, 그리고 리더로 성장하려는 모든 소프트웨어 엔지니어들에게 훌륭한 가이드가 될 것입니다. 각 경력 단계에서 자신이 잘하고 있는지, 다음 단계로 나아가기 위해 무엇을 준비해야 하는지 궁금하다면, 이 책을 통해 해답을 찾을 수 있을 것입니다. 단순히 읽는 데 그치지 않고 실천으로 옮긴다면 더 나은 개발자로 성장할 수 있을 것입니다.

 

- 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. -

비개발 직군에서도 마찬가지였지만, 개발자로 처음 일하기 시작했을 때 난 어떤 개발자가 될 수 있을지를 고민했었다. 사실 어떤 개발자가 되고 싶다는 말은 다소 추상적이며 큰 그림에 가깝지만, 그려나가는 과정은 결국 구체적인 액션을 통해 이루어진다고 생각한다. 주니어 레벨에서는 그런 구체적인 액션을 하나하나 사고하기엔 어려움이 있기 때문에 그 어려움에 봉착했을 때 이런 류의 가이드북이 도움이 되는 것 같다.

 

이런 가이드북 형태의 도서는 시중에 꽤 많지만, 사실 경력이 1~2년 정도일 때는 눈앞의 업무에 몰두하느라 큰 그림을 그려보지 못했던 것 같다. 현재에도 아직 배울 거 투성이지만 과거의 나보다는 조금 더 경험이 생긴 시점에서 큰 그림을 그려보고 싶던 차였는데, 공교롭게 적당한 시기에 이 책을 읽게 되었다는 생각이 든다.

 

이 책은 크게 6부로 나뉘어 있는데, 구체적으로 보자면 ‘개발자 커리어의 기본 사항’, ‘유능한 소프트웨어 개발자’, ‘다재다능한 시니어 엔지니어’, ‘실용주의 테크리드’, ‘롤모델로서의 스태프 및 수석 엔지니어’, ‘결론’ 이렇게 구성되어 있다. 그 안에서 각 파트에 맞게 다양한 섹션으로 나뉘어 있는데, 예컨대 ‘업무를 완수하는 개발자’, ‘소프트웨어 아키텍처’, ‘프로젝트 관리’, ‘비즈니스의 이해’와 같은 섹션들이다. 이 책은 관심사에 맞게 찾아 읽기 좋은 구성으로 되어 있다. 나도 처음에는 순서대로 읽기 시작했지만, 곧 관심 있는 섹션부터 찾아 읽어 나가는 방식이 더 효율적이라고 느꼈다. 실제로 커리어를 그려 나감에 있어서 개개인의 고민이 다르기 때문에 사전에서 단어를 찾듯 당장 눈앞에 놓인 고민과 관련된 섹션을 먼저 읽어나가는 방법을 권하고 싶다. 원래 사람은 닥쳐야 더 집중이 잘 되지 않나.

 

내가 가장 먼저 택한 섹션은 ‘커리어 관리’였다. 최근에 혼자 웹 프론트 개발을 진행하면서 어떻게 일을 잘할 수 있을지, 미래의 나를 위해 어떤 식으로 일해 나가는 게 좋을지에 대한 고민을 종종 하는데, 거기에 대한 조언을 구하고자 싶은 마음이었다. 인상적이었던 구절은 ‘내가 한 일을 사람들에게 알리자’라는 부분이었다. 혼자 작업하다 보면, 스스로에게 얼마나 관대하냐에 따라 작업의 품질이 달라지기 마련이었다. 물론 그렇다고 프로젝트의 진행이 더뎌질 정도로 엄격하게 구는 건 곤란하지만, 실제로 어느 정도의 엄격함을 적용하려면 자신만의 잣대가 필요하다. 그 잣대를 결정하는 기준, 그리고 그 잣대를 소화해 내는 나에 대한 평가와 더불어 생기는 여러 고민이 있었고, 그 과업을 해결했을 때 스스로가 내리는 결론이나 남은 과업을 바라보며 생기는 다양한 사고 등이 있었다. 이런 것들은 끝내 내가 안고 가는 것들이고 누군가에게 공유하지 않으면 타인은 알기 어려운 것들이다. 책에서는 성과에 대한 것들을 사람들에게 알리자는 짧은 맥락이었지만, 난 조금 더 폭넓은 관점에서 내 고민과 사고에 대해 알리면 좋을 것 같다는 생각이 들었다.

 

그다음으로는 ‘승진’이었다. 당장 회사에서 승진을 원한다기보다 매년 상급자를 통해 평가를 받아야 하는 입장에서 상급자의 시선이 궁금했고, 그리고 그런 평가의 과정 속에서 어떻게 현명하게 대처할 수 있을지가 궁금했다. 인상적으로 읽은 부분은 업무 정리와 성과 기록에 대한 내용이었다. 실제로 바쁘게 업무를 하다 보면 전체적인 정리나 성과를 기록하는 건 잊게 되는 경우가 많은데, 인간은 망각의 동물이기 때문에 나중에 돌이켜보면 과거의 내가 어떤 업무를 했는지 가물가물한 경우가 많았다. 이는 승진이나 연봉 협상을 떠나, 스스로를 객관적으로 판단하는 데에도 어려움이 있기 때문에 특정 템플릿을 통해 일일 기록이 어렵다면 주간 기록이라도 남기는 편이 좋겠다는 생각이 들었다.

 

다음으로 찾은 섹션은 ‘업무를 완수하는 개발자’였다. 실제로 이 파트가 주니어에게 중요하다고 생각하는 건, 코드의 퀄리티도 중요하지만 과업을 정해진 기간 안에 끝내는 것이 가장 중요한 일이기 때문이다. 나의 케이스를 돌이켜 보면 안 되는 걸 안 된다라고 말하는 데까지에는 시간이 꽤 걸렸는데, 크게 두 가지가 있었다. 구현이 막힌 것이 아니라 단순히 물리적인 기간 안에 구현이 어려운 케이스와 물리적인 기간과 무관하게 어디서부터 접근해서 해결해 나가야 하는지 난감한 케이스라고 볼 수 있다. 첫 번째 케이스는 거절과 협의의 과정이 미숙해서 생긴 문제였고, 두 번째 케이스는 기술적 성숙도가 떨어지는 문제도 있었지만 근본적으로는 문제를 명확하게 파악하지 못하는 것이 더 큰 문제였다.

 

이 책에서 권고하는 방식은 작업의 우선순위를 정하고 그 우선순위의 과업을 해결하지 못할 때는 거절하는 법을 배울 필요가 있다는 점이었다. 실제로 내 경우에도 커리어 초기에 특정 애니메이션을 구현하는 파트에서 막혀 꽤 시간을 소요했던 기억이 있다. 사실 우선순위로 놓고 보자면 상품의 상세 페이지로 가는 라우터 작업과 API 호출, 그리고 해당 객체가 호출되지 않았을 때를 대비한 예외 처리가 더 중요했지만, 작업이라는 게 하다 보면 특정 구간에 꽂히기 마련이었다. 그때 도움을 줄 수 있는 건 스스로 마음속에 지니고 있는 우선순위라고 생각한다. 우선순위를 정해놓고 자주 리마인드하다 보면 마음 한구석에서 지속적으로 경보가 울리기 때문에 미리 정해놓는 게 중요했다. 그다음으로 언급되는 내용이 거절할 필요에 대한 이야기인데, 결국 거절을 하기 위해선 우선순위를 명확히 하는 것이 선행되어야 했다. 우선순위가 명확하지 않으면 거절의 근거를 마련할 수 없고, 그런 근거가 없다면 명령권자로부터 내려진 작업에 대해 협의하기도 어렵기 마련이었다. 이 책에는 이러한 명확한 우선순위를 정하는 것, 그리고 거절의 흐름을 가져가기 위한 조언을 말하고 있다.

 

그 외에 세 개의 연속된 소제목이 공감되었다. ‘작은 단위로 작업 쪼개기’, ‘작업 소요 시간 추정’, ‘선의 통장’. 일반적으로 작업을 맡게 되면 여러 작은 단위의 기능이 결합되어 있거나, 특정 단위의 모듈로 분리할 필요가 있거나, 혹은 다른 직군과의 지속적인 소통이 필요한 경우가 있다. 그 작업을 온전히 수행하려면 가장 작은 단위부터 작업을 쪼개고, 이를 기준으로 컴포넌트를 분리하는 편이다. 이런 작업이 선행되면 작업 소요 시간을 추정하는 일은 상대적으로 쉽게 판단할 수 있었다.

 

그리고 ‘선의 통장’이라는 표현은 다른 사람을 도우면 선의 통장의 잔고가 늘어나고 도움을 청하면 잔고가 줄어든다는 의미로 사용하고 있다. 이 부분은 주니어 레벨에서 요구되는 ‘질문 잘하기’와 연관이 있다고 느꼈다. 사실 이건 개발에만 해당되는 부분이 아니다. 분야를 떠나 경험이 적은 회사원에게도 해당되고, 무언가 배울 때에도 숙련도가 부족한 학생에게도 해당되는 영역이라고 생각한다. 나의 경우에는 매 순간 다양한 질문을 하고 싶었고, 그 질문은 당장 당면한 문제를 어서 해결하고 싶은 말초적인 욕구로부터 나오기 때문에 정리된 질문이라고 보기는 어려웠다. 우리는 무언가 학습하거나 업무에 익숙하지 못할 때 선임자나 강사로부터 질문을 망설이지 말라는 조언을 듣지만, 정리되지 못한 질문은 명쾌한 답변을 내어놓기 어렵고 그 과정에서 서로 불편한 관계에 놓이게 될 가능성이 높다. 실제로 요즘 이렇게 하려고 노력하고 있는데, 책에서 조언하는 방식은 크게 세 가지다. 기업 내부 지식 베이스에서 찾아볼 것, 프레임워크나 기술 관련 문서를 꼼꼼히 읽어볼 것, 관련 커밋 기록을 살펴볼 것. 사실 이건 옵셔널한 게 아니라 질문하는 사람이 기본적으로 해야 할 일이라고 생각하고, 앞서 저런 선행 과정을 거치고 나면 질문의 맥락이 보이고 이어질 꼬리 질문에 대한 그림까지도 그려지는 경우가 많았다.

 

그 외 다양한 사례와 조언을 마주하면서 책의 마지막인 6부 ‘결론’에 도달하면 배움을 멈추지 말라는 말과 함께 여러 가지 조언을 이어간다. 가장 먼저 호기심을 유지하는 태도다. 이 책에서 세 가지 질문이 도움이 된다고 권유하고 있는데, 그 세 가지는 다음과 같다. 이 솔루션은 정확하게 어떻게 동작하는가, 이 컴포넌트는 내부에서 어떤 일을 하는가, 처음부터 자체 솔루션을 구축하면 어떤 효과가 있을까. 앞서 두 개의 질문은 실제로 기능 구현을 하면서 종종 고민하는 포인트인데, 마지막 질문은 자주 고민하지 못하곤 한다. 실제로 Sentry를 통해 에러 트래킹을 구축했을 때 사수 역할을 해주시는 시니어 개발자님이 하셨던 이야기가 생각났다. “이거 나중에 저희가 만들어보죠. 구조 자체는 어렵지 않은 거 같은데”. 그때 뭔가 부담스러우면서 동시에 인상적이었던 기억이 난다. 아 라이브러리나 툴이 그저 그 존재 자체로 받아들이고 끝나는 게 아니라 직접 구축의 미래까지 그려볼 수 있구나. 경력이 쌓여 나가면서 중니어, 시니어 개발자가 된다는 건 단순히 기능 구현과 내부 코드 파악으로 끝나는 것이 아니라 개선의 여지, 혹은 그 이상의 무언가를 바라보는 것도 중요한 포인트라는 생각이 든다.

 

그다음은 계속 학습하고 도전할 것을 권유하고 있다. 개발의 모든 분야가 그러하지만 내가 주로 작업하는 웹 프론트엔드는 변화가 심한 분야이다. 실제로 작년에 Next.js 13 버전을 통해 프로젝트를 했었지만 얼마 전에 15 버전이 나온 상황이고, React 또한 현재 RC 버전이긴 하지만 19 버전 출시를 앞두고 있다. 웹 프론트엔드 개발자 커뮤니티에서는 매 순간 새로운 기능에 대한 논의가 오가고, 업계 동향을 살핀다. 개발자가 최근 몇 년 사이에 유망 직업으로 떠오르면서 부트캠프니 KDT니 다양한 교육이 진행되고 있지만, 그 이면에는 LLM을 통해 대체되는 것이 아니냐는 불안 또한 공존한다. 물론 난 온전한 대체가 아닌 유용한 툴로서의 LLM이 존재하고 그 활용도에 따라 각각의 미래가 달라질 거라고 생각하지만, 어쨌든 청사진만 존재하지 않기 때문에 학습과 도전이 숙명적인 분야라는 생각을 한다.

 

책에서 제시한 조언과 사례들은 유용하지만 결국 도구나 지침에 가깝다. 결국 중요한 것은 어떻게 나의 상황과 맥락에 맞게 해석하고 활용하느냐에 있다. 이 책을 멋대로 한 줄 요약하자면, 능동적인 성장의 주체가 되라는 의미로 보였다. 단순히 업무 성과를 내는 것에 그칠 것이 아니라 자신의 커리어와 삶 전반에 걸쳐 능동적으로 목표를 설정하고, 그 목표를 향해 나아가는 주체적인 행동들이 결국 전체 그림을 그려내는 과정이라는 것이다. 개발 직무를 떠나 내가 어떤 사람이 될지는 지금 내가 무엇을 고민하고, 실행하는가에 달려 있다는 점이다. 그 실행은 끝내 능동적이고 주체적이어야 할 것, 그 메세지와 함께 책의 마지막 챕터를 덮었다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

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

 

회사에 근무하는 것을 넘어서서 장기적으로 커리어를 관리하는 것에 대한 관심은 누구나 갖고 있을 거라 생각합니다.

 

요새는 유튜브를 포함해 다양하게 수익을 창출할 수 있는 IT 업무들이 있지만, 그럼에도 우리의 본업이 있다면 본업에서 "유능한" 직원이 되는 것은 필수라고 생각합니다.

 

언젠가 개발 인적 자원을 매니징하는 직원이 된다면, 필요한 역량이 무엇인지 늘 고민해보고 실험해야할텐데 이 책은 이러한 IT 개발 인력이 성장해 나가면서 필요한 로드맵을 제공한다고 봅니다.

책을 처음 받으시면 묵직하다는 느낌을 받게 됩니다.

책의 구성, 편집, 가시성등도 매우 좋고 무엇보다 게르겔리 오로스 저자님과 이민석 교수님의 번역서적이여서

아주 개발자 입장 및 현실감 있는 구문으로 책이 잘 구성되어 있을거라는 기대감이 들게 합니다.

 

책의 제목처럼 소프트웨어의 연차와 무관하게 다양한 엔지니어 연차에 대해서 가이드북이 될것이라는 기대를 가지고 

책을 살펴보았습니다.

 

책의 구성은 총 6부, 26장으로 구성되어 있습니다.

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

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

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

4부 : 실용주의 테크리드

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

6부 : 결론

 

책의 구성 처럼 다 연차와 경력에 필요한 시점의 엔지니어 가이드를 받을수 있는 범위로 되어 있습니다.

 

 

 

 

 

 

■ 1부. 개발자 캐리어의 기본 사항

· 캐리어 패스에 대해서 상세히 알수 있습니다.

경험이 많은 개발자 또는 경력이 있으신 분들은 조금더 그룹핑을 통해서 머리속으로 알고 계신 사항을 정리할수 있고, 

경험이 적은 분들은 조금 더 구체적으로 기업 유형 및 커리어패스 (엔지니어즉 개발 직군, 매니저 직군)에 대한 정리를 하실수 있습니다.

우리는 이러한 캐리어 경력을 통해서, 승진도 하고 보상을 받기를 원합니다. 매니저 입장에서는 이러한 사항을 공정하고 현실적으로 

판단하기를 추구합니다. 이러한 부분에 가이드 라인을 제공하기에 각자의 입장에서 상대방의 관점으로 어떻게 접근 해야 하는지 알수 있습니다.
성과 평가와 승진에 대해서는 구체적으로 언급된 사항들이 매우 구체적으로 기술하며, 내가 부족한 부분을 바로 확인하고 이해하기 쉽게

기술되어 있습니다. 많은 부분 공감이 됩니다.

 

 

 

· 이직에 대해서 조언이 현실적입니다. 이책은 소프트웨어 엔지니어 입장으로 기술되어 있기 때문에 그 특수성이 있습니다.

적극적/소극적으로 이직을 알아볼때, 승인하거나 이직할때 고려해야 하는 사항, 연차가 높을때의 이직시 고려해야 하는 사항, 

면접에 준비하는 과정, 이직후 온보딩의 다양한 케이스 등이 설명되어져 있습니다.

온보딩의 경우 소규모 기업, 큰 기업, 시니어급 이상의 온보딩, 스태프 이상의 온보딩등 각각의 기업에서 기대하는 부분과 

접근해야 하는 관점이 많은 공감을 가지게 합니다.

 

 

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

우리는 대부분 소프트웨어 개발자로 시작을 하였기 때문에, 해당 세션에 대해서 가장 관심을 많이 가지게 됩니다.

· 업무를 완수하기 위해서는 어떻게 접근해야 하는지 설명합니다. 

여러 이해관계자가 있는 업무에서 우리는 어떻게 접근해야지 효율적인 업무를 통해서 회사 및 관련 부서에 효과적인 업무 진행이 가능한지

다양한 케이스 및 선택할수 있는 조언들이 포함되어 있습니다.

 - 가장 중요한 업무에 집중하기

 - 막힌 부분 기술적으로 해결하기

 - 작은 단위로 작업 쪼개기

 - 작업 시간 추정 방법 등 매우 현실적인 내용입니다.

원서의 저자분이 미국 기준 및 관점으로 설명이 되어 있으면 하는 생각도 들었지만, 

언급된 내용을은 모두 국내에서도 적용하고, 사용되어지는 관점 및 특별하게 다른다고 생각되어 지는 부분은 없었습니다.

 

· 코딩관련, 개발능력 향상

어떻게 하면 실력이 향상되는지 방향성을 제시해줍니다.

무슨 방법으로 하면 업무도 하면서, 실력을 늘릴수 있을까요? 회사에서 조직문화가 책에 언급된 문화가 정책되어 있다면 좋겠지만

인력의 구성 및 문화가 다르면 바로 적용해볼수는 없지만, 지속적으로 강조하고 작은 단위로도 적용을 해보야 한다.

 - 코드 리뷰, 더 많은 코딩을 해볼수 있는 방법, 가독성을 높일수 있는 코드 작성 방법, 품질 높은 코드를 작성하는 방법

 - 다른 언어를 언제 배울까, 깊게 갈까? vs 넓게 갈까? 디버깅, 리팩토링에 대해서 어디까지 적용하고 효율적으로 접근하기 위한 가이드를 제시합니다.

- 로컬 환경 구성 및 디버깅, Git형상관리 등에 대해서 왜 필요하고, 주요 관점으로 바로 학습이 필요한 부분도 제시합니다.

이러한 내용을 살펴볼때, 내가 지금 필요한 부분이 무엇인지 각자 독자분들이 느끼점 점이 분명 다르게 다가오는 것을 느낄수 있습니다.

전반적으로 개념적으로 작게 적용하는 부분도 있고, 평소에 필요한 부분이 각자 다르기 때문입니다.

관련 사항은 모두 지금 필요한 부분으로 지금 바로 진행하는 것을 추천합니다.

 

 

■ 3부. 다재다능한 시니어 엔지니어

엄무를 완수하는 것이 제일 중요한 시점입니다. 

· 필수로 챙겨야 하는 이해관계자들과의 관계 및 접근법 내용이 있습니다.

프로젝트 관리 방법이라고 볼수도 있고, 소프트웨에 공학의 내용이라고 생각이 들수도 있습니다.

전체적인 부분은 아니고, 필요한 핵심적인 내용으로 있습니다.

 - 인식과 현실은 다를수 있다.

 - 업무 내용에 대한 소통

 - 조금 약속하고 많이 일하고, 소통 많이 하기

 - 장애가 되는 요소를 조기에 알리고 절충안을 제시하자

 - 나만의 시간 확보하기 (인바운드 요청 효율적으로 처리하기 등),

  : 우선순위를 정할때 많이 사용하게 되는 중요도/긴급성 판단하는 매트릭표

 

 

 

· 현업 및 팀워크를 잘하기 위한 방법

 코드 리뷰 및 멘토링, 경험이 부족할때 사용하는 방법 및 관련 부분을 어떠한 순서로 접근해야 할지 관련 내용이 공감대를 가지게 됩니다.

 

 

 

· 소프트웨어 엔지니어링 관련 부분

최신 현재의 기술 및 언어 기준으로 내용 설명이 됩니다.

 - 언어, 플랫폼, 도메인 및 디버깅, 기술부채, 문서화, 테스트 (UI테스트, 성능, 부하 등) 우리가 각자 엔지니에 입장에서 

접근해야 하는 기준을 알수 있습니다.

소프트웨어 아키텍처를 도입하려고 한다면 어떻게 해야 할까요?

조금 막연하시죠 예전에 나온 아키텍처도 있고, 요즘 많이 사용하는 아키텍처도 있고 무분별하게 도입하는것은 실패하게 되어 있습니다.

이러한 부분을 적용하려면 고려해야 하는 부분과 순차적으로 접근해야 하는 사항들도 잘 설명되어져 있고

도메인 주도 설계를 예시로 들어서 접근합니다.

 

■ 4장. 실용주의 테크리드

- 16장. 프로젝트 관리

- 17장. 프로덕션 출시

- 18장. 이해관계자 관리

- 19장. 팀 구조

- 20장. 팀내 역학

 

내용을 살펴보면, 회사 차원으로 크게 프로젝트, 프로덕션등을 다루고 있습니다.

개인의 관점이 아닌 조금 더 큰 개념으로 소프트웨어 엔지니어 입장으로 해당 직책을 가지고 있는 분들이 

접근해야 하는지 설명합니다.

역활에 대해서 고민이 있는 부분은 이렇게 명확히 포지션 정리 표는 현재 회사에서 부족하거나 조금 다른 부분에서 

해야할 역활을 다시 정리가능합니다.

 

 

 

프로젝트에 대해서 기존 회사에서 물론 진행된 케이스가 있습니다.

회사에서 관습대로 진행된 부분에 대해서 효율적으로 진행하기 위한 놓치고 있는 부분을 살펴볼수 있어서 

좋았습니다. 

 - 프로젝트 타임라인이 변경되는 경우

 - 프로젝트에 참여할 인원이 적은 경우

 - 프로젝트에 참여하는 사람이 바뀌었을때 등

다앙한 경우에 대한 케이스가 있습니다.

우리가 주로 사용하는 프로젝트 관리 방식의 내용도 정의해주고 있어서 좋습니다.

특별히 알아보지 않고, 관습적으로 사용하는 경우도 많이 있습니다.

 

 

 

 

 

<다양한 프로세스들의 비교표>

 

 

 

테스트시 카리나아 테스트 방법등에 대한 소개등 전체적인 배포 프로세스도 잘 나와 있습니다.

 

 

 

 

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

스태프 엔지니어 대한  역활 및 정의, 북극성, KPI, OKR에 대한 지표 및 측정대상에 대해서 설명합니다.

매년 회사에서 목표설정을 할때 등록하는 세부 항목에 대해서 부족한 부분과 더 필요한 개념에 대해서

잘못 알고 있는 것을 수정할수 있을것 같습니다.

- 고객입장에서 제품을 바라보기

- 타 팀과 함께 협업하는 방법

- 협업에 대한 다양한 부분 (사내 정치, 다른 사람에게 좋은 영향력 미치기, 인적 네트워크 향상 등)

 : 이러한 부분이 소프트웨어 기반으로 설명되어지고, 소프트웨어 관점으로 설명되어 지기 때문에 많은 공감이 들고

이해가 되는 부분이 많았습니다.

 - 신뢰성 있는 소프트웨어를 위해서 취해야 하는 다양한 방법들, 복원등에 대한 부분도 세심히 살펴봐야 합니다.

 

글이 1줄~2줄이여도 매우 시시하는 바가 다르고, 중요성에 공감하는 경우가 매우 많았습니다.

책에서 제시하는 가이드를 모두 다 바로 적용할 수는 없지만, 

분명 어렵고 혼돈이 되는 부분은 이 책이 좋은 가이드 북이 되어 줄것이라고 생각되었습니다.

회사에 갓 들어간 주니어 개발자는 자신에게 맡겨진 업무 처리하기에도 바빠서 다른 것들을 신경쓸 겨를이 없습니다.
하지만, 점점 경력이 쌓이고 실력이 쌓일수록 코딩 이외의 다른 것들, 예를 들면, 자신의 커리어, 동료들의과의 관계, 승진, 내가 하는 일 혹은 우리 팀이 하는일이 비지니스에 끼치는 영향 등, 다양한 것들에 신경을 써야 합니다.
그러나 이런 종류의 일들은 따로 가르쳐 주거나 배우기도 힘듭니다.

 

저자인 게르겔리 오로스(Gergely Orosz)는 이 분야에서 15년이상의 경력을 가지고 있는 엔지니어이자 매니저이고, 
그런 그가 자신의 경력동안 보고 느낀 점을 4년이라는 시간을 들여 집대성한 결과물이 이 책입니다.
'모든 페이지에 시간이 지나도 변하지 않을 관찰과 조언을 담았다.'라는 그의 말처럼 결코 얇지 않은 책임에도 불구하고, 그의 풍부한 경험치에서 우러나오는 조언들이 담겨있습니다.

 

갓 입사한 신입 개발자부터 각 단계별 개발자들에게 요구되는 역할, 책임, 역량을 설명해 주며, 개발자의 사고방식 변화의 필요성, 의사결정을 하는 과정, 조직에 기여하면서 자신을 어필할 수 있는 실용적인 통찰을 제공해 준다는 점이 이 책이 다른 책과 차별되는 특징이라고 느꼈습니다.

 

물론, 이런 내용들은 저자가 외국 IT 기업들에서 경험한 내용들이기 때문에 완전하게 우리나라 정서와 맞다고 할 수는 없지만, 개발자의 역할과 성장에 관한 이야기는 어디서나 보편적인 가치로써 인식될 수 있다고 봅니다.

 

이 책은 총 6부로 구성되어 있으며, 각각의 구성은 다음과 같은 내용들로 구성되어 있습니다.

 

1부 : 개발자 커리어의 기본 사항
자신의 커리어에 관심을 가지는 것은 오직 자기 자신뿐이라는 사실을 강조하며. 커리에 개발에 얼마나 관심이 있는지 깨닫고 그에 맞는 노력을 하자는 내용입니다.
커리어 관리의 중요성을 강조하는 것으로 시작하며, 회사 선택, 성과 평가, 승진, 이직과 같은 개발자 커리어의 모든 단계에서 적용할 수 있는 실질적인 조언을 제공합니다.
특히, 성과를 잘 전달하고 피드백을 활용하는 방법, 그리고 언제 이직해야 할지와 같은 중요한 결정을 내리는 방법에 대해서 조언합니다.

 

2부 : 유능한 소프트웨어 개발자
개발자로써 실력을 향상시키는 방법에 대한 내용으로서, 다양한 연습기회를 가지고, 주위 사람들에게 많이 배우고, 지속적으로 학습하는 습관을 가지라는 내용을 전달합니다.
기술적 역량으로는 코드 품질 향상, 가독성, 디버깅, 리팩토링과 같은 내용을 언급하며, 코드를 작성하는 단순한 개발자를 뛰어넘기 위해서 멘토 찾기, 협업 능력, 문제 해결 사고방식에 대해서도 다룹니다.


3부 : 다재다능한 시니어 엔지니어
시니어 엔지니어에게 요구되는 기술적 요구사항 뿐만 아니라, 팀, 조직, 비즈니스 관련 내용들을 소통하며 복잡한 문제를 해결하는 능력에 대해서 이야기합니다.
이 부분에서는 설계, 테스트, 협업, 문서화, 아키텍처 설계 등 시니어 개발자로서의 역할을 상세히 다루며, 실질적인 도구와 사례를 통해 문제 해결 능력을 키울 수 있도록 돕습니다.


4부 : 실용주의 테크리드
이 부분에서는 테크리드로 성장하기 위한 기술적 리더십과 팀 관리 역량에 대한 이야기를 합니다.
테크리드는 프로젝트를 효과적으로 관리하고, 리스크를 식별하며, 다양한 이해관계자와 소통하여 팀의 성과를 극대화하는 방법을 강조합니다. 
특히, 건강한 팀 문화를 만드는 법과 기술적 리더로서의 역할에 대해 깊이 다룹니다.


5부 : 롤모델로서의 스태프 및 수석 엔지니어
팀 내에서 좋은 영향력을 끼치는 엔지니어, 다른 개발자들에게 롤모델이 되어서 비즈니스와 기술 모두에 기여하는 전문가로 성장하기 위한 방법을 이야기합니다.
특히, 신뢰성 높은 소프트웨어 시스템 구축과 확장 가능한 아키텍처 설계에 대한 깊이 있는 통찰에 대해서도 언급하고 있습니다.


6부 : 결론
마지막 Chapter에서는 개발자로써 꾸준히 성장하기 위해서 배움을 멈추지 않는 자세에 대해서 강조합니다.
그리고 꾸준히 성장하기 위해서 어떤 방법들이 있는지에 대해서도 논의합니다.


책을 다 읽고 가장 먼저 든 생각은 제대로된 SW 개발자들을 위한 바이블이 나왔다라는 생각이 들었으며, 옆에 두고 시간날때 마다 들춰봐야하는 책이라고 생각합니다.
코딩에만 파묻혀서 닫혀있던 안목을 한단계,아니 두단계 넓혀주는 책입니다.
주어진 기능만을 단순하게 구현하는 개발자에서 비지니스 전체와 영향, 확장성까지 고려할 수 있는 안목을 키워주며, 
더 나아가 시니어 개발자로 성장하면서 시스템 설계와 아키텍쳐에 대한 이해도, 복잡한 시스템을 설계, 구현 방법, 확장성, 성능, 보안 등을 고려한 아키텍쳐 설계 능력을 할 수 있는 안목 또한 키워줍니다.

 

특히, 이 책이 강조하는 것이 방금 언급한 부분인데요, 개발 그 너머의 영역에 대한 능력을 향상시키라는 점을 강조한다는 점입니다.
코딩을 넘어 아키첵쳐를 이해하고 비지니스에 기여하는 방법, 협업하여 시너지를 이끌어내는 방법, 조직내에서 긍정적인 변화를 만들어 내는 방법 등, 
개발자에게 요구되는 그 너머의 능력에 대한 실력 향상을 시키는 것에 방점을 찍고 있습니다.

이 책을 읽고 나서야 이민석 교수님(옮긴이)께서 우리나라 개발자들이 이 책을 쉽게 접하길 바라는 마음과 책에서 느낀 감동과 통찰을 나누고 싶다는 옮긴이의 말씀이 제대로 이해가 되었다. 

 

저자는 엔지니어부터 매니저로서  다양한 기업에서의 경험을 가지고 있으며, 75만 명 이상의 구독자를 보유한 테크 뉴스레터의 발행자이기도 하다. 이러한 풍부한 경험을 바탕으로 한 조언들은  알기 쉬우면서도 세심하게 적혀있다. 

 

이 책은 소프트웨어 엔지니어의 커리어패스별로 서술되어 있다, 한국의 현실과 맞지 않아 보일 수 있다고 생각할 수 있겠으나, 그것은 단순한 직급 명칭의 차이라고 개인적으로 생각한다. 여기서 설명하는 소프트웨어 엔지니어의 세부 업무는 해외 기업이나 한국 기업이나 본질적으로 동일하기 때문이다. 

 

이 책은 총 6부, 전체 26개의 장으로 구성되어 있다. 1부 '개발자 커리어 기본 사항'에서는 초급 엔지니어부터 스태프 엔지니어 이상에 이르기까지 모든 직급의 개발자가 알아야 할 커리어 관리의 기본 사항을 설명한다. 2부 '유능한 소프트웨어 개발자'는 초급 개발자와 주니어 개발자를 위한 커리어 조언을, 3부 '다재다능한 시니어 엔지니어'에서는 시니어 개발자를 위한 커리어 조언을, 4부 '실용주의 테크리드'는 스태프 엔지니어나 테크 리더를 위한 커리어 조언을 다룬다. 5부 '롤모델로서의 스태프 및 수석 엔지니어'에서는 소프트웨어 엔지니어로서 최종 단계인 수석 엔지니어에 관한 커리어 조언이 설명하고, 6부 '결론'으로 마무리된다.

 

1부 '개발자 커리어 기본 사항'은 전체 6개 장으로 구성되어 있다.

1장 '커리어패스'에서는 기술 기업의 유형(빅테크, 중대형 기술 기업, 스케일업, 스타트업)을 알아보고, 기업 유형별 소프트웨어 엔지니어링의 커리어패스를 설명한다.

<1부 개발자 커리어의 기본 사항, 1장 커리어패스, p48~p49>
 

2장 '커리어 관리'는 소프트웨어 엔지니어의 커리어 관리 필요성과 성공으로 이끄는 커리어 관리 방법을 알려준다.

3장 '성과 평가'에서는 기업의 성과 평가 시스템을 설명하고, 좋은 성과 평가를 받는 방법을 살펴본다.

4장 '승진'은 승진이 결정되는 일반적인 과정과 기업의 유형별 승진 프로세스를 살펴보고, 승진을 위한 방법을 알려준다.

5장 '어디서나 통하는 접근법'에서는 기업의 유형별 성공 전략과 모든 유형의 기업에서 소프트엔지니어로 성공하는 방법을 알려준다.

6장 '이직'은 이직을 바라보는 다양한 관점과 기술 면접 준비, 이직과 관련된 다양한 전략을 설명한다.

 

2부 '유능한 소프트웨어 개발자'는 전체 4개 장으로 구성되어 있다.

7장 '업무를 완수하는 개발자'에서는 개발자로서 빠르게 정착할 수 있는 업무 집중법, 분석, 작업 소요 시간 추정, 멘토링 방법을 설명한다.

8장 '코딩'은  코딩 연습법과 일반적인 좋은 코드 작성법을 알려준다.

9장 '소프트웨어 개발'에서는 디버깅, 리팩터링, 테스트의 개념과 활용법을 설명한다.

10장 '생산적인 소프트웨어 개발자의 도구'는 개발자가 일반적으로 사용하는 도구(Git, 터미널, 정규식, SQL, AI 코딩 보조 도구)를 알기 쉽게 설명한다. 

<2부 유능한 소프트웨어 개발자, 2부 핵심요약, p200~p201>

 

3부 '다재다능한 시니어 엔지니어'는 전체 5개 장으로 구성되어 있다.

11장 '업무를 완수하는 엔지니어'에서는 시니어 엔지니어의 업무 이해와 실용적인 업무 처리법을 알려준다.

12장 '협업 및 팀워크'는 협업 커뮤니케이션과 코드 리뷰, 멘토링, 피드백 기술을 설명한다. 

13장 '소프트웨어 엔지니어링'에서는 프로그래밍 언어 확장과 도메인 이해, 문서 작성, 개발 방법론 기법을 알려준다.

14장 '테스트'는 단위 테스트, 통합 테스트, UI 테스트, 자동화된 테스트의 개념과 장단점을 설명한다. 

<3부 다재다능한 시니어 엔지니어 14장 테스트, p276~p277>

 

15장 '소프트웨어 아키텍처'에서는 소프트웨어 아키텍트로서의 다양한 기술을 살펴본다.

 

4부 '실용주의 테크리드'는 전체 5개 장으로 구성되어 있다.

<4부 실용주의 테크리드, p300~p301>

 

16장 '프로젝트 관리'는 프로젝트 관리의 필요성과 효과적인 프로젝트 관리법을 설명한다.

17장 '프로덕션 출시'에서는 사례를 통해 성공적인 프로덕션 출시를 위한 방법과 원칙 및 도구, 기법을 알려준다.

18장 '이해관계자 관리'는 업무 이해관계자의 유형과 관리 방안, 비협조적인 이해관계자 대처법을 설명하고

19장 '팀 구조'에서는 팀내의 구성원 역할과 프로세스, 집중력 향상 방법을 알려준다.

20장 '팀 내 역학'은 건강한 팀과 그렇지 못한 팀을 비교하고 관계 개선을 위한 방법과 다른 팀과의 소통 방법을 살펴본다.

 

5부 '롤모델로서의 스태프 및 수석 엔지니어'는 전체 5개 장으로 구성되어 있다.

21장 '비즈니스의 이해'에서는 팀과 제품을 비즈니스 목표와 연계하여 생각하고 성장하는 방법을 설명한다.

22장 '협업'은 좋은 영향력을 끼치기 위해 사내 정치와 같은 민감한 부분과 동료와 협업, 인적 네트워크를 확장하는 방법을 알아본다.

23장 '소프트웨어 엔지니어링'에서는 수석 엔지니어의 코딩에 관한 자세와 AI 코딩 도구와 같은 효율을 높이는 도구, 어플라이언스 준수 등 안전한 개발을 위한 방법을 살펴본다.

<5부 롤모델로서의 스태프 및 수석 엔지니어, 23장 소프트웨어 엔지니어링, p424~p425>

 

24장 '신뢰성 높은 소프트웨어 시스템'은 로깅, 모니터링, 알림, 온콜, 사고 관리와 같은 신뢰성 높은 시스템 구축 방안을 알아본다.

25장 '소프트웨어 아키텍처'에서는 아키텍처를 설계하는 다양한 기법과 확장 가능한 아키텍처 설계법을 살펴본다.

 

6부 '결론'의 26장 '배움을 멈추지 말자'에서는 소프트웨어 엔지니어의 꾸준한 성장을 위한 필요성과 학습법을 알려준다.

마지막 부록은 다양한 배경과 전문성을 가진 5분 개발자의 인터뷰 내용이 소개되어 있다.

 

소프트웨어 엔지니어의 일대기를 한 권의 책으로 요약한 것 같다. 주니어 엔지니어때부터 기업의 최고 기술 책임자까지 갖춰야할 덕목을 빠짐없이 다루고 있다. 다만 초급 엔지니어에게는 추천하고 싶지 않다. 처음부터 부담감을 가질 필요가 없기 때문이다. 

 

책에서는 소프트웨어 엔지니어가 성장하는 올바른 길을 쉽고 자세히 알려준다. 각 부마다 핵심 요약이 있지만, 개인적으로 책 전체가 핵심 요약인 것 같다.

 

특히 인상 깊었던 점은 기본 원칙을 강조하면서도 AI 도구까지 최신 정보를 다루고 있다는 것과 책 속에서 다양한 책을 소개한다는 점이다. 마치 한 권의 책을 읽었는데, 다시 10~20권의 숙제를 받은 느낌이랄까? 너무 좋다. 

 

부록의 전문가 5인의 인터뷰도 빼놓을 수 없겠다. 각 분야에서 정상을 달리고 계시는 전문가가 들려주는 진솔한 경험담과 성장 조언에서 많은 영감을 얻을 수 있었다.

 

끝으로, 이 책은 소프트웨어 엔지니어의 성장 과정을 다루고 있지만, 결국 올바른 마음가짐과 실천이 무엇보다 필요한 것을 강조한다는 느낌을 강하게 받았다. 이민석 교수님의 당부의 말씀으로 마무리하고자 한다.

 

여러분의 커리어는 스스로 책임지고 발전시켜야 한다는 점을 잊지 않기를 바랍니다. 독자 여러분이 빠르게 변화하는 기술과 환경에 적응하며, 나아가 변화를 이끌 수 있기를 기대합니다.
부록, p514


 

"YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다"


 

이번에 리뷰하게 된 책은 '소프트웨어 엔지니어 가이드북'이라는 도서 입니다.

 

이 책은 개발자의 전체 경력을 다루고 있습니다.

크게 6부로 구성되어 있습니다.

 

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

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

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

- 4부 실용주의 테크리드

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

- 6부 결론

 

총 장수는 26장으로 이루어져 있으며, 성과 평가, 승진, 이직, 코딩, 개발자의 도구, 테스트, 팀 구조, 팀 내 역학, 비즈니스의 이해, 협업 등 다양한 내용을 다루고 있습니다.

 

마음에 와닿는 말들이 너무 많았지만 일부만 가져와서 제 생각과 함께 리뷰를 작성해보고자 합니다.

책에는 더욱 많은 내용들이 담겨 있으니 주니어, 시니어 개발자에 상관없이 모든 개발자가 기회가 된다면 읽어보면 좋을 것 같다는 생각이 들었습니다.

 

일을 잘하는 사람

책의 내용과 비슷한 생각을 했습니다. '엔지니어가 일을 잘하는 사람으로 보이지 않는다면 아무 소용없다.' 

그렇기에 책에서는 일을 잘하는 사람이 되기 위한 방법들을 소개하고 있습니다.

그런 여러가지 방법 중 아래의 '난해한 피드백의 해석', '부정적인 피드백을 무시하지 말고 열린 마음으로 받아들일 것'이라는 내용을 만나게 되었습니다.

 

부정적인 피드백을 들었을 때 무시하거나 화만 낸다고 더 나은 개발자가 될 수 있을까요?

내 문제를 해결하려고 노력하는 사람이 더욱 나은 사람이 될 수 있을 것입니다.

부정적인 피드백도 되돌아보면서 발판으로 삼는 연습이 필요하다는 생각이 들었습니다.

 

지금 직장에 만족할 때

 

이 부분은 사실 제 이야기를 써놓은 것인가? 라는 생각도 들었습니다.

현재 직장에 안주하고 있는데 그럴 때도 스스로의 평가와 레벨업을 위한 작업들이 필요하다는 점입니다. 이력서를 써서 외부에서 보는 내 위치를 파악하고, 기술 면접을 준비하면서 기술을 익히는 준비 말이죠.

 

어렵긴 하겠지만 이런 준비들을 천천히 해야한다는 생각이 들었습니다.

 

3부, 시니어 엔지니어로 넘어가게 되면 내용이 조금씩 변하기 시작합니다.

개인의 문제에서 팀의 문제를 바라보는 자세를 가져야한다고 말하는것 같았습니다.

멘토링과 피드백에 관련된 내용을 주로 다루고 있습니다.

 

그런 과정을 통해 '개인 브랜드'를 구축하고 지속적인 브랜딩이 필요하다고 말하고 있습니다.

3부의 마무리는 다음과 같은 말로 끝납니다.

 

'롤모델이 되는 시니어 엔지니어가 되려면 소프트웨어 엔지니어링 기술 숙달로는 충분하지 않다. 업무에 투입하는 노력보다 업무의 영향력이 더 중요하다.

 

4,5부에서는 더 많은 경력을 가진 개발자들에 대한 내용을 다루고 있습니다.

좋은 내용들이 많으니 읽어보시기를 추천드립니다.

 

정리

 

이 책은 주니어 개발자, 시니어 개발자 상관없이 모든 개발자들이 읽어보면 좋을만한 책이었습니다.

본인이 잘하고 있는지, 본인의 연차에서는 어떤 수준이 되어야 하는지.

그렇다면 그렇게 되기 위해서는 어떤 것들을 하면 좋은지에 대한 내용을 다루고 있습니다.

읽어보는 것 뿐 아니라 실천할 수 있다면 더 좋은 개발자가 될 수 있을 것 같은 생각이 드는 책이었습니다.

 

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

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
소프트웨어 엔지니어 가이드북
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
소프트웨어 엔지니어 가이드북
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
소프트웨어 엔지니어 가이드북
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1