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

한빛출판네트워크

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

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

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

한빛미디어

번역서

판매중

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

 

 

 

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

현대 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 발전에 따른 개발자 역할의 변화에 관한 이야기를 통해 자신의 커리어에 유용한 인사이트를 얻길 바란다.

 

대상 독자

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

 

주요 내용

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

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

 

저자인 게르겔리 오로스(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