이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1장 프로그래머에서 이제는 엔지니어로다양한 명칭으로 불리는 엔지니어기초의 중요성소프트웨어 엔지니어가 되는 다양한 경로교육받은 지식과 알아야 할 지식게으른 프로그래머 정신의 수용새로운 시각의 가치성급한 해결책 제시의 위험성소프트웨어의 황금률 적용정리직접 실천해 보자더 읽을거리2장 코드 문해력 = 실무 기본 능력기존 코드 작업의 어려움인지 편향낯선 코드 접근법소프트웨어 고고학효과적인 코드 이해 전략__IDE 기능 활용__테스트에서 얻는 통찰력완성의 길, 연습정리직접 실천해 보자더 읽을거리3장 사람을 위한 코드 작성법바퀴 재발명 금지좋은 코드란간결함의 가치__컴퓨터 과학의 제0법칙__상용구 코드 주의__상속보다는 구성__짧은 메서드 지향독자를 위한 코드 작성코드 주석의 문제테스트를 문서로 사용멋부린 코드 금지코드 리뷰형식적 코드 리뷰 금지비판받을 용기신뢰 구축새로운 언어 학습정리직접 실천해 보자더 읽을거리4장 소통을 돕는 적정 모델링소프트웨어 모델링의 정의와 이유필요한 다이어그램의 종류__컨텍스트 다이어그램__컴포넌트 다이어그램__클래스 다이어그램__순차 다이어그램__전개 다이어그램__데이터 모델__기타 다이어그램모델링 모범 사례__단순하게 유지하라__독자를 파악하라__조심해서 색상을 선택하라__표준과 템플릿을 수립하라도구정리직접 실천해 보자더 읽을거리5장 자동 테스트: 좋은 소프트웨어를 만드는 최고의 습관자동 테스트의 이점__문서 역할을 하는 테스트__유지보수성 향상__자신감 상승__일관성과 반복 가능성자동 테스트 유형__단위 테스트__통합 테스트__종단 간 테스트__테스트 유형별 비중__테스트하지 말아야 할 것코드 실행률테스트 작성__시작 방법__단정문__단위 테스트 작성__모의 객체__통합 테스트 작성__종단 간 테스트 작성정리직접 실천해 보자더 읽을거리6장 낯선 시스템에 빨리 친숙해지기낯선 코드 기반 이해__출발점, 큰 그림__실행 흐름 파악__점진적인 정신 모델 구축샘플 프로세스안전한 수정__안전한 리팩터링__스카우트 규칙__되돌릴 수 있는 작은 변경정리직접 실천해 보자더 읽을거리7장 엔지니어라면 꼭 알아야 할 UI 설계 기초모두를 위한 디자인__사용성__접근성__국제화와 지역화사용자 파악__2차 사용자__개발자는 사용자가 아니다__문화의 영향사용성 극대화디자인 원칙__대비__반복__정렬__근접성디자인 원칙 적용올바른 것을 명확하게 만들기좋은 오류 메시지의 중요성파괴적인 작업정리직접 실천해 보자더 읽을거리8장 다양한 데이터 기술을 적절하게 사용하는 방법자료형과 형식의 이해__정형 데이터와 비정형 데이터__일반적인 데이터 형식__기타 특수 사항효과적인 데이터 저장__데이터베이스 유형과 사용 사례__데이터 영속성 및 관리__데이터베이스 연결과 트랜잭션__일관성 모델 및 캐시 전략__데이터 증가 대책데이터 질의와 성능 관리__효율적인 질의문 작성법__도구 및 모범 사례데이터 이전과 변환__데이터 이동 기초__스키마 변경 처리정리직접 실천해 보자더 읽을거리9장 소프트웨어 아키텍처: 복잡하고 중요한 결정아키텍처란 무엇인가득실 관계아키텍처와 설계품질 속성__품질 속성 식별__이해관계자 합의아키텍처 방식애자일 아키텍트적합도 함수아키텍처 다이어그램아키텍처 결정 기록정리직접 실천해 보자더 읽을거리10장 운영 환경: 코드가 살아야 하는 낯선 환경복잡한 운영 환경__예측 불가능한 사용자“내 컴퓨터에서는 되는데요”운영 준비된 코드 구축__성능 최적화__환경별 설정 구성__오류 처리와 로그__보안 필수사항전개 파이프라인__전개 환경__버전 관리 전략__전개 자동화__전개 전략__지속적 통합과 지속적 전개운영 시스템 모니터링과 유지보수__모니터링__시스템 유지보수정리직접 실천해 보자더 읽을거리11장 생산성 강화: 효율적으로 일하기개발 환경 최적화__개발 도구를 익혀라__나만의 광선검 제작__명령행의 힘__키보드 단축키의 힘을 키워라전략적 자동화생산성 있는 습관의 끝없는 추구__협업 학습__개인 지식 관리정리직접 실천해 보자더 읽을거리12장 즐겁게 배우며 앞서가는 엔지니어 되기벼락치기의 한계기술 습득학습 습관AI 활용 학습기회 상실 공포시간 투자 전략혁신 실천아키텍처 브리핑여유를 실천하자정리직접 실천해 보자더 읽을거리13장 기술 세계의 소프트 스킬협력적 소통__소통 수단__옮겨 말하기__청중을 파악하라영향력 행사__가치 이해와 표현__전략적 영향력 행사이해관계자 관리시간 관리__제작자의 일정__집중력 유지정리직접 실천해 보자더 읽을거리14장 성공적인 경력 계획과 관리진로 계획__열정 발견__어떤 길이 있는지 살펴보기__목표에서 되짚어 계획 세우기__의도적인 역량 습득__생애 주기별 진로 선택진로 따라 걷기__성취를 축하하고 기록하라__가면 증후군 극복__전문가 커뮤니티 구축__전문가 관계 구축__성공적인 면접__일과 삶의 균형정리직접 실천해 보자더 읽을거리15장 AI로 무장한 소프트웨어 엔지니어AI란 정말 무엇인가__AI 용어 해설__AI의 능력과 한계 이해하기짝 프로그래머로서의 AI__독립형 챗봇 조수IDE 인라인 어시스턴트__에이전트형 AI IDE 환경프롬프트 엔지니어링 기초__프롬프트 엔지니어링이란__핵심 프롬프트 엔지니어링 기법__고급 프롬프트 엔지니어링 기법AI가 소프트웨어 엔지니어링을 바꾸는 방법__AI가 내 일자리를 빼앗을까__바이브 코드 리뷰__전력승수로서의 AI: 코드 작성에서 문제 해결로정리직접 실천해 보자더 읽을거리
|
Nathaniel Schutta
Dan Vega
박성철의 다른 상품
|
| 이 책에서 다루는 내용 |- 소프트웨어 엔지니어링의 올바른 의미, 그리고 소프트 스킬의 중요성- 소프트웨어 아키텍처와 아키텍처 결정 요인의 기초- 널리 쓰이고 검증된 기법을 활용한 코드 기반 분석과 리팩토링- 테스트의 중요성과 효과적인 테스트 구현 방법- 소프트웨어를 안정적으로 반복해서 전개하는 방법- 문제에 적합한 해결책이나 도구를 평가하고 선택하는 방법| 이 책의 대상 독자 |- 새로 일을 시작한 소프트웨어 엔지니어: ‘그저 코딩하는 사람’을 넘어 진짜 소프트웨어 엔지니어가 되려면 무엇이 필요한지, 그리고 경력을 발전시키려면 무엇을 갖춰야 하는지 큰 그림으로 보여준다.- 경력 엔지니어: 이 책에서 다루는 핵심 역량은 큰 도움이 되며, 특히 더 높은 역할과 더 큰 책임을 맡고 싶다면 더욱 그렇다. 탄탄한 역량은 더 많은 책임과 승진의 기회를 여는 열쇠가 된다.| 이 책의 구성 |1장부터 3장까지는 첫 번째 파트로서 성공적인 소프트웨어 엔지니어가 갖춰야 할 ‘핵심 역량’을 다룬다.- 1장 ‘프로그래머에서 이제는 엔지니어로’ 소프트웨어 엔지니어가 되는 여러 길을 살펴보고, 기초 역량의 중요성을 강조한다.- 2장 ‘코드 문해력 = 실무 기본 능력’ 소프트웨어 엔지니어가 코드를 쓰는 시간보다 읽는 시간이 더 많다는 점을 다룬다. 낯선 코드를 헤쳐나가는 전략도 함께 제시한다.- 3장 ‘사람을 위한 코드 작성법’ 읽기 쉽고 유지보수하기 좋은 코드를 작성하는 것이 왜 중요한지 다룬다. 결국 컴퓨터보다 개발자를 위해 코드를 써야 하는 이유를 보여준다.두 번째 파트로서 4장부터 6장까지는 소프트웨어 엔지니어가 프로젝트 중에 만나게 될 여러 기술 실천사항에 대해 알아본다.- 4장 ‘소통을 돕는 적정 모델링’ 많은 프로젝트에서 봤거나 앞으로 보게 될, 상자와 선으로 그린 다이어그램, 곧 소프트웨어 모델링이 소프트웨어 엔지니어 사이의 중요한 소통 수단이라는 점을 설명한다.- 5장 ‘자동 테스트: 좋은 소프트웨어를 만드는 최고의 습관’ 자동화된 테스트가 코드 품질과 개발자의 자신감에 어떤 도움을 주는지 다룬다.- 6장 ‘낯선 시스템에 빨리 친숙해지기’ 기존 코드에서 효과적으로 일하는 전략을 강조한다. 새 팀에 합류하든, 레거시 시스템을 유지보수하든, 이런 역량은 어떤 코드에서도 자신 있게 기여하도록 도와준다.7장부터 10장까지 4개 장에 이르는 세 번째 파트에서는 소프트웨어를 설계하고 개발할 때 마주치는 세부적인 문제를 살펴본다.- 7장 ‘엔지니어라면 꼭 알아야 할 UI 설계 기초’ 사용자 인터페이스 설계 분야를 개괄한다. 사용자를 이해하고 설계 원칙을 적용해야 소프트웨어가 실제 사용자 요구를 제대로 충족할 수 있는 이유를 설명한다.- 8장 ‘다양한 데이터 기술을 적절하게 사용하는 방법’ 거의 모든 소프트웨어 애플리케이션이 어떤 식으로든 다루게 되는 데이터 작업을 다룬다. 애플리케이션의 데이터와 관련해 판단을 내릴 때 알아야 할 핵심 역량을 설명한다.- 9장 ‘소프트웨어 아키텍처: 복잡하고 중요한 결정’ 소프트웨어 아키텍처의 복잡성을 살펴보며, 모든 소프트웨어 프로젝트에 들어 있는 아키텍처상의 득실을 이해할 실마리를 제공한다.- 10장 ‘운영 환경: 코드가 살아야 하는 낯선 환경’ 코드를 운영 환경에 올리는 일을 다룬다. 실제 사용자와 실제 운영 환경의 예측하기 어려운 특성을 설명하고, 운영에 대비된 코드를 만드는 전략을 정리한다.마지막 네 번째 파트에서는 소프트웨어 엔지니어의 경력 계발과 관리, 직업으로서 성장하기 위한 실천 방안에 대해 살펴보고 이 책을 마무리한다.- 11장 ‘생산성 강화: 효율적으로 일하기’ 다시 일상적인 업무로 돌아와, 자신만의 도구 모음을 갖추는 중요성을 다룬다.- 12장 ‘즐겁게 배우며 앞서가는 엔지니어 되기’ 지속적인 학습의 중요성을 다룬다. 끊임없이 변하는 분야를 따라가기 위한 전략도 제시한다.- 13장 ‘기술 세계의 소프트 스킬’ 경력에서 소프트 스킬이 왜 중요한지를 다룬다. 협업적 소통, 영향력, 이해관계자 관리를 설명한다.- 14장 ‘성공적인 경력 계획과 관리’ 소프트웨어 엔지니어 경력을 계획하고 경로를 찾아 걷는 데 초점을 맞춘다. 열정을 찾는 법, 경력 경로를 탐색하는 법, 역량을 의식적으로 쌓는 법을 설명한다. 아울러 직업적 인맥을 만들고, 면접을 잘 치르고, 일과 삶의 균형을 세우는 방법도 다룬다.- 15장 ‘AI로 무장한 소프트웨어 엔지니어’ 오늘날 소프트웨어 분야에서 가장 큰 변화를 일으키는 주제 중 하나인 AI를 다룬다.AI를 따로 다루는 장이 있기는 하지만, 소프트웨어 개발 수명 주기 전반에 AI의 영향이 넓게 퍼져 있기 때문에 책 전체에서 AI 이야기가 계속 등장한다.
|