Split View: 개발자 학습 완전 가이드: 새 언어, 새 도메인, 논문, 평생 학습, AI 학습 파트너까지 (2025)
개발자 학습 완전 가이드: 새 언어, 새 도메인, 논문, 평생 학습, AI 학습 파트너까지 (2025)
들어가며 — "10년차인데 아직도 새로 배울 게 있네요"
30대 후반 시니어:
"Rust 해보려 했는데 3번째 포기예요. 나이 들어서 학습 능력이 떨어졌나 봐요."
답: 절대 아니다. 대부분의 "학습 능력 저하"는 학습 방법의 문제다.
연구 결과:
- 성인의 학습 능력 감소는 40대 후반부터
- 그 전에는 **"시간 부족 + 나쁜 방법"**이 원인
- 좋은 방법이면 60대도 새 언어 학습 가능
이 글은:
- 학습 과학 — Carey, Oakley, Ericsson
- 새 프로그래밍 언어 30일 정복법
- 새 도메인 진입법 (ML, Security, Finance, Embedded)
- 논문 읽는 법 — 3단계 접근
- Zettelkasten + Obsidian 시스템
- 기술 서적 완독법
- Coursera, Udemy, 부트캠프 ROI
- AI 학습 파트너 활용법
- 40~50대 학습
을 다룬다. Season 3 Episode 11. 지난 편 "정신 건강"의 회복을 다뤘고, 이번은 "회복된 상태에서 어떻게 성장하는가".
Chapter 1: 학습의 과학
1.1 Cognitive Load Theory
John Sweller (1988):
- 내재적 부하 (Intrinsic): 주제 자체의 복잡도
- 외재적 부하 (Extraneous): 설명이 복잡해서 생기는 부하
- 유익한 부하 (Germane): 스키마 구축에 쓰는 에너지
나쁜 수업: Extraneous 많음 좋은 수업: Intrinsic에 집중, Germane 유도
1.2 Desirable Difficulty (Bjork)
너무 쉬우면 각인 안 됨. 약간의 어려움이 기억 강화.
- Spaced Repetition (간격 반복): Anki, Quizlet
- Interleaving (섞기): 한 주제 집중 말고 여러 주제 교대
- Retrieval Practice (인출 연습): 다시 읽기 말고 기억에서 꺼내기
1.3 Focused vs Diffuse Mode (Barbara Oakley)
Focused: 집중 학습, 상세 이해 Diffuse: 쉬는 동안 뇌가 정리
둘 다 필요. 샤워하다 해결책 떠오르는 경험 = Diffuse.
1.4 Deliberate Practice (Anders Ericsson)
단순 반복이 아닌:
- 구체적 목표
- 집중
- 즉각 피드백
- 약점 공략
- 불편한 영역
개발자 예: 랜덤 Leetcode 풀기 < 약한 DP 문제를 피드백 받으며 풀기.
1.5 "10,000 hour rule"의 오해
Malcolm Gladwell의 인용으로 유명. 실제 Ericsson의 메시지:
"양이 아니라 질. 10,000시간 딴생각하며 연습해도 전문가 안 됨."
Chapter 2: 새 프로그래밍 언어 30일 정복법
2.1 30일 로드맵
Week 1: 문법 기초
- 공식 튜토리얼 (Rust Book, Go Tour, TypeScript Handbook)
- Hello World, 변수, 조건, 반복, 함수
- 하루 1시간
Week 2: 데이터 구조 + 에러 처리
- 배열, 리스트, 맵, 구조체
- 에러 처리 방식 (Option, Result, try/catch)
- 간단한 CLI 툴 만들기 (예: JSON 파서, 파일 검색)
Week 3: 동시성 + 생태계
- 해당 언어의 동시성 (goroutine, async/await, tokio)
- 패키지 관리자 (cargo, npm, pip, go mod)
- 인기 프레임워크 2~3개 훑기
Week 4: 실전 프로젝트
- 작은 웹 서버 또는 CLI 프로젝트
- 테스트 작성
- README + 블로그 포스트
2.2 언어별 추천 시작 자료
Rust:
- The Rust Book
- Rustlings: 실습
- 프로젝트: CLI 툴, ripgrep 클론
Go:
- A Tour of Go
- Go by Example
- 프로젝트: 웹 서버, CLI
TypeScript:
- TypeScript Handbook
- Total TypeScript by Matt Pocock
- 프로젝트: React 앱, Next.js 블로그
Python:
- Python.org Tutorial
- Real Python
- 프로젝트: 데이터 분석, 자동화 스크립트
2.3 공통 전략
1) 이미 아는 개념과 연결:
- Rust 소유권 ↔ C++ RAII
- TypeScript 제네릭 ↔ Java 제네릭
- Go 인터페이스 ↔ Duck typing
2) 언어 특유 Idiom 익히기:
- Go: "Accept interfaces, return structs"
- Rust: "Expect the
Result" - Python: "Easier to ask forgiveness than permission"
3) 실제 OSS 코드 읽기:
- 작은 프로젝트 (10K 라인 이하)
- GitHub Trending
2.4 "Hello World 너머"
흔한 실수: 튜토리얼만 반복. 실제 코딩 안 함.
강제: 30일차 blog post "Rust로 X 만들며 배운 것".
Chapter 3: 새 도메인 진입
3.1 ML/AI
경로:
- Linear algebra + Probability 기초 (Khan Academy)
- Python + NumPy + Pandas
- Andrew Ng Coursera (Machine Learning Specialization)
- Fast.ai (실용)
- Andrej Karpathy의 "Zero to Hero" 시리즈 (YouTube)
- Papers with Code (구현 따라하기)
시간: 6~12개월.
3.2 Security
경로:
- Network 기초 (TCP/IP)
- Web security (OWASP Top 10)
- HackTheBox, TryHackMe (실습)
- CTF 대회 참여
- Bug bounty (HackerOne, BugCrowd)
- CISSP, OSCP 자격증 (선택)
3.3 Embedded
경로:
- C 기초 재학습
- Arduino → Raspberry Pi → STM32
- RTOS (FreeRTOS, Zephyr)
- Rust for embedded (최근 트렌드)
- 하드웨어 (오실로스코프, 로직 분석기)
3.4 Finance (Fintech, HFT)
경로:
- 금융 기초 (주식, 채권, 옵션)
- Time series analysis
- C++ / Rust (저지연)
- 책: Options, Futures, and Other Derivatives (John Hull)
- 한국: 금융자격증 (AICPA, CFA) — 필수 아님
3.5 DevOps/SRE
경로:
- Linux 깊이 (The Linux Command Line)
- 네트워크 (TCP, DNS, HTTP)
- 컨테이너 (Docker → Kubernetes)
- Terraform / Pulumi
- Prometheus, Grafana
- Site Reliability Engineering (Google 책)
3.6 공통 원칙
- 작은 프로젝트로 시작
- 커뮤니티 가입 (Slack, Discord)
- 전문가 트위터 팔로우
- 첫 6개월은 대부분 힘듦 — 정상
Chapter 4: 논문 읽기
4.1 S. Keshav의 3-Pass Method
Pass 1 (5~10분):
- 제목, 초록, 서론
- 섹션 제목
- 결론
- 참고 문헌 훑기
→ "이 논문이 내게 필요한가?" 판단.
Pass 2 (1시간):
- 그림, 도표 이해
- 핵심 증명/알고리즘은 일단 skip
- Mark up (밑줄, 질문)
- 참고 논문 메모
→ "저자가 뭘 주장하는가" 파악.
Pass 3 (4~5시간):
- 모든 세부 이해
- 재현 가능 수준
- 저자 입장에서 "왜 이 선택?"
→ 완전한 이해.
4.2 어떤 논문부터
클래식 CS 논문:
- Time, Clocks, and the Ordering of Events (Lamport)
- MapReduce: Simplified Data Processing (Dean, Ghemawat)
- Attention is All You Need (Vaswani et al., 2017, Transformer)
- BigTable, Dynamo, GFS
모아놓은 곳:
- Papers We Love
- ACM Digital Library
- arXiv (최신)
- The Morning Paper (Adrian Colyer의 요약)
4.3 논문 읽기 그룹
- 회사 내부 study group
- Twitter/X paper club
- Discord reading group
혼자보다 10배 지속 가능.
4.4 AI로 논문 읽기
- Claude/ChatGPT: 초록 요약, 이해 안 가는 부분 설명
- Semantic Scholar: 관련 논문 추천
- Connected Papers: 시각적 연결
- Elicit: 질문에 대한 논문 검색
Chapter 5: Zettelkasten과 Obsidian
5.1 Zettelkasten이란
Niklas Luhmann (사회학자, 70년 동안 90,000 노트):
- 원자적 노트 (한 아이디어 = 한 노트)
- 고유 ID
- 양방향 링크
- 계층 없는 태그
5.2 Obsidian 추천 이유
- Markdown (이식성)
- 로컬 저장 (클라우드 의존 X)
- 양방향 링크
- 플러그인 풍부
- 무료
5.3 기본 구조
폴더:
00_inbox/ # 새 노트
10_zettels/ # 영구 노트 (원자적)
20_literature/ # 논문/책 요약
30_daily/ # 하루 기록
90_attachments/ # 이미지
노트 템플릿:
---
id: 20250108-spaced-repetition
tags: [learning, memory, science]
source: [[book-make-it-stick]]
---
# 간격 반복의 원리
짧은 간격 반복보다 **긴 간격 반복**이 장기 기억에 효과적이다.
## 왜
- 망각 직전 재노출이 가장 강한 자극
- Spacing effect (Ebbinghaus, 1885)
## 연결
- [[deliberate-practice]]
- [[anki-workflow]]
5.4 일일 노트
Daily Note: 매일 하나의 파일.
- 오늘 배운 것
- 흥미로운 링크
- 질문
주간 리뷰로 영구 노트로 승격.
5.5 플러그인 추천
- Dataview: DB 쿼리
- Templater: 템플릿 자동화
- Kanban: 작업 보드
- Excalidraw: 손그림 다이어그램
- Obsidian Sync 또는 git 동기화
5.6 Notion과 비교
Obsidian 강점: 개인 지식, 오프라인, 소유권 Notion 강점: 협업, DB, 공유
병행 사용: Obsidian = 개인 메모, Notion = 팀 작업.
Chapter 6: 기술 서적 완독법
6.1 "완독"이 목표가 아니다
대부분 기술서는 참고서. 처음부터 끝까지 읽는 건 낭비.
6.2 Adler의 How to Read a Book 4단계
- Elementary: 글자 읽기
- Inspectional: 훑어보기 (목차, 서문, 결론)
- Analytical: 상세 분석
- Syntopical: 여러 책 비교
6.3 기술서 전략
Level 1: Inspectional (1시간):
- 서문, 목차, 각 장 첫/마지막 단락
- "이 책에서 뭘 얻을 수 있나"
Level 2: Selective (5~20시간):
- 내게 필요한 3~5개 장
- 예제 따라하기
Level 3: Deep (50~100시간):
- 전체 정독 + 연습 문제
- 블로그 포스트 연재
- 스터디 그룹
6.4 명작 가이드
SICP (Structure and Interpretation of Computer Programs):
- MIT의 전설적 교재
- Scheme으로 CS 기초
- MIT 6.001 강의 (YouTube)
- 6개월+ 걸림
CLRS (Introduction to Algorithms):
- 알고리즘 결정판
- 처음부터 끝까지 읽는 책 아님
- 레퍼런스로 활용
DDIA (Designing Data-Intensive Applications):
- 분산 시스템 필독
- 읽고 + 블로그 쓰기 강력 추천
- 6개월 걸려도 OK
Operating Systems: Three Easy Pieces:
- OS 무료 교재
- 실용적, 재밌음
- OSTEP.org
The Pragmatic Programmer:
- 커리어 초반 필독
- 20주년 개정판
6.5 속독 vs 정독
코드/수식 많은 책 = 정독. 에세이/관점 책 = 속독 OK.
6.6 책을 읽고 잊지 않는 법
- Annotation: 밑줄, 여백 메모
- 요약 노트: 각 장 1페이지 요약
- 블로그: 공개 정리
- 가르치기: 스터디 그룹
- 적용: 실제 코드에 써먹기
Chapter 7: 온라인 강의 — Coursera, Udemy, 부트캠프
7.1 Coursera
- 대학 수준 (Stanford, Yale, Princeton)
- 증명서 (일부 무료)
- 체계적
- 숙제 많음 (실제 학습)
- 추천: Andrew Ng (ML), Princeton Algorithms, Robert Sedgewick
7.2 edX
- MIT, Harvard 중심
- MicroMasters 프로그램
- 실용적 + 학술적
7.3 Udemy
- 단건 구매 (자주 할인 20)
- 실용적, 짧은 호흡
- 품질 편차 큼
- 추천: Stephen Grider, Maximilian Schwarzmüller
7.4 Pluralsight / O'Reilly Learning
- 기업 구독 (회사 지원 많음)
- 기술 광범위
- 품질 일관
7.5 부트캠프
한국:
- 우아한테크코스 (우아한형제들, 무료, 7개월)
- 네이버 부스트캠프 (무료)
- SSAFY (삼성, 유급)
- 항해99, 코드스테이츠 (유료)
미국:
- Hack Reactor
- App Academy
- Bloom Institute (ISA 모델)
효과:
- 부트캠프 졸업자 취업률: 한국 70~90%
- 6~12개월 집중
- 독학보다 빠르지만 비쌈
7.6 ROI 분석
무료 경로: CS50 + Odin Project + OSS 기여 (가성비 갑)
유료 강의: Udemy 1020개 강의 (총 500)
부트캠프: 한국 무료1,000만원, 미국 20K
선택 기준:
- 독학 가능 여부
- 취업 필요한 시간
- 예산
- 네트워크 가치
Chapter 8: AI를 학습 파트너로
8.1 잘못된 사용
- 문제 답을 바로 물어봄 → 이해 없이 복붙
- 모든 코드 AI에게 작성시키기 → 성장 정지
- AI 답 검증 없이 믿기 → 할루시네이션
8.2 좋은 사용
1) Socratic 질문:
프롬프트: "나는 Rust 소유권을 배우고 있어. 퀴즈로 나를 테스트해줘.
답 맞추면 더 어려운 질문으로. 틀리면 설명만."
2) 설명 요청:
"이 CSS 코드의 각 줄이 무슨 일을 하는지 설명해줘."
"이 SQL 쿼리가 왜 느린지 EXPLAIN 결과와 함께 분석해줘."
3) 이해 확인:
"내가 이해한 것을 말할 테니 틀린 부분 지적해줘:
[자기 설명]"
4) 패턴 비교:
"Rust의 Result와 Go의 error return 차이점?"
5) 브레인스토밍:
"이 아키텍처 설계의 약점 3가지와 대안 2가지를 제시해줘."
8.3 효과적인 프롬프트 템플릿
Learning by teaching:
"나는 [X]를 [Y]에게 설명하려고 해. 내가 알아야 할 개념 5가지를 선정하고,
각각을 [연령/수준]에 맞게 비유로 설명해줘."
Deliberate Practice:
"[주제]에서 내가 자주 틀리는 영역이 [A, B, C]야. 이 약점 공략 문제 10개,
난이도 오름차순으로. 각 문제 후 힌트 → 답 순서."
8.4 AI의 한계 인지
- 최신 정보 부족 가능
- 할루시네이션 (자신감 있게 틀림)
- 심층 전문성은 부족한 경우
검증: 공식 문서, 권위 있는 책, 커뮤니티와 교차 확인.
8.5 IDE에서 AI
- GitHub Copilot: 실시간 자동완성
- Cursor: Chat + Refactor
- Continue: 오픈소스
- Claude Code / CodeWhisperer / Gemini: Agentic coding
학습용 팁: Copilot 끄고 먼저 써본 후 켜서 비교. 순전한 복붙 방지.
Chapter 9: 40~50대의 학습
9.1 나이와 학습
연구:
- 새 정보 "습득" 속도는 감소 (20대 대비 10~20%)
- "연결" 속도는 증가 (경험 많음)
- 결과적으로 복잡한 문제는 나이 든 쪽이 빠름
9.2 전략 변경
양에서 질로:
- 하루 4시간 새 기술 X
- 하루 1시간 + 기존 경험 연결 O
T자형 더 깊이:
- 넓게 배우기보다 한 영역 심화
- 예: Staff Engineer → Specialist Principal
가르침으로 학습:
- 주니어 멘토링
- 기술 블로그
- 컨퍼런스 발표
9.3 건강 기반
- 수면이 학습 핵심 (memory consolidation)
- 운동 → BDNF (뇌 유도 신경영양인자)
- 지중해식 식단
9.4 실제 사례
- Andrew Tanenbaum: 70대에도 OS 책 개정
- Leslie Lamport: 80대, TLA+ 연구
- Bjarne Stroustrup: 70대, C++ 계속 발전시킴
- Alan Kay: 80대, 여전히 새 언어 디자인
9.5 함정
- "젊은 애들 쫓아가야 해" 공포 → 건강 희생
- "다 배웠어" 교만 → 정체
- "나이 들어 못해" 자포자기 → 포기
Chapter 10: 학습 커뮤니티
10.1 한국 개발자 커뮤니티
- OKKY: 전통 있는 Q&A
- 인프런: 강의 + 커뮤니티
- GeekNews: 뉴스 공유
- Disquiet: 스타트업 창업/빌딩
- 뉴닉/슬로우레터: 테크 뉴스레터
10.2 스터디 그룹
온라인:
- Discord 스터디 서버
- 라이브 코딩 (예: Miku's Live)
오프라인:
- 서울: 강남/판교 개발자 모임
- 지방: 각 지역 IT 커뮤니티
포맷:
- 책 읽기 (매주 1장)
- 알고리즘 (주 2문제)
- 프로젝트 (3개월 단위)
10.3 글로벌 커뮤니티
- Hacker News: 뉴스 + 토론
- Reddit r/programming, r/experienceddev
- Dev.to
- Stack Overflow (침체 중이지만 여전히 유용)
10.4 컨퍼런스
- 학습 가속
- 네트워크
- 동기 부여
연 1~2회 참석 권장.
Chapter 11: 평생 학습 루틴
11.1 일일
- 뉴스: 15분 (TLDR, Hacker News 훑기)
- 독서: 30분 (기술서 또는 논문)
- 실전: 실제 코드 작성/리뷰
11.2 주간
- 주 1회 블로그 포스트 (또는 개인 노트)
- 주 1회 스터디 그룹
- 주 1회 리뷰 (Weekly Review)
11.3 월간
- 월 1회 새 책/강의 시작 또는 완료
- 월 1회 OSS 기여
- 월 1회 기술 관련 사람 커피 챗
11.4 분기
- 분기 1개 사이드 프로젝트 (스킬 실험)
- 분기 1개 Tech Talk 또는 발표
- 분기 1회 관심사 재평가
11.5 연간
- 연 1~2개 새 도메인/기술 본격 학습
- 연 1회 컨퍼런스
- 연 1회 스킬 재고 + 앞으로 1년 계획
Chapter 12: 12항목 학습 체크리스트
- 일일 독서: 30분 이상 확보
- 일일 실습: 새 기술 조금이라도 코딩
- 노트 시스템: Obsidian/Notion
- Spaced Repetition: Anki 또는 유사 도구
- 스터디 그룹: 최소 1개 참여
- 블로그: 월 1편+
- OSS 기여: 분기 1회+
- 멘토: 선배 1명+
- 멘티: 후배 1명+
- 컨퍼런스: 연 1회+
- 목표 세팅: 분기별 학습 목표 3개
- 리뷰 의식: 매주/매월/매년
Chapter 13: 10가지 학습 안티패턴
1) 튜토리얼 지옥
끝없이 "초급 튜토리얼" 반복. 실제 프로젝트 안 함. 실전 프로젝트가 진짜 학습.
2) 책 수집
수십 권 기술서 구매, 1권 안 읽음. 1권 완독이 10권 소장보다.
3) 도구 세팅 중독
Obsidian 템플릿 꾸미기 2주. 실제 학습 0. 도구 10%, 학습 90%.
4) "내년엔 배울게"
매년 목록만 업데이트. 실행 안 됨. 오늘 30분 시작.
5) Multi-start
Rust, Go, Elixir 동시 시작. 모두 중단. 하나 끝낸 후 다음.
6) 유튜브만 보기
Lecture 수동 시청만. 코딩 안 함. Passive < Active.
7) "완벽 이해 후 코딩"
100% 이해하고 시작하려 함. 영원히 시작 못 함. 50% 이해 후 실습.
8) 공유 안 하기
배운 것 혼자 간직. 피드백 없음. 블로그/대화로 공유.
9) 어려운 거 회피
계속 쉬운 것만. 성장 없음. Desirable Difficulty.
10) "이 나이에 무슨"
자기 제한. 뇌는 60대도 학습 가능. 나이는 변명.
마치며 — 평생 학습은 엔지니어링의 운명
원칙 1: 작게, 매일
하루 30분 × 5년 > 주말 10시간 1개월.
원칙 2: 가르치며 배운다
블로그, 멘토링, 발표 — 가장 빠른 성장.
원칙 3: 커뮤니티 > 독학
혼자보다 그룹. 동기, 피드백, 재미.
원칙 4: 건강이 기초
수면, 운동, 영양. 이 없으면 뇌 작동 안 함.
원칙 5: 도구는 수단
시스템 과잉 세팅 금지. 단순함이 강력.
원칙 6: 원본을 읽어라
- A Mind for Numbers - Barbara Oakley
- Make It Stick - Brown, Roediger, McDaniel
- How to Read a Paper - S. Keshav (PDF 무료)
- Learning How to Learn - Coursera (Barbara Oakley)
- How to Read a Book - Mortimer Adler
- Peak - Anders Ericsson
다음 글 예고 — "개발자 네트워킹과 브랜딩: 내성적 개발자도 할 수 있는 실전 가이드"
Season 3 Ep 12은:
- 네트워킹의 과학 (약한 관계의 힘 — Granovetter)
- 내성적 개발자의 네트워킹 전략
- LinkedIn 프로파일 최적화
- Twitter/X / LinkedIn / GitHub의 조화
- 컨퍼런스, 밋업, 스터디 그룹 참여법
- 스피킹 기회 만들기
- 글로벌 네트워크 구축 (영어권)
- 한국 개발자 커뮤니티 활용
- Personal branding의 윤리
- 네트워킹 안티패턴
다음 글에서.
The Developer Learning Complete Guide: New Languages, New Domains, Papers, Lifelong Learning, and AI Learning Partners (2025)
Intro — "Ten years in and there is still so much to learn"
A senior in her late 30s:
"I tried Rust again and quit for the third time. Maybe my learning ability has slipped with age."
Answer: absolutely not. Most of what feels like "declining learning ability" is actually a problem with learning method.
Research:
- Adult learning capacity really starts to decline in your late 40s
- Before that, the culprit is "lack of time plus bad methods"
- With good methods, even someone in their 60s can learn a new language
This post covers:
- The science of learning — Carey, Oakley, Ericsson
- Conquering a new programming language in 30 days
- Entering a new domain (ML, Security, Finance, Embedded)
- Reading papers — the 3-pass approach
- Zettelkasten + Obsidian system
- How to actually finish a technical book
- Coursera, Udemy, bootcamp ROI
- Using AI as a learning partner
- Learning in your 40s–50s
Season 3 Episode 11. The last episode covered recovery from mental-health issues; this one is "how to grow from a recovered state".
Chapter 1: The Science of Learning
1.1 Cognitive Load Theory
John Sweller (1988):
- Intrinsic load: the inherent complexity of the subject
- Extraneous load: load caused by confusing explanations
- Germane load: energy spent building mental schemas
Bad instruction: lots of extraneous load. Good instruction: focuses on intrinsic, induces germane.
1.2 Desirable Difficulty (Bjork)
If it is too easy, it does not stick. A little difficulty strengthens memory.
- Spaced Repetition: Anki, Quizlet
- Interleaving: rotate topics instead of grinding one
- Retrieval Practice: pull from memory instead of rereading
1.3 Focused vs Diffuse Mode (Barbara Oakley)
Focused: concentrated study, detailed understanding. Diffuse: the brain reorganizes during rest.
You need both. The shower epiphany is diffuse mode at work.
1.4 Deliberate Practice (Anders Ericsson)
Not mere repetition:
- Specific goal
- Focus
- Immediate feedback
- Attack weaknesses
- Uncomfortable zone
Developer example: random Leetcode grind is worse than working on weak DP problems with feedback.
1.5 The misunderstood "10,000 hour rule"
Popularized by Malcolm Gladwell. Ericsson's actual message:
"Quality, not quantity. Ten thousand hours of zoned-out practice will not make you an expert."
Chapter 2: Conquering a New Programming Language in 30 Days
2.1 30-day roadmap
Week 1: Syntax basics
- Official tutorial (Rust Book, Go Tour, TypeScript Handbook)
- Hello World, variables, conditionals, loops, functions
- 1 hour a day
Week 2: Data structures + error handling
- Arrays, lists, maps, structs
- Error-handling model (Option, Result, try/catch)
- Build a small CLI tool (JSON parser, file search, etc.)
Week 3: Concurrency + ecosystem
- The language's concurrency primitives (goroutine, async/await, tokio)
- Package manager (cargo, npm, pip, go mod)
- Skim 2–3 popular frameworks
Week 4: Real project
- Small web server or CLI project
- Write tests
- README + blog post
2.2 Recommended starter resources by language
Rust:
- The Rust Book
- Rustlings: exercises
- Project: CLI tool, ripgrep clone
Go:
- A Tour of Go
- Go by Example
- Project: web server, CLI
TypeScript:
- TypeScript Handbook
- Total TypeScript by Matt Pocock
- Project: React app, Next.js blog
Python:
- Python.org Tutorial
- Real Python
- Project: data analysis, automation scripts
2.3 Common strategies
1) Connect to what you already know:
- Rust ownership ↔ C++ RAII
- TypeScript generics ↔ Java generics
- Go interfaces ↔ duck typing
2) Learn the language-specific idioms:
- Go: "Accept interfaces, return structs"
- Rust: "Expect the
Result" - Python: "Easier to ask forgiveness than permission"
3) Read real OSS code:
- Small projects (under 10K lines)
- GitHub Trending
2.4 "Beyond Hello World"
A common mistake: replaying tutorials forever, never actually coding.
Force the issue: on day 30, publish a blog post "What I learned building X in Rust".
Chapter 3: Entering a New Domain
3.1 ML/AI
Path:
- Linear algebra + probability basics (Khan Academy)
- Python + NumPy + Pandas
- Andrew Ng's Coursera (Machine Learning Specialization)
- Fast.ai (practical)
- Andrej Karpathy's "Zero to Hero" series (YouTube)
- Papers with Code (reimplement)
Timeline: 6–12 months.
3.2 Security
Path:
- Networking basics (TCP/IP)
- Web security (OWASP Top 10)
- HackTheBox, TryHackMe (hands-on)
- CTF competitions
- Bug bounty (HackerOne, BugCrowd)
- CISSP, OSCP certs (optional)
3.3 Embedded
Path:
- Relearn C fundamentals
- Arduino → Raspberry Pi → STM32
- RTOS (FreeRTOS, Zephyr)
- Rust for embedded (recent trend)
- Hardware (oscilloscope, logic analyzer)
3.4 Finance (Fintech, HFT)
Path:
- Finance basics (stocks, bonds, options)
- Time series analysis
- C++ / Rust (low latency)
- Book: Options, Futures, and Other Derivatives (John Hull)
- Korea: financial certs (AICPA, CFA) — not required
3.5 DevOps/SRE
Path:
- Linux in depth (The Linux Command Line)
- Networking (TCP, DNS, HTTP)
- Containers (Docker → Kubernetes)
- Terraform / Pulumi
- Prometheus, Grafana
- Site Reliability Engineering (Google book)
3.6 Shared principles
- Start with small projects
- Join a community (Slack, Discord)
- Follow domain experts on Twitter
- The first 6 months feel mostly awful — that is normal
Chapter 4: Reading Papers
4.1 S. Keshav's 3-Pass Method
Pass 1 (5–10 min):
- Title, abstract, introduction
- Section headers
- Conclusion
- Skim references
→ Decide: "do I even need this paper?"
Pass 2 (1 hour):
- Understand figures and tables
- Skip deep proofs/algorithms for now
- Mark up (underline, questions)
- Note cited papers
→ Get: "what is the author claiming?"
Pass 3 (4–5 hours):
- Understand every detail
- Be able to reproduce it
- From the author's seat: "why did they choose this?"
→ Complete understanding.
4.2 Which papers first
Classic CS papers:
- Time, Clocks, and the Ordering of Events (Lamport)
- MapReduce: Simplified Data Processing (Dean, Ghemawat)
- Attention is All You Need (Vaswani et al., 2017, Transformer)
- BigTable, Dynamo, GFS
Where to find them:
- Papers We Love
- ACM Digital Library
- arXiv (latest)
- The Morning Paper (Adrian Colyer's summaries)
4.3 Paper reading groups
- Internal company study group
- Twitter/X paper club
- Discord reading group
Ten times more sustainable than solo reading.
4.4 Reading papers with AI
- Claude/ChatGPT: summarize abstracts, explain stuck parts
- Semantic Scholar: related-paper recommendations
- Connected Papers: visual connections
- Elicit: paper search for specific questions
Chapter 5: Zettelkasten and Obsidian
5.1 What is Zettelkasten
Niklas Luhmann (sociologist; 90,000 notes over 70 years):
- Atomic notes (one idea = one note)
- Unique IDs
- Bidirectional links
- Flat, non-hierarchical tags
5.2 Why Obsidian
- Markdown (portable)
- Local storage (no cloud dependency)
- Bidirectional links
- Rich plugin ecosystem
- Free
5.3 Basic structure
Folders:
00_inbox/ # new notes
10_zettels/ # permanent notes (atomic)
20_literature/ # paper/book summaries
30_daily/ # daily entries
90_attachments/ # images
Note template:
---
id: 20250108-spaced-repetition
tags: [learning, memory, science]
source: [[book-make-it-stick]]
---
# The principle of spaced repetition
Long intervals between reviews are more effective
for long-term memory than short intervals.
## Why
- Re-exposure right before forgetting creates the strongest signal
- Spacing effect (Ebbinghaus, 1885)
## Links
- [[deliberate-practice]]
- [[anki-workflow]]
5.4 Daily notes
Daily Note: one file per day.
- What I learned today
- Interesting links
- Questions
Promote to permanent notes during the weekly review.
5.5 Plugin recommendations
- Dataview: DB-style queries
- Templater: template automation
- Kanban: task board
- Excalidraw: hand-drawn diagrams
- Obsidian Sync or git sync
5.6 Compared with Notion
Obsidian strengths: personal knowledge, offline, ownership. Notion strengths: collaboration, databases, sharing.
Use both: Obsidian for personal notes, Notion for team work.
Chapter 6: How to Actually Finish a Technical Book
6.1 "Finishing" is not the goal
Most technical books are reference material. Reading cover to cover is wasteful.
6.2 Adler's four levels from How to Read a Book
- Elementary: reading the words
- Inspectional: skimming (TOC, preface, conclusion)
- Analytical: detailed analysis
- Syntopical: comparing multiple books
6.3 Strategy for technical books
Level 1: Inspectional (1 hour):
- Preface, TOC, first/last paragraph of each chapter
- "What can I get out of this book?"
Level 2: Selective (5–20 hours):
- The 3–5 chapters relevant to you
- Work through the examples
Level 3: Deep (50–100 hours):
- Full read with all exercises
- Blog series
- Study group
6.4 Classics guide
SICP (Structure and Interpretation of Computer Programs):
- MIT's legendary textbook
- CS fundamentals through Scheme
- MIT 6.001 lectures (YouTube)
- 6+ months
CLRS (Introduction to Algorithms):
- The definitive algorithms book
- Not meant to be read cover to cover
- Use as a reference
DDIA (Designing Data-Intensive Applications):
- Must-read for distributed systems
- Read it and blog about it — strongly recommended
- Six months is fine
Operating Systems: Three Easy Pieces:
- Free OS textbook
- Practical and fun
- OSTEP.org
The Pragmatic Programmer:
- Early-career essential
- 20th anniversary edition
6.5 Skim vs deep read
Heavy with code/math = deep read. Essay/perspective books = skim is fine.
6.6 How to not forget what you read
- Annotation: underline and margin notes
- Summary notes: one-page summary per chapter
- Blog: public writeup
- Teach: study group
- Apply: use it in actual code
Chapter 7: Online Courses — Coursera, Udemy, Bootcamps
7.1 Coursera
- University grade (Stanford, Yale, Princeton)
- Certificates (some free)
- Structured
- Lots of homework (actual learning)
- Recommendations: Andrew Ng (ML), Princeton Algorithms, Robert Sedgewick
7.2 edX
- MIT- and Harvard-centric
- MicroMasters programs
- Practical plus academic
7.3 Udemy
- Single purchase (often on sale for 10–20 USD)
- Practical, short-form
- Quality varies a lot
- Recommendations: Stephen Grider, Maximilian Schwarzmüller
7.4 Pluralsight / O'Reilly Learning
- Corporate subscription (often employer-sponsored)
- Broad tech coverage
- Consistent quality
7.5 Bootcamps
Korea:
- Woowa Tech Course (Woowa Brothers, free, 7 months)
- Naver Boostcamp (free)
- SSAFY (Samsung, paid stipend)
- Hanghae99, Code States (paid)
US:
- Hack Reactor
- App Academy
- Bloom Institute (ISA model)
Effectiveness:
- Bootcamp placement rate in Korea: 70–90 percent
- Intense 6–12 months
- Faster than self-study, but expensive
7.6 ROI analysis
Free path: CS50 + The Odin Project + OSS contributions (unbeatable value). Paid courses: 10–20 Udemy courses total (200–500 USD). Bootcamp: Korea free–10M KRW, US 10K–20K USD.
Choice criteria:
- Whether you can self-teach
- Time-to-employment needed
- Budget
- Network value
Chapter 8: AI as a Learning Partner
8.1 Wrong uses
- Immediately asking for the answer → copy-paste without understanding
- Having AI write every piece of code → growth stalls
- Trusting AI output without verification → hallucinations
8.2 Good uses
1) Socratic questioning:
Prompt: "I am learning Rust ownership. Quiz me.
If I answer correctly, ask a harder question next.
If I get it wrong, just explain."
2) Explanation requests:
"Explain what each line of this CSS is doing."
"Explain why this SQL query is slow given this EXPLAIN output."
3) Understanding checks:
"I will describe what I think I understand.
Point out what is wrong: [my explanation]"
4) Pattern comparison:
"Differences between Rust's Result and Go's error returns?"
5) Brainstorming:
"Give me 3 weaknesses of this architecture and 2 alternatives."
8.3 Effective prompt templates
Learning by teaching:
"I want to explain [X] to [Y]. Pick the 5 concepts I need to know,
and explain each with an analogy suited to [age/level]."
Deliberate Practice:
"In [topic], my weak areas are [A, B, C]. Give me 10 problems that
attack these weaknesses, in increasing difficulty. After each problem,
provide hint first, then answer."
8.4 Knowing AI's limits
- May lack the latest information
- Hallucinations (confidently wrong)
- Sometimes shallow on deep expertise
Verify: cross-check against official docs, authoritative books, and the community.
8.5 AI in the IDE
- GitHub Copilot: real-time autocomplete
- Cursor: chat + refactor
- Continue: open source
- Claude Code / CodeWhisperer / Gemini: agentic coding
Learning tip: turn copilot off, try on your own, then turn it on and compare. Avoid pure copy-paste.
Chapter 9: Learning in Your 40s and 50s
9.1 Age and learning
Research:
- Raw acquisition of new info slows (10–20 percent vs your 20s)
- Speed of making connections rises (more experience)
- Net result: on complex problems, the older engineer is often faster
9.2 Shift in strategy
Quantity to quality:
- Not 4 hours a day on new tech
- Instead: 1 hour a day + tying it to existing experience
Deeper T-shape:
- Go deeper in one area rather than wider
- e.g., Staff Engineer → Specialist Principal
Learn by teaching:
- Mentoring juniors
- Tech blog
- Conference talks
9.3 Health is the foundation
- Sleep is core to learning (memory consolidation)
- Exercise → BDNF (brain-derived neurotrophic factor)
- Mediterranean diet
9.4 Real examples
- Andrew Tanenbaum: still revising OS textbooks in his 70s
- Leslie Lamport: 80s, still working on TLA+
- Bjarne Stroustrup: 70s, still evolving C++
- Alan Kay: 80s, still designing new languages
9.5 Traps
- "I have to keep up with the kids" panic → sacrificing health
- "I already know it all" arrogance → stagnation
- "Too old to learn" surrender → quitting
Chapter 10: Learning Communities
10.1 Korean developer communities
- OKKY: the classic Q&A board
- Inflearn: courses plus community
- GeekNews: news sharing
- Disquiet: startup founding/building
- Newneek / Slowletter: tech newsletters
10.2 Study groups
Online:
- Discord study servers
- Live coding streams (e.g., Miku's Live)
Offline:
- Seoul: Gangnam/Pangyo developer meetups
- Outside Seoul: regional IT communities
Formats:
- Book club (one chapter per week)
- Algorithms (two problems per week)
- Projects (3-month cycles)
10.3 Global communities
- Hacker News: news and discussion
- Reddit r/programming, r/experienceddev
- Dev.to
- Stack Overflow (declining but still useful)
10.4 Conferences
- Learning accelerator
- Network
- Motivation
One to two per year is a good target.
Chapter 11: Lifelong Learning Routine
11.1 Daily
- News: 15 minutes (TLDR, scan Hacker News)
- Reading: 30 minutes (tech book or paper)
- Practice: write/review real code
11.2 Weekly
- One blog post per week (or personal note)
- One study group meeting per week
- Weekly Review
11.3 Monthly
- Start or finish one new book/course per month
- One OSS contribution per month
- One coffee chat with a tech peer per month
11.4 Quarterly
- One side project per quarter (skill experiment)
- One tech talk or presentation per quarter
- Re-evaluate interests once per quarter
11.5 Yearly
- Seriously learn 1–2 new domains/techs per year
- One conference per year
- Annual skill inventory + plan for the next year
Chapter 12: 12-Item Learning Checklist
- Daily reading: at least 30 minutes secured
- Daily practice: code something new, even a little
- Note system: Obsidian/Notion
- Spaced Repetition: Anki or similar
- Study group: at least one
- Blog: 1+ post per month
- OSS contributions: at least one per quarter
- Mentor: at least one senior
- Mentee: at least one junior
- Conferences: at least one per year
- Goal setting: three quarterly learning goals
- Review ritual: weekly/monthly/yearly
Chapter 13: Ten Learning Anti-patterns
1) Tutorial hell
Endlessly replaying beginner tutorials, never starting a real project. Real projects are real learning.
2) Book hoarding
Buying dozens of tech books and finishing zero. Finishing one beats owning ten.
3) Tool-setup addiction
Two weeks polishing Obsidian templates. Zero actual learning. Tools 10 percent, learning 90 percent.
4) "Next year I will learn it"
Updating the list every year, never executing. Start 30 minutes today.
5) Multi-start
Starting Rust, Go, and Elixir at once. Dropping all three. Finish one, then the next.
6) YouTube-only
Passive lecture watching, no coding. Passive is worse than active.
7) "I will code once I fully understand"
Waiting for 100 percent comprehension. Never starts. Get to 50 percent, then practice.
8) Not sharing
Keeping learnings to yourself. No feedback. Share through blog/conversation.
9) Avoiding hard things
Sticking to easy material. No growth. Desirable Difficulty.
10) "Too old for that"
Self-limiting. The brain can still learn in its 60s. Age is an excuse.
Closing — Lifelong Learning Is an Engineer's Fate
Principle 1: Small, daily
30 minutes a day for 5 years beats 10 hours every weekend for a month.
Principle 2: Teach while learning
Blog, mentor, speak — the fastest growth path.
Principle 3: Community beats solo
A group beats going alone. Motivation, feedback, fun.
Principle 4: Health is the foundation
Sleep, exercise, nutrition. Without them the brain does not function.
Principle 5: Tools are means
Do not over-engineer your system. Simplicity is powerful.
Principle 6: Read the originals
- A Mind for Numbers - Barbara Oakley
- Make It Stick - Brown, Roediger, McDaniel
- How to Read a Paper - S. Keshav (free PDF)
- Learning How to Learn - Coursera (Barbara Oakley)
- How to Read a Book - Mortimer Adler
- Peak - Anders Ericsson
Next up — "Developer Networking and Branding: A Practical Guide Even for Introverted Developers"
Season 3 Ep 12 will cover:
- The science of networking (the strength of weak ties — Granovetter)
- Networking strategies for introverted developers
- LinkedIn profile optimization
- Harmonizing Twitter/X, LinkedIn, and GitHub
- How to make the most of conferences, meetups, and study groups
- Creating speaking opportunities
- Building a global network (English-speaking world)
- Leveraging the Korean developer community
- The ethics of personal branding
- Networking anti-patterns
See you next time.