커리어 스킬

    커리어 스킬

    프로그래머가 되고 싶나요?
    프로그래머로 성공하고 싶나요?

    전 세계 많은 사람이 같은 고민을 하고, 같은 질문을 던졌다. 이에 대한 대답을 모은 이 책은 출간 즉시 아마존 베스트셀러에 올랐다. 왜 수많은 사람이 이 책을 반복해서 읽고, 별점 5점을 주고, 주변 사람들에게 읽으라고 추천했을까? 개발자가 되고, 성공하는 데 필요한 내용을 광범위하게 담고 있고, 그에 대한 조언이 현실적이고 유용하기 때문이다. 이 책은 어디로 가야할지 로드맵을 그려주고, 무엇을 선택하면 좋을지 각 선택지들을 비교 분석해주고, 어떻게 행동해야 이득인지 구체적인 사례를 들어 안내해준다. 나의 진로와 경력을 새로운 관점에서 바라볼 수 있게 해주고, 내 인생을 바꿀 수 있는 실행 가능한 조언들로 가득 차 있다.

    «커리어 스킬»은 1부(2~9장)를 공개합니다.

    목차

    • Chapter 1 이 책의 활용법
    • 이 책의 목적
    • 이 책의 목표
    • 이 책의 활용법
    • 반복과 실행
    • 일러두기
    • Part 1 소프트웨어 개발자로 입문하기
    • Chapter 2 입문하기
    • 내가 입문한 방법
    • 소프트웨어 개발자라는 직업
    • 문제 이해하기
    • 설계하기
    • 코드 작성하기
    • 테스트하고 배포하기
    • 코드 작성 그 이후
    • 계획
    • 계획 준비하기
    • 계획 세우기
    • ‘운동선수’가 되는 게 목표라면
    • 사례 연구
    • Chapter 3 당신이 배워야 하는 기술
    • 꼭 배워야 하는 핵심 기술
    • 프로그래밍 언어 한 가지 익히기
    • 코드를 구조화하는 법
    • 객체지향 설계
    • 알고리즘과 데이터 구조
    • 개발 플랫폼과 관련 기술
    • 프레임워크와 스택
    • 데이터베이스 관련 기본 지식
    • 소스 제어
    • 빌드와 배포
    • 테스트
    • 디버깅
    • 방법론
    • 부담 내려놓기
    • Chapter 4 기술을 발전시키는 방법
    • 빠르게 배우는 방법 배우기
    • 기본 절차
    • 경험을 통한 학습
    • 경험을 통해 학습하는 법
    • 경험을 통한 학습 사례
    • 내가 기술을 가르치는 방법
    • 큰 그림: 이 기술로 무엇을 할 수 있는가?
    • 시작하는 법
    • 최고의 효과를 거두기 위해 알아야 할 20퍼센트
    • 전문가가 쓴 글 읽기
    • 연습, 연습, 연습
    • Chapter 5 프로그래밍 언어 고르기
    • 어떤 언어인지는 생각보다 중요하지 않다
    • 프로그래밍 언어 선택 시 고려할 점
    • 일자리 전망과 장래
    • 가슴 뛰게 하는 기술
    • 난이도
    • 자료와 자원
    • 적응성
    • 프로그래밍 언어 선택에 관한 마지막 조언
    • Chapter 6 첫 번째 프로그래밍 언어 배우기
    • 잘 작동하는 애플리케이션 살펴보기
    • 몇 가지 참고 자료 훑어보기
    • ‘Hello World’ 프로그램 만들기
    • 기본 문법을 배우고 실제 문제로 테스트해보기
    • 기능과 라이브러리 구분하기
    • 기존 코드 리뷰하고 한 줄씩 이해하기
    • 무엇이든 만들어보기
    • 프로그래밍 언어를 특정 기술이나 플랫폼에 적용해보기
    • 어려운 알고리즘 문제 해결해보기
    • Chapter 7 대학 진학하기
    • 장점
    • 단점
    • 전략
    • Chapter 8 코딩 부트 캠프
    • 코딩 부트 캠프란 무엇인가?
    • 장점
    • 단점
    • 전략
    • Chapter 9 독학
    • 프로그래밍 독학의 장점
    • 프로그래밍 독학의 단점
    • 전략
    • Part 2 일자리 구하기
    • Chapter 10 인턴십
    • 인턴십이란 무엇인가?
    • 보수를 받아야 할까요?
    • 인턴이 되는 방법
    • 어떻게 하면 좋은 인턴이 되는가?
    • Chapter 11 경력 없이 일자리 구하기
    • 소프트웨어 개발자 고용 시 최대 위험 요소
    • 위험 요소 극복하기
    • 온라인에 존재감 드러내기
    • 포트폴리오 만들기
    • 창업하기
    • 면접 준비하기
    • 인맥 만들기
    • 무급으로 일하기
    • 적은 보수를 받고 계약직이나 프리랜서로 일하기
    • 다른 직군으로 입사하기
    • 자격증 취득하기
    • 끈기를 가져라
    • Chapter 12 일자리를 구하는 방법
    • 면접관을 인터뷰하라
    • 끈기를 가져라
    • 뻔한 접근법(전통적인 접근법)
    • 수가 많을수록 유리하다
    • 이력서를 잘 만들어라
    • 지원 할당량을 정하라
    • 맞춤 지원서를 제출하라
    • 결과를 분석하라
    • 계획을 수정하라
    • 헤드헌터의 도움 받기
    • 고정관념 벗어나기
    • 인맥 쌓기
    • 특정 회사 겨냥하기
    • 겨냥하는 회사에 보탬이 되어라
    • 정상에서 시작하라
    • 인바운드 마케팅을 활용하라
    • Chapter 13 이력서 만들기
    • 1 단계: 이력서를 만들지 마라
    • 이력서 작성 전문가 고르기
    • 이력서 작성 전문가와 작업하는 법
    • 좋은 이력서의 조건
    • 이력서 직접 작성하기
    • 링크드인 시작하기
    • 어떤 가치를 제공할지 보여주기
    • 무슨 일을 어떻게 해서 어떤 결과를 내었는가
    • 간결하게 쓰기
    • 교정하기
    • 여러 버전 만들기
    • 개성 드러내기
    • Chapter 14 면접 절차
    • 면접 유형
    • 전화 면접
    • 온라인 기술 면접
    • 표준 기술 면접
    • 인성 면접
    • 패널 면접
    • 코딩 면접
    • 전일 면접과 반일 면접
    • 알아둘 것
    • 코딩 문제 푸는 법
    • 기술에 대한 일반적인 질문
    • 성격에 관한 질문과 심리학적 질문
    • 면접 팁
    • 의상 갖춰 입기
    • 정시 지키기
    • 거짓말하지 마라
    • 방어적인 태도를 취하지 마라
    • 자세히 말하라
    • 자신감을 가져라(자신감 있는 척하지 마라)
    • 가장 중요한 메시지
    • 연습하고 연습하고 연습하라
    • Chapter 15 연봉과 협상
    • 연봉 범위를 알자
    • 제안서 받기
    • 연봉이 전부는 아니다
    • 협상하기
    • 유리한 고지 점령하기
    • 숫자를 먼저 말하는 사람이 진다
    • 역제안을 두려워하지 마라
    • 무엇이든 협상할 수 있다
    • 시간 압박에 굴하지 마라
    • 여러 제안
    • Chapter 16 퇴사하는 법
    • 퇴사 시기
    • 퇴사하는 법
    • 팀 걱정은 하지 마라
    • 2 주 전에 알려라
    • 퇴사하겠다고 협박하지 마라
    • 미리 알리지 마라
    • 세상은 믿을 수 없을 정도로 좁다
    • 후임을 교육하라
    • 퇴직자 면접에서 부정적인 발언을 삼가라
    • Chapter 17 소프트웨어 개발자로 전향하기
    • 다른 분야에서 온 이들의 강점
    • 약점
    • 극복하는 방법
    • 현재 직장에서 개발자로 전향하기
    • 타 분야 전문성을 활용할 방법 찾기
    • 기꺼이 바닥부터 시작하라
    • Chapter 18 타 기술직에서 개발직으로 옮겨오기
    • 가장 큰 장애물
    • 목표를 널리 알려라
    • 기회가 있는지 물어라
    • 기회를 만들어라
    • 근무 외 시간을 활용하라
    • 다리를 찾아라
    • 새 회사로 옮기기
    • 마지막 조언
    • Chapter 19 계약직 vs. 정규직
    • 계약직 유형
    • 에이전시 계약직
    • 독립 계약직
    • 프리랜서
    • 정규직
    • 계약 금액 분석
    • 계약직이 돈을 더 많이 받는 이유
    • 복지의 효용 가치
    • 근무 환경
    • 그 외 고려할 사항
    • Chapter 20 헤드헌팅 업계의 작동 방식
    • 헤드헌터와 에이전시의 유형
    • 독립 헤드헌터와 소형 에이전시
    • 대형 에이전시
    • 임베디드 에이전시
    • 사내 헤드헌터
    • 에이전트 헤드헌터
    • 활용법
    • 이력서 제출 순서
    • 연봉 협상
    • 헤드헌터를 쓸 것인가 말 것인가
    • Part 3 소프트웨어 개발에 대해 알아야 할 것
    • Chapter 21 프로그래밍 언어 개요
    • C
    • C++
    • C#
    • 자바
    • 파이썬
    • 루비
    • 자바스크립트
    • PHP
    • 오브젝티브-C
    • 스위프트
    • Go
    • 얼랭
    • 하스켈
    • 빠뜨린 세부 사항에 대하여
    • Chapter 22 웹 개발이란 무엇인가?
    • 짧은 개요
    • 웹의 작동 방식
    • 웹의 간략사
    • 주요 웹 개발 기술
    • HTML
    • CSS
    • 자바스크립트
    • 서버 측 렌더링
    • 클라이언트 측 렌더링
    • API
    • 기초 중 기초
    • Chapter 23 모바일 개발
    • 모바일 개발이란 무엇인가?
    • 모바일 개발 주요 플랫폼
    • iOS
    • 안드로이드
    • 그 외
    • 모바일 개발 방법
    • 네이티브 개발
    • 크로스 플랫폼 프레임워크와 툴
    • 모바일 웹 앱
    • 모바일 개발 고려 사항
    • Chapter 24 백엔드 개발
    • ‘백엔드 개발’이란 정확히 무엇인가?
    • 백엔드 개발자는 어떤 일을 하는가?
    • 백엔드 개발 기본 기술
    • 풀스택 개발자는?
    • 요약
    • Chapter 25 비디오 게임 개발
    • 경고
    • 학위
    • 필요한 기술
    • 대형 게임 스튜디오
    • 독립적으로 일하기
    • 조언과 참고 자료
    • Chapter 26 DBA와 데브옵스
    • DBA
    • 데이터베이스에는 양육의 손길이 필요하다
    • DBA가 되어야 할까?
    • 데브옵스: 새로운 직군
    • 운영: 기존 방식
    • 데브옵스란 무엇인가?
    • 당신에게 의미하는 것
    • Chapter 27 소프트웨어 개발 방법론
    • 전통적인 폭포수 개발
    • SDLC를 반대하는가?
    • 애자일
    • 애자일 선언문
    • 애자일은 방법론이 아니다
    • 폭포수 방식의 문제
    • 스크럼
    • 스크럼 직책
    • 스크럼 진행 방식
    • 스크럼 관련 문제
    • 칸반
    • 익스트림 프로그래밍
    • 다른 방법론과 비(非)방법론
    • Chapter 28 테스트와 QA 기초
    • 테스트의 핵심 목표
    • 일반적인 테스트 유형
    • 테스트 절차
    • 애자일 팀의 테스트 방식
    • 테스트, 당신 그리고 개발자
    • Chapter 29 테스트 주도 개발과 단위 테스트
    • 단위 테스트란 무엇인가?
    • 단위 테스트라고 오해하는 것
    • 단위 테스트의 가치
    • 테스트 주도 개발(TDD)이란 무엇인가?
    • TDD의 목적은 무엇인가?
    • TDD의 일반적인 작업 흐름
    • 이 정도는 기본이다
    • Chapter 30 소스 제어
    • 소스 제어란 무엇인가?
    • 소스 제어가 중요한 이유는 무엇인가?
    • 소스 제어의 기본
    • 저장소
    • 코드 체크아웃
    • 리비전
    • 분기
    • 병합
    • 충돌
    • 기술
    • 중앙 집중형 소스 제어
    • 분산 제어형 소스 제어
    • 가장 인기 있는 소스 제어 시스템에 대한 간단한 소개
    • CVS
    • 서브버전
    • 머큐리얼
    • 그 밖에 다른 건 없나요?
    • Chapter 31 지속적 통합
    • 과거의 코드 빌드 방법
    • 그리고 빌드 서버가 등장한다
    • 마침내 지속적 통합으로
    • 지속적 통합 작업 흐름 샘플
    • CI 서버와 소프트웨어
    • Chapter 32 디버깅
    • 디버깅이란 무엇인가?
    • 디버깅 첫 번째 규칙: 디버거를 쓰지 마라
    • 에러를 재현하라
    • 앉아서 생각하라
    • 가설을 테스트하라
    • 가정을 확인하라
    • 분할 정복하라
    • 고칠 때는 이유를 이해하라
    • 예술과 과학
    • Chapter 33 코드 유지 보수
    • 당신은 코드를 유지 보수하는 데 대부분의 시간을 보내게 될 것이다
    • 훌륭한 개발자는 유지 보수하기 좋은 코드를 만든다
    • 보이 스카우트 규칙
    • 가독성이 가장 중요하다
    • 코드 리팩토링
    • 자동화는 필수다
    • 주석을 쓸 거라면 잘 써라
    • 유지 보수하기 쉬운 코드 쓰는 법을 배울 수 있는 자료
    • Chapter 34 직업과 직함
    • 직함은 그리 중요하지 않다
    • 하지만 최대한 좋은 직함을 구하라
    • 흔히 쓰는 명칭
    • 피해야 할 직함
    • 기본적인 직함 혹은 직급
    • 기술 관련 대형 회사의 직함
    • 직함에 대한 이야기는 이 정도다
    • Chapter 35 업무 유형
    • 코드 작성하기
    • 버그 고치기
    • 설계와 아키텍처
    • 회의
    • 학습
    • 실험과 탐색
    • 테스트
    • 생각하기
    • 고객/이해 당사자와 소통하기
    • 교육/멘토링
    • 여기까지다…
    • Part 4 개발자로 일하기
    • Chapter 36 동료 대하기
    • 첫인상이 중요하다
    • 최대한 보탬이 되어라
    • 드라마를 피하라
    • 갈등을 피하지 마라
    • 정치와 종교
    • 일하지 않는 동료
    • 수다쟁이 동료
    • 말썽꾼
    • XX는요?
    • Chapter 37 상사 대하기
    • 상사 이해하기
    • 상사와 원만하게 지내기
    • 상사가 수월하게 일하도록 돕기
    • 나쁜 상사
    • 마이크로매니저형*
    • 불한당형
    • 무식쟁이형
    • 노예 감독형
    • 늘 마음에 드는 상사를 고를 수 있는 건 아니다
    • Chapter 38 QA 대하기
    • QA는 적이 아니다
    • 무엇을 테스트할지 알아두라
    • 스스로 사전 테스트를 하라
    • 버그/수정 사이클을 피하라
    • 자동화를 도와라
    • 특별히 거슬리는 사람은 어떻게 할까?
    • Chapter 39 일과 삶의 균형
    • 일과 삶의 균형은 신화다
    • 초과근무가 유익한 경우는 거의 없다
    • 하지만 열심히 일하지 않은 걸 정당화할 수는 없다
    • 우선 자신을 위해 써라
    • 본인 몫부터 챙겨라
    • 대인 관계를 신중하게 맺어라
    • 현재를 살아라
    • 일과 삶의 진정한 균형
    • Chapter 40 팀에서 일하기
    • 팀은 성공도 실패도 함께한다
    • 팀에는 공통 목표가 있다
    • 팀을 책임져라
    • 소통하고 협력하라
    • 솔직하게 대하되 재치를 발휘하라
    • Chapter 41 설득하기
    • 설득이 중요한 이유
    • 논쟁하지 마라
    • 납득시켜라
    • 인도하라
    • 명확하게 소통하라
    • 권위를 빌려라
    • 권위를 만들어라
    • 가르쳐라
    • 연습이 필요하다
    • Chapter 42 적절한 복장 갖추기
    • 외모는 중요하다
    • 두 단계 상위에 해당하는 의상을 선택하라
    • 리더를 따라라
    • 카리스마와 모순
    • 입는 옷에 따라 성격이 변한다?
    • 지위의 상징
    • 헤어, 메이크업 그리고 기본 위생
    • 관심이 없다면?
    • Chapter 43 좋은 평가 받기
    • 평가 결과를 뒤집다
    • 미리 확인하라
    • 명확한 목표를 세우고 그 목표를 널리 알려라
    • 자신의 발전을 추적하고 기록하라
    • 근거를 제시하라
    • 필요하다면 항소하라
    • 자가 평가라는 함정
    • 동료 평가
    • 스택 랭킹
    • Chapter 44 편견에 대처하기
    • 인간에게 무의식적인 편견과 고정관념이 있다는 사실을 받아들여라
    • 최대한 편견을 피하라
    • 자가 격리하지 마라
    • 자신감을 가져라
    • 최대한 무시하라
    • 무시할 수 없는 내용은 신고하라
    • 편견은 나쁘다
    • Chapter 45 좋은 리더 되기
    • 리더십이란 무엇인가?
    • 사람들을 제대로 이끄는 법
    • 전 영역에서 모범을 보여라
    • 더 높은 책임감을 가져라
    • 리더는 팀을 책임진다
    • 팀을 믿고 일을 맡겨라
    • 리더가 돼라
    • Chapter 46 연봉 인상과 승진
    • 돈보다 책임이 우선이다
    • 솔선수범하라
    • 교육에 투자하라
    • 자신의 목표를 널리 알려라
    • 회사 외부에서 가치를 높여라
    • 회사의 수익을 높여라
    • 정확한 수치로 요구하라
    • 협박하지 마라
    • 돈이 필요한 이유를 이야기하지 마라
    • 모든 전략이 실패하면 다른 회사로 이직하라
    • Chapter 47 기술 분야에 종사하는 여성
    • 고정관념과 오명
    • 남성이 여성을 괴롭히는 이유
    • 여성을 위한 조언
    • 예민해지지 마라
    • 하지만 진짜 문제는 짚고 넘어가라
    • 남자처럼 행동하지 마라
    • 강점을 활용하라
    • 협상하라
    • 남성을 위한 조언
    • 윗사람 행세하지 마라
    • 여성은 남성이 아니다
    • 사적인 분노를 직장에서 풀지 마라
    • 평소처럼 하라
    • 이 장이 도움이 되길 진심으로 바란다
    • Part 5 경력 발전시키기
    • Chapter 48 좋은 평판 쌓기
    • ‘유명’해져서 얻는 혜택
    • 스타일 + 본질
    • 개인 브랜드 만들기
    • ‘유명’해지는 방법
    • 가치 제공하기
    • 시간이 든다
    • Chapter 49 인맥과 커뮤니티
    • 인맥을 만드는 잘못된 방법
    • 인맥을 만드는 좋은 방법
    • 인맥을 만들 장소
    • 커뮤니티 만들기
    • 인맥 만들기는 어렵지 않다
    • Chapter 50 최신 기술 따라잡기
    • 무계획도 계획이라고?
    • 블로그 구독하기
    • 책 읽기
    • 새로운 기술 선택하기
    • 빠르게 배우기
    • 행사 참여하기
    • 뉴스 읽기
    • 부지런히 코딩하기
    • 적절한 긴장감 유지하기
    • Chapter 51 제너럴리스트 vs. 스페셜리스트
    • 전문성의 힘
    • 넓은 지식 기반을 갖춰야만 전문가가 될 수 있다
    • T자형 인재가 되는 게 중요하다
    • 하지만 어디서나 제너럴리스트를 찾는다
    • 우리는 제너럴리스트가 될 수 없는 세상에 살고 있다
    • 만약 전문 영역을 잘못 선택한다면?
    • 그래서 어떻게 해야 하나요?
    • Chapter 52 강연과 콘퍼런스
    • 콘퍼런스에 참석하기
    • 하지만 콘퍼런스는 비싸다
    • 콘퍼런스에서 할 일
    • 강연
    • 강연 입문하기
    • 무대 공포증 극복하기
    • 몇 가지 실용적인 팁
    • 강연과 슬라이드 준비하기
    • 보수를 받으며 강연하기
    • 해보라
    • Chapter 53 블로그 만들기
    • 블로그가 여전히 최고의 선택인 이유
    • 블로그를 만드는 방법
    • 테마 정하기
    • 블로그 운영하기
    • 일관성의 힘
    • 트래픽 높이기
    • 자신의 목소리 찾기
    • 꾸준히 쓰기
    • Chapter 54 프리랜서와 창업
    • 가고 싶은 길이라고 확신하는가?
    • 프리랜서란?
    • 프리랜서가 되는 법
    • 쉬운 방법도 있다고 하지 않았나요?
    • 청구할 금액을 정하는 방법
    • 사업 시작하기
    • 완벽을 추구하지 마라
    • 직장을 그만두지 마라
    • 잠재 고객부터 확보하라
    • 판매하는 법을 배워라
    • 도움을 받아라
    • 어렵지만 견딜 만한 가치가 있다
    • Chapter 55 진로
    • 소프트웨어 개발자 유형 세 가지
    • 직업 개발자 선택지
    • 웹 개발
    • 모바일
    • 데스크톱
    • 비디오 게임
    • 임베디드 시스템
    • 데이터 사이언스
    • 툴과 엔터프라이즈
    • 클라우드
    • 자동화
    • 유리 천장 너머로
    • 관리직? 기술직?
    • 자신이 어디로 향하는지 항상 생각하라
    • Chapter 56 고용의 안정성과 보장
    • 불안정하지만 괜찮다
    • 지식을 꽁꽁 감춘다고 해서 고용이 보장되지 않는다
    • 반대로 하라
    • 안정성을 능력으로 대체하라
    • 자신의 안전망은 스스로 만들어라
    • 불확실성을 받아들여라
    • Chapter 57 교육과 자격증
    • 자격증이 가치가 있을까?
    • 그렇다면 왜 자격증을 취득해야 하는 거죠?
    • 자격증을 취득하는 방법
    • 교육은요?
    • 교육의 유형
    • 교육 효과 최대화하기
    • 회사에서 교육비 지원받기
    • 강사 되기
    • 얼마나 노력하느냐가 중요하다
    • Chapter 58 사이드 프로젝트
    • 사이드 프로젝트는 항상 해야 한다
    • 사이드 프로젝트 고르기
    • 적어도 두 가지 효과를 내라
    • 시작하기
    • 꾸준히 하라
    • 마무리하라
    • 사이드 프로젝트로 수익 올리기
    • 당장 시작하라!
    • Chapter 59 추천 도서
    • 훌륭한 코드 작성하기
    • 개발 기본 소양 갖추기
    • 기존 코드 다루기
    • 더 훌륭한 개발자 되기
    • 인간으로서 성장하기
    • 깊이 들어가기
    • 재미있는 책
    • 인내와 동기부여에 관한 책
    • 꾸준히 읽어라
    • Chapter 60 마치며
    • 마지막 부탁
    • 부록 개발자로 살아가기
    • ‘좋은 개발자’의 정의
    • 좋은 개발자 === 끊임없이 공부하는 개발자
    • 좋은 개발자 === 협업을 잘하는 개발자
    • 좋은 개발자 === 소프트 스킬을 갖춘 개발자
    • 좋은 개발자 === 함께 일하고 싶은 동료
    • 내 첫 번째 이직: SI 회사에서 서비스 회사로
    • SI 회사에서 서비스 회사로 이직 준비하기
    • 코딩 테스트부터 최종 합격까지
    • 5년 차 개발자의 첫 이직 이야기
    • 이직을 결심하다
    • 회사를 선정하다
    • 스타트업 면접을 보다
    • 중견 기업과 대기업 면접을 보다
    • 고민에 빠지고… 한 번 더 만나다
    • 성장하다
    • 결정하다
    • 뱅크샐러드
    • 체대생이 개발자가 되기까지
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.