개발자 이력서 쓰는 법 (그리고 절대 이렇게 쓰면 안 되는 법)
당신 이력서는 package.json처럼 읽힌다. 끝없는 의존성 목록뿐이고 실제로 만든 건 하나도 없다.
개발자 이력서는 코드를 못 읽는 사람이 6초 만에 검토하는, 당신이 쓰는 유일한 코드다. 그게 잔인한 부분이다. 흠 없는 이벤트 기반 백엔드를 설계할 수 있어도, 한 페이지에 2011년처럼 'JavaScript, HTML, CSS'를 나열하고 당신이 주도한 마이그레이션을 버즈워드 벽 아래 묻어버리면, 더 명확한 한 문장을 쓴 더 못한 사람에게 진다.
The Full Truth
on 한 소프트웨어 개발자의 이력서
12개 언어를 '전문가'로 나열하고는 유일한 직장을 '여러 업무를 도왔다'고 설명했다. 차선을 골라라, 가급적 돈 되는 쪽으로.
- 01
기술 섹션은 경험 부족의 자백이다
Critical열네 개 기술이 '전문가' 또는 '고급'으로 태그되었고, 그중 넷은 튜토리얼에서 한 번 써봤다. 어떤 면접관이든 이걸 '첫 심화 질문에서 떨어진다'로 읽는다. 압박 속에서 방어할 5~7개를 나열하고 나머지는 한 줄 '경험 있음'으로 내리고, 막대 그래프 대신 항목들이 깊이를 증명하게 하라.
- 02
모든 항목이 한 일이 아니라 직무를 묘사한다
Critical'프론트엔드 작업', 'API 도움', '배포에 관여'. 이건 좌석 배치지 성과가 아니다. 당신이 나타나서 무엇이 바뀌었는지 아무도 모른다. 각각을 행동 더하기 시스템 더하기 결과와 숫자로 다시 써라: 무엇을, 무엇에 했고, 측정 가능하게 무엇이 움직였는지.
- 03
무엇이든 배포된 적 있다는 증거가 전무
Notable라이브 URL도, 레포도, PR도, 규모 수치도 없다. 개발자에게 그건 음식 사진 없는 요리사 같은 거다. 진짜 하나로 가는 링크와 규모 지표(사용자, 요청, 가동률) 하나를 추가하라. 믿을 만한 증거 하나가 자기 평가 한 문단을 이긴다.
회사 웹사이트 작업을 했고 최신 기술을 사용해 다양한 프론트엔드 업무를 담당했다.
마케팅 사이트를 Next.js로 재구축해 Largest Contentful Paint를 4.1초에서 0.9초로 줄이고 가입 전환율을 18% 끌어올렸다.
기술: HTML, CSS, JS, React, Vue, Angular, Node, Python, Java, Go, Rust, Docker, K8s, AWS (전부 전문가).
코어: TypeScript, React, Node, PostgreSQL, AWS. 경험 있음: Go, Docker. (가짜 전문가 없음. 모든 '코어' 항목은 화이트보드에서 살아남는다.)
- 1모든 형용사('열정적', '성실한', '꼼꼼한')를 지우고 가장 큰 항목 셋을 행동 더하기 시스템 더하기 숫자로 교체하라.
- 2기술 목록을 라이브로 방어할 5~7개로 줄이고 나머지는 한 줄 '경험 있음'으로 강등하고, 모든 퍼센트나 막대 그래프를 죽여라.
- 3클릭 가능한 증거 하나를 추가하라: 배포된 URL이나 진짜 커밋이 있는 공개 레포를, 리크루터의 단 한 번 클릭이 착지하는 헤더에 두어라.
- 4상단 3분의 1을 목표 직무의 스택을 반영하도록 재정렬해, 가장 먼저 읽히는 것이 당신이 출시한 가장 관련 있는 것이 되게 하라.
That was a stranger's cv / résumé. Drop yours, I will go just as hard.
One coffee, from €2,99. No mercy.
해법은 키워드를 더 넣는 게 아니다. 증거다. 채용 담당자와 그들이 끌어들이는 엔지니어가 원하는 건 세 가지다. 무엇을 만들었는지, 무엇이 망가졌는지, 당신이 있었기에 무엇이 바뀌었는지. 형용사보다 숫자. 명사보다 동사. 아래에서 Sally가 회신 전화를 받는 이력서와 밤 11시에 Greenhouse에서 정중한 탈락 통보를 받는 이력서의 차이를 보여주겠다.
- 01모든 항목을 동사로 시작하고 숫자로 끝내라: 'Redis read-through 캐시를 추가해 p95 API 지연을 800ms에서 120ms로 줄였다.'
- 02라이브 면접에서 방어할 수 있는 도구로 '기술' 줄을 만들고, 화이트보드에 적으라고 하면 패닉에 빠질 모든 것은 지워라.
- 03진짜 하나만 링크하라: 배포된 URL, 머지된 PR, 이번 연대의 커밋이 있는 레포. 리크루터는 정확히 링크 하나만 클릭하니 최고의 것을 두어라.
- 04상단 3분의 1을 채용 공고의 실제 스택에 맞춰라. Go 회사라면 6년 된 jQuery 서사가 아니라 Go 작업이 먼저다.
- 05규모와 오너십을 보여라: '하루 200만 요청 처리', '5인 온콜 로테이션', '빌링 서비스를 처음부터 끝까지 담당'. 컨텍스트야말로 진짜 시니어와 시니어처럼 들리는 사람을 가른다.
- '능숙: HTML, CSS, JavaScript, React, Node, Python, Java, C++, Docker, K8s, AWS, GCP, ML, AI'를 나열해 진실(네 개만 만져봤다)이 허세 속에 빠져 죽게 하는 것.
- '코드베이스 유지보수 담당'이라고 쓰는 것. 이건 당신이 아무것도 고치지 않았고, 아무것도 출시하지 않았으며, 어떤 코드 근처에 있었다고 알려준다.
- 'Git 90% 능숙'이라고 주장하는 기술 막대 그래프. Git 능숙도는 이진이고, 그 10%는 항상 당신이 무서워하는 rebase다.
- GitHub 기여 그래프 전체를 초록 직사각형으로 붙이는 것. 들여다보면 매일 README를 커밋하는 봇 하나뿐.
- 부트캠프 to-do 앱에 다섯 줄, 월세를 낸 프로덕션 코드를 실제로 출시한 2년에 한 줄.