Skip to content

Split View: 개발자 학습 완전 가이드: 새 언어, 새 도메인, 논문, 평생 학습, AI 학습 파트너까지 (2025)

|

개발자 학습 완전 가이드: 새 언어, 새 도메인, 논문, 평생 학습, AI 학습 파트너까지 (2025)

들어가며 — "10년차인데 아직도 새로 배울 게 있네요"

30대 후반 시니어:

"Rust 해보려 했는데 3번째 포기예요. 나이 들어서 학습 능력이 떨어졌나 봐요."

답: 절대 아니다. 대부분의 "학습 능력 저하"는 학습 방법의 문제다.

연구 결과:

  • 성인의 학습 능력 감소는 40대 후반부터
  • 그 전에는 **"시간 부족 + 나쁜 방법"**이 원인
  • 좋은 방법이면 60대도 새 언어 학습 가능

이 글은:

  1. 학습 과학 — Carey, Oakley, Ericsson
  2. 새 프로그래밍 언어 30일 정복법
  3. 새 도메인 진입법 (ML, Security, Finance, Embedded)
  4. 논문 읽는 법 — 3단계 접근
  5. Zettelkasten + Obsidian 시스템
  6. 기술 서적 완독법
  7. Coursera, Udemy, 부트캠프 ROI
  8. AI 학습 파트너 활용법
  9. 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)

단순 반복이 아닌:

  1. 구체적 목표
  2. 집중
  3. 즉각 피드백
  4. 약점 공략
  5. 불편한 영역

개발자 예: 랜덤 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:

Go:

TypeScript:

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

경로:

  1. Linear algebra + Probability 기초 (Khan Academy)
  2. Python + NumPy + Pandas
  3. Andrew Ng Coursera (Machine Learning Specialization)
  4. Fast.ai (실용)
  5. Andrej Karpathy의 "Zero to Hero" 시리즈 (YouTube)
  6. Papers with Code (구현 따라하기)

시간: 6~12개월.

3.2 Security

경로:

  1. Network 기초 (TCP/IP)
  2. Web security (OWASP Top 10)
  3. HackTheBox, TryHackMe (실습)
  4. CTF 대회 참여
  5. Bug bounty (HackerOne, BugCrowd)
  6. CISSP, OSCP 자격증 (선택)

3.3 Embedded

경로:

  1. C 기초 재학습
  2. Arduino → Raspberry Pi → STM32
  3. RTOS (FreeRTOS, Zephyr)
  4. Rust for embedded (최근 트렌드)
  5. 하드웨어 (오실로스코프, 로직 분석기)

3.4 Finance (Fintech, HFT)

경로:

  1. 금융 기초 (주식, 채권, 옵션)
  2. Time series analysis
  3. C++ / Rust (저지연)
  4. 책: Options, Futures, and Other Derivatives (John Hull)
  5. 한국: 금융자격증 (AICPA, CFA) — 필수 아님

3.5 DevOps/SRE

경로:

  1. Linux 깊이 (The Linux Command Line)
  2. 네트워크 (TCP, DNS, HTTP)
  3. 컨테이너 (Docker → Kubernetes)
  4. Terraform / Pulumi
  5. Prometheus, Grafana
  6. 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

모아놓은 곳:

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단계

  1. Elementary: 글자 읽기
  2. Inspectional: 훑어보기 (목차, 서문, 결론)
  3. Analytical: 상세 분석
  4. 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 책을 읽고 잊지 않는 법

  1. Annotation: 밑줄, 여백 메모
  2. 요약 노트: 각 장 1페이지 요약
  3. 블로그: 공개 정리
  4. 가르치기: 스터디 그룹
  5. 적용: 실제 코드에 써먹기

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

  • 단건 구매 (자주 할인 10 10~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개 강의 (총 200 200~500) 부트캠프: 한국 무료1,000만원, 미국 10K 10K~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: 원본을 읽어라


다음 글 예고 — "개발자 네트워킹과 브랜딩: 내성적 개발자도 할 수 있는 실전 가이드"

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:

  1. The science of learning — Carey, Oakley, Ericsson
  2. Conquering a new programming language in 30 days
  3. Entering a new domain (ML, Security, Finance, Embedded)
  4. Reading papers — the 3-pass approach
  5. Zettelkasten + Obsidian system
  6. How to actually finish a technical book
  7. Coursera, Udemy, bootcamp ROI
  8. Using AI as a learning partner
  9. 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:

  1. Specific goal
  2. Focus
  3. Immediate feedback
  4. Attack weaknesses
  5. 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

Rust:

Go:

TypeScript:

Python:

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:

  1. Linear algebra + probability basics (Khan Academy)
  2. Python + NumPy + Pandas
  3. Andrew Ng's Coursera (Machine Learning Specialization)
  4. Fast.ai (practical)
  5. Andrej Karpathy's "Zero to Hero" series (YouTube)
  6. Papers with Code (reimplement)

Timeline: 6–12 months.

3.2 Security

Path:

  1. Networking basics (TCP/IP)
  2. Web security (OWASP Top 10)
  3. HackTheBox, TryHackMe (hands-on)
  4. CTF competitions
  5. Bug bounty (HackerOne, BugCrowd)
  6. CISSP, OSCP certs (optional)

3.3 Embedded

Path:

  1. Relearn C fundamentals
  2. Arduino → Raspberry Pi → STM32
  3. RTOS (FreeRTOS, Zephyr)
  4. Rust for embedded (recent trend)
  5. Hardware (oscilloscope, logic analyzer)

3.4 Finance (Fintech, HFT)

Path:

  1. Finance basics (stocks, bonds, options)
  2. Time series analysis
  3. C++ / Rust (low latency)
  4. Book: Options, Futures, and Other Derivatives (John Hull)
  5. Korea: financial certs (AICPA, CFA) — not required

3.5 DevOps/SRE

Path:

  1. Linux in depth (The Linux Command Line)
  2. Networking (TCP, DNS, HTTP)
  3. Containers (Docker → Kubernetes)
  4. Terraform / Pulumi
  5. Prometheus, Grafana
  6. 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:

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

  1. Elementary: reading the words
  2. Inspectional: skimming (TOC, preface, conclusion)
  3. Analytical: detailed analysis
  4. 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

  1. Annotation: underline and margin notes
  2. Summary notes: one-page summary per chapter
  3. Blog: public writeup
  4. Teach: study group
  5. 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


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.