상세정보
미리보기
소프트웨어 엔지니어 가이드북
- 저자
- 게르겔리 오로스 저/이민석 역
- 출판사
- 한빛미디어
- 출판일
- 2024-11-04
- 등록일
- 2025-01-13
- 파일포맷
- EPUB
- 파일크기
- 28MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
“그날 나는 결심했다. 내가 매니저가 된다면 팀원들에게 성장에 필요한 조언을 주리라.”현대 IT 산업에서 소프트웨어 엔지니어로 성공적인 커리어를 쌓으려면, 뛰어난 코딩 실력만으로는 부족하다. 빠르게 변화하는 기술 환경 속에서 직무를 효율적으로 수행하고, 장기적인 커리어 발전을 이루기 위해서는 더 많은 준비가 필요하다. 이 책은 많은 기업에서 엔지니어링 매니저로 재직한 저자가 현업에서 팀원들에게 조언을 주는 과정에서 깨달은 경력 관리의 비법을 담고 있다. 소프트웨어 엔지니어가 실제 직장에서 겪을 다양한 상황에 대한 해결책을 소개하는 가이드북이다. 단순한 이론을 넘어 실제 현장에서 바로 적용할 수 있는 유용한 정보까지 담았다. 주니어 엔지니어부터 시니어 엔지니어, 스태프 엔지니어에 이르기까지 경력 단계에 따라 다음 단계로 나아가는 데 필요한 정보와 커리어 발전을 위한 구체적인 로드맵, 장기적인 커리어 성공을 위한 청사진을 만나보자.
저자소개
소프트웨어 엔지니어이자 작가로, 75만 명 이상의 구독자를 보유한 테크 뉴스레터 ‘프래그매틱 엔지니어(The Pragmatic Engineer)’를 발행하고 있다. 우버에서 엔지니어링 매니저이자 엔지니어로 재직했으며, 마이크로소프트, JP모건, 스카이프, 스카이스캐너에서 엔지니어로 재직했다.
목차
[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 시대, 개발자의 성장과 미래