알라딘

커리어 스킬 - 완벽한 개발자 인생 로드맵

존 손메즈 (지은이), 이미령 (옮긴이) | 길벗
  • 등록일2022-12-23
  • 파일포맷cpub
  • 파일크기52 M  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 평점 평점점 평가없음

책소개

프로그래머가 되고 싶나요?개발자, 당신에게 필요한 모든 것!이 책의 내용

저자소개

소프트웨어 개발자이자 『커리어 스킬』, 『소프트 스킬』의 저자다. 또한, 심플 프로그래머 블로그와 유튜브 채널을 만들어 '기술만으로는 경력이나 인생을 성공적으로 이끄는 데 충분하지 않다.'라는 핵심 메시지를 매년 소프트웨어 개발자 140만 명에게 전달하고 있다. 개발 경력은 10살에 C, C++로 좋아하는 MUD 게임을 위한 가상 세계를 만들며 시작했다. 19살 캘리포니아에서 10만 달러짜리 좋은 일자리를 얻었으나, C++ 기술로 상사에게 감동을 주지 못하여 안락한 직장에서 '해고'되고 마이크로소프트의 치열한 현장 면접에서 화려하게 실패하고 생계를 위해 프로그래밍 외 다른 일을 하는 등 수년간 좌절과 실망의 연속이었다. 17년 이상 개발자로 일하며 프로그래밍을 할 줄 아는 것과 전문적인 소프트웨어 개발자로 성공하기 위해 모든 기술을 갖추는 것 사이에는 큰 차이가 있다는 것을 깨닫고 자신에게 부족했던 기술, 리더십, 소통 능력을 발전시켰다. 그러면서 의사를 명확하게 전달하고 솔선수범하는 능력, 실패를 딛고 일어서는 정신적인 회복력, 개인 건강 수준 향상 같은 '소프트 스킬'에 집중한다면 소프트웨어 개발자는 '유리 천장'을 뚫고 보기 드문 성공을 누릴 수 있다는 것을 몸소 터득했다. 그 후 테스트 자동화, 애자일 방법론 분야에서 고액의 보수를 받는 컨설턴트가 되었고, 기술 교육 기관인 플루럴사이트에 55개의 교육과정을 개설하며 소프트웨어 개발 분야의 주목받는 온라인 강사가 되었다. 33살에 은퇴한 후에는 심플 프로그래머 플랫폼의 동영상, 책, 교육과정을 통해 다른 개발자들이 성공을 거둘 수 있게 도와주는 일에 에너지를 집중하고 있다.

목차

지은이 서문

이 책이 나에게 필요할까?

옮긴이 서문



1장 이 책의 활용법

__이 책의 목적

__이 책의 목표

__이 책의 활용법

__반복과 실행

__일러두기



1부 소프트웨어 개발자로 입문하기



2장 입문하기

__내가 입문한 방법

__소프트웨어 개발자라는 직업

__문제 이해하기

__설계하기

__코드 작성하기

__테스트하고 배포하기

__코드 작성 그 이후

__계획

__계획 준비하기

__계획 세우기

__‘운동선수’가 되는 게 목표라면

__사례 연구



3장 당신이 배워야 하는 기술

__꼭 배워야 하는 핵심 기술

__프로그래밍 언어 한 가지 익히기

__코드를 구조화하는 법

__객체지향 설계

__알고리즘과 데이터 구조

__개발 플랫폼과 관련 기술

__프레임워크와 스택

__데이터베이스 관련 기본 지식

__소스 제어

__빌드와 배포

__테스트

__디버깅

__방법론

__부담 내려놓기



4장 기술을 발전시키는 방법

__빠르게 배우는 방법 배우기

__기본 절차

__경험을 통한 학습

__경험을 통해 학습하는 법

__경험을 통한 학습 사례

__내가 기술을 가르치는 방법

__큰 그림: 이 기술로 무엇을 할 수 있는가?

__시작하는 법

__최고의 효과를 거두기 위해 알아야 할 20퍼센트

__전문가가 쓴 글 읽기

__연습, 연습, 연습



5장 프로그래밍 언어 고르기

__어떤 언어인지는 생각보다 중요하지 않다

__프로그래밍 언어 선택 시 고려할 점

__일자리 전망과 장래

__가슴 뛰게 하는 기술

__난이도

__자료와 자원

__적응성

__프로그래밍 언어 선택에 관한 마지막 조언



6장 첫 번째 프로그래밍 언어 배우기

__잘 작동하는 애플리케이션 살펴보기

__몇 가지 참고 자료 훑어보기

__‘Hello World’ 프로그램 만들기

__기본 문법을 배우고 실제 문제로 테스트해보기

__기능과 라이브러리 구분하기

__기존 코드 리뷰하고 한 줄씩 이해하기

__무엇이든 만들어보기

__프로그래밍 언어를 특정 기술이나 플랫폼에 적용해보기

__어려운 알고리즘 문제 해결해보기



7장 대학 진학하기

__장점

__단점

__전략



8장 코딩 부트 캠프

__코딩 부트 캠프란 무엇인가?

__장점

__단점

__전략



9장 독학

__프로그래밍 독학의 장점

__프로그래밍 독학의 단점

__전략



2부 일자리 구하기



10장 인턴십

__인턴십이란 무엇인가?

__보수를 받아야 할까요?

__인턴이 되는 방법

__어떻게 하면 좋은 인턴이 되는가?



11장 경력 없이 일자리 구하기

__소프트웨어 개발자 고용 시 최대 위험 요소

__위험 요소 극복하기

__온라인에 존재감 드러내기

__포트폴리오 만들기

__창업하기

__면접 준비하기

__인맥 만들기

__무급으로 일하기

__적은 보수를 받고 계약직이나 프리랜서로 일하기

__다른 직군으로 입사하기

__자격증 취득하기

__끈기를 가져라



12장 일자리를 구하는 방법

__뻔한 접근법(전통적인 접근법)

__수가 많을수록 유리하다

__이력서를 잘 만들어라

__지원 할당량을 정하라

__맞춤 지원서를 제출하라

__결과를 분석하라

__계획을 수정하라

__헤드헌터의 도움 받기

__고정관념 벗어나기

__인맥 쌓기

__특정 회사 겨냥하기

__겨냥하는 회사에 보탬이 되어라

__정상에서 시작하라

__인바운드 마케팅을 활용하라

__면접관을 인터뷰하라

__끈기를 가져라



13장 이력서 만들기

__1단계: 이력서를 만들지 마라

__이력서 작성 전문가 고르기

__이력서 작성 전문가와 작업하는 법

__좋은 이력서의 조건

__이력서 직접 작성하기

__링크드인 시작하기

__어떤 가치를 제공할지 보여주기

__무슨 일을 어떻게 해서 어떤 결과를 내었는가

__간결하게 쓰기

__교정하기

__여러 버전 만들기

__개성 드러내기



14장 면접 절차

__면접 유형

__전화 면접

__온라인 기술 면접

__표준 기술 면접

__인성 면접

__패널 면접

__코딩 면접

__전일 면접과 반일 면접

__알아둘 것

__기술에 대한 일반적인 질문

__성격에 관한 질문과 심리학적 질문

__면접 팁

__의상 갖춰 입기

__정시 지키기

__거짓말하지 마라

__방어적인 태도를 취하지 마라

__자세히 말하라

__자신감을 가져라(자신감 있는 척하지 마라)

__가장 중요한 메시지

__연습하고 연습하고 연습하라



15장 연봉과 협상

__연봉 범위를 알자

__제안서 받기

__연봉이 전부는 아니다

__협상하기

__유리한 고지 점령하기

__숫자를 먼저 말하는 사람이 진다

__역제안을 두려워하지 마라

__무엇이든 협상할 수 있다

__시간 압박에 굴하지 마라

__여러 제안



16장 퇴사하는 법

__퇴사 시기

__퇴사하는 법

__팀 걱정은 하지 마라

__2주 전에 알려라

__퇴사하겠다고 협박하지 마라

__미리 알리지 마라

__세상은 믿을 수 없을 정도로 좁다

__후임을 교육하라

__퇴직자 면접에서 부정적인 발언을 삼가라



17장 소프트웨어 개발자로 전향하기

__다른 분야에서 온 이들의 강점

__약점

__극복하는 방법

__현재 직장에서 개발자로 전향하기

__타 분야 전문성을 활용할 방법 찾기

__기꺼이 바닥부터 시작하라



18장 타 기술직에서 개발직으로 옮겨오기

__가장 큰 장애물

__목표를 널리 알려라

__기회가 있는지 물어라

__기회를 만들어라

__근무 외 시간을 활용하라

__다리를 찾아라

__새 회사로 옮기기

__마지막 조언



19장 계약직 vs. 정규직

__계약직 유형

__에이전시 계약직

__독립 계약직

__프리랜서

__정규직

__돈

__계약 금액 분석

__계약직이 돈을 더 많이 받는 이유

__복지의 효용 가치

__근무 환경

__그 외 고려할 사항



20장 헤드헌팅 업계의 작동 방식

__헤드헌터와 에이전시의 유형

__독립 헤드헌터와 소형 에이전시

__대형 에이전시

__임베디드 에이전시

__사내 헤드헌터

__에이전트 헤드헌터

__활용법

__이력서 제출 순서

__연봉 협상

__헤드헌터를 쓸 것인가 말 것인가



3부 소프트웨어 개발에 대해 알아야 할 것



21장 프로그래밍 언어 개요

__C

__C+ +

__C#

__자바

__파이썬

__루비

__자바스크립트

__펄

__PHP

__오브젝티브- C

__스위프트

__Go

__얼랭

__하스켈

__빠뜨린 세부 사항에 대하여



22장 웹 개발이란 무엇인가?

__짧은 개요

__웹의 작동 방식

__웹의 간략사

__주요 웹 개발 기술

__HTML

__CSS

__자바스크립트

__서버 측 렌더링

__클라이언트 측 렌더링

__API

__기초 중 기초



23장 모바일 개발

__모바일 개발이란 무엇인가?

__모바일 개발 주요 플랫폼

__iOS

__안드로이드

__그 외

__모바일 개발 방법

__네이티브 개발

__크로스 플랫폼 프레임워크와 툴

__모바일 웹 앱

__모바일 개발 고려 사항



24장 백엔드 개발

__‘백엔드 개발’이란 정확히 무엇인가?

__백엔드 개발자는 어떤 일을 하는가?

__백엔드 개발 기본 기술

__풀스택 개발자는?

__요약



25장 비디오 게임 개발

__경고

__학위

__필요한 기술

__대형 게임 스튜디오

__독립적으로 일하기

__조언과 참고 자료



26장 DBA와 데브옵스

__DBA

__데이터베이스에는 양육의 손길이 필요하다

__DBA가 되어야 할까?

__데브옵스: 새로운 직군

__운영: 기존 방식

__데브옵스란 무엇인가?

__당신에게 의미하는 것



27장 소프트웨어 개발 방법론

__전통적인 폭포수 개발

__SDLC를 반대하는가?

__애자일

__애자일 선언문

__애자일은 방법론이 아니다

__폭포수 방식의 문제

__스크럼

__스크럼 직책

__스크럼 진행 방식

__스크럼 관련 문제

__칸반

__익스트림 프로그래밍

__다른 방법론과 비(非)방법론



28장 테스트와 QA 기초

__테스트의 핵심 목표

__일반적인 테스트 유형

__테스트 절차

__애자일 팀의 테스트 방식

__테스트, 당신 그리고 개발자



29장 테스트 주도 개발과 단위 테스트

__단위 테스트란 무엇인가?

__단위 테스트라고 오해하는 것

__단위 테스트의 가치

__테스트 주도 개발(TDD)이란 무엇인가?

__TDD의 목적은 무엇인가?

__TDD의 일반적인 작업 흐름

__이 정도는 기본이다



30장 소스 제어

__소스 제어란 무엇인가?

__소스 제어가 중요한 이유는 무엇인가?

__소스 제어의 기본

__저장소

__코드 체크아웃

__리비전

__분기

__병합

__충돌

__기술

__중앙 집중형 소스 제어

__분산 제어형 소스 제어

__가장 인기 있는 소스 제어 시스템에 대한 간단한 소개

__CVS

__서브버전

__깃

__머큐리얼

__그 밖에 다른 건 없나요?



31장 지속적 통합

__과거의 코드 빌드 방법

__그리고 빌드 서버가 등장한다

__마침내 지속적 통합으로

__지속적 통합 작업 흐름 샘플

__CI 서버와 소프트웨어



32장 디버깅

__디버깅이란 무엇인가?

__디버깅 첫 번째 규칙: 디버거를 쓰지 마라

__에러를 재현하라

__앉아서 생각하라

__가설을 테스트하라

__가정을 확인하라

__분할 정복하라

__고칠 때는 이유를 이해하라

__예술과 과학



33장 코드 유지 보수

__당신은 코드를 유지 보수하는 데 대부분의 시간을 보내게 될 것이다

__훌륭한 개발자는 유지 보수하기 좋은 코드를 만든다

__보이 스카우트 규칙

__가독성이 가장 중요하다

__코드 리팩토링

__자동화는 필수다

__주석을 쓸 거라면 잘 써라

__유지 보수하기 쉬운 코드 쓰는 법을 배울 수 있는 자료



34장 직업과 직함

__직함은 그리 중요하지 않다

__하지만 최대한 좋은 직함을 구하라

__흔히 쓰는 명칭

__피해야 할 직함

__기본적인 직함 혹은 직급

__기술 관련 대형 회사의 직함

__직함에 대한 이야기는 이 정도다



35장 업무 유형

__코드 작성하기

__버그 고치기

__설계와 아키텍처

__회의

__학습

__실험과 탐색

__테스트

__생각하기

__고객/이해 당사자와 소통하기

__교육/멘토링

__여기까지다…



4부 개발자로 일하기



36장 동료 대하기

__첫인상이 중요하다

__최대한 보탬이 되어라

__드라마를 피하라

__갈등을 피하지 마라

__정치와 종교

__일하지 않는 동료

__수다쟁이 동료

__말썽꾼

__XX는요?



37장 상사 대하기

__상사 이해하기

__상사와 원만하게 지내기

__상사가 수월하게 일하도록 돕기

__나쁜 상사

__마이크로매니저형

__불한당형

__무식쟁이형

__노예 감독형

__늘 마음에 드는 상사를 고를 수 있는 건 아니다



38장 QA 대하기

__QA는 적이 아니다

__무엇을 테스트할지 알아두라

__스스로 사전 테스트를 하라

__버그/수정 사이클을 피하라

__자동화를 도와라

__특별히 거슬리는 사람은 어떻게 할까?



39장 일과 삶의 균형

__일과 삶의 균형은 신화다

__초과근무가 유익한 경우는 거의 없다

__하지만 열심히 일하지 않은 걸 정당화할 수는 없다

__우선 자신을 위해 써라

__본인 몫부터 챙겨라

__대인 관계를 신중하게 맺어라

__현재를 살아라

__일과 삶의 진정한 균형



40장 팀에서 일하기

__팀은 성공도 실패도 함께한다

__팀에는 공통 목표가 있다

__팀을 책임져라

__소통하고 협력하라

__솔직하게 대하되 재치를 발휘하라



41장 설득하기

__설득이 중요한 이유

__논쟁하지 마라

__납득시켜라

__인도하라

__명확하게 소통하라

__권위를 빌려라

__권위를 만들어라

__가르쳐라

__연습이 필요하다



42장 적절한 복장 갖추기

__외모는 중요하다

__두 단계 상위에 해당하는 의상을 선택하라

__리더를 따라라

__카리스마와 모순

__입는 옷에 따라 성격이 변한다?

__지위의 상징

__헤어, 메이크업 그리고 기본 위생

__관심이 없다면?



43장 좋은 평가 받기

__평가 결과를 뒤집다

__미리 확인하라

__명확한 목표를 세우고 그 목표를 널리 알려라

__자신의 발전을 추적하고 기록하라

__근거를 제시하라

__필요하다면 항소하라

__자가 평가라는 함정

__동료 평가

__스택 랭킹



44장 편견에 대처하기

__인간에게 무의식적인 편견과 고정관념이 있다는 사실을 받아들여라

__최대한 편견을 피하라

__자가 격리하지 마라

__자신감을 가져라

__최대한 무시하라

__무시할 수 없는 내용은 신고하라

__편견은 나쁘다



45장 좋은 리더 되기

__리더십이란 무엇인가?

__사람들을 제대로 이끄는 법

__전 영역에서 모범을 보여라

__더 높은 책임감을 가져라

__리더는 팀을 책임진다

__팀을 믿고 일을 맡겨라

__리더가 돼라



46장 연봉 인상과 승진

__돈보다 책임이 우선이다

__솔선수범하라

__교육에 투자하라

__자신의 목표를 널리 알려라

__회사 외부에서 가치를 높여라

__회사의 수익을 높여라

__정확한 수치로 요구하라

__협박하지 마라

__돈이 필요한 이유를 이야기하지 마라

__모든 전략이 실패하면 다른 회사로 이직하라



47장 기술 분야에 종사하는 여성

__고정관념과 오명

__남성이 여성을 괴롭히는 이유

__여성을 위한 조언

__예민해지지 마라

__하지만 진짜 문제는 짚고 넘어가라

__남자처럼 행동하지 마라

__강점을 활용하라

__협상하라

__남성을 위한 조언

__윗사람 행세하지 마라

__여성은 남성이 아니다

__사적인 분노를 직장에서 풀지 마라

__평소처럼 하라

__이 장이 도움이 되길 진심으로 바란다



5부 경력 발전시키기



48장 좋은 평판 쌓기

__‘유명’해져서 얻는 혜택

__스타일 + 본질

__개인 브랜드 만들기

__‘유명’해지는 방법

__가치 제공하기

__시간이 든다



49장 인맥과 커뮤니티

__인맥을 만드는 잘못된 방법

__인맥을 만드는 좋은 방법

__인맥을 만들 장소

__커뮤니티 만들기

__인맥 만들기는 어렵지 않다



50장 최신 기술 따라잡기

__무계획도 계획이라고?

__블로그 구독하기

__책 읽기

__새로운 기술 선택하기

__빠르게 배우기

__행사 참여하기

__뉴스 읽기

__부지런히 코딩하기

__적절한 긴장감 유지하기



51장 제너럴리스트 vs. 스페셜리스트

__전문성의 힘

__넓은 지식 기반을 갖춰야만 전문가가 될 수 있다

__T자형 인재가 되는 게 중요하다

__하지만 어디서나 제너럴리스트를 찾는다

__우리는 제너럴리스트가 될 수 없는 세상에 살고 있다

__만약 전문 영역을 잘못 선택한다면?

__그래서 어떻게 해야 하나요?



52장 강연과 콘퍼런스

__콘퍼런스에 참석하기

__하지만 콘퍼런스는 비싸다

__콘퍼런스에서 할 일

__강연

__강연 입문하기

__무대 공포증 극복하기

__몇 가지 실용적인 팁

__강연과 슬라이드 준비하기

__보수를 받으며 강연하기

__해보라



53장 블로그 만들기

__블로그가 여전히 최고의 선택인 이유

__블로그를 만드는 방법

__테마 정하기

__블로그 운영하기

__일관성의 힘

__트래픽 높이기

__자신의 목소리 찾기

__꾸준히 쓰기



54장 프리랜서와 창업

__가고 싶은 길이라고 확신하는가?

__프리랜서란?

__프리랜서가 되는 법

__쉬운 방법도 있다고 하지 않았나요?

__청구할 금액을 정하는 방법

__사업 시작하기

__완벽을 추구하지 마라

__직장을 그만두지 마라

__잠재 고객부터 확보하라

__판매하는 법을 배워라

__도움을 받아라

__어렵지만 견딜 만한 가치가 있다



55장 진로

__소프트웨어 개발자 유형 세 가지

__직업 개발자 선택지

__웹 개발

__모바일

__데스크톱

__비디오 게임

__임베디드 시스템

__데이터 사이언스

__툴과 엔터프라이즈

__클라우드

__자동화

__유리 천장 너머로

__관리직? 기술직?

__자신이 어디로 향하는지 항상 생각하라



56장 고용의 안정성과 보장

__불안정하지만 괜찮다

__지식을 꽁꽁 감춘다고 해서 고용이 보장되지 않는다

__반대로 하라

__안정성을 능력으로 대체하라

__자신의 안전망은 스스로 만들어라

__불확실성을 받아들여라



57장 교육과 자격증

__자격증이 가치가 있을까?

__그렇다면 왜 자격증을 취득해야 하는 거죠?

__자격증을 취득하는 방법

__교육은요?

__교육의 유형

__교육 효과 최대화하기

__회사에서 교육비 지원받기

__강사 되기

__얼마나 노력하느냐가 중요하다



58장 사이드 프로젝트

__사이드 프로젝트는 항상 해야 한다

__사이드 프로젝트 고르기

__적어도 두 가지 효과를 내라

__시작하기

__꾸준히 하라

__마무리하라

__사이드 프로젝트로 수익 올리기

__당장 시작하라!



59장 추천 도서

__훌륭한 코드 작성하기

__개발 기본 소양 갖추기

__기존 코드 다루기

__더 훌륭한 개발자 되기

__인간으로서 성장하기

__깊이 들어가기

__재미있는 책

__인내와 동기부여에 관한 책

__꾸준히 읽어라



60장 마치며

__마지막 부탁



부록 개발자로 살아가기

__김요한_‘좋은 개발자’의 정의

__이동욱_내 첫 번째 이직: SI 회사에서 서비스 회사로

__이승민_5년 차 개발자의 첫 이직 이야기

__한정수_체대생이 개발자가 되기까지



찾아보기

한줄 서평