Passing Down the Pain: Difficulties in Teaching Software Development
summary
Describes concrete course experiments: live coding and tests to force incremental design, reading real projects like YouTube-DL, a class debugging puzzle, and a 27‑option tool choice exercise (27 Ruby HTTP libraries). Students build a markdown parser with deliberate spec changes to feel maintenance pain, and a silly chinchilla dating app to boost engagement. Claims some techniques measurably improve debugging, testing and ownership while other experiments openly fail, giving low‑risk exposure to real maintenance tradeoffs.
AI-written summary · about
chapters (16)
- 0:00Intro
- 1:00Context
- 3:04Switch the focus
- 3:51Things to teach
- 5:09What skills do I want my future teammate to have?
- 5:591.1. Reading source code
- 7:511.2. Debugging
- 9:541.3. Tool choice
- 11:51What values do I want my future teammate to have?
- 12:352.1. Constant progress
- 14:252.1. Example: Query Builder
- 14:402.2. Concepts over code
- 16:032.3. Own your code
- 17:302.3. Example: Markdown
- 18:42Add Silliness & Humor
- 20:25The spirit
related talks
18mSelf-Directed Learning Material
38mJeroen v.d. Gulik - The way we teach tech
34mThose Who Can Do Should Also Teach
31mThe Effective Developer - Work Smarter, Not Harder
38mCode reading
33mThe Art of Teaching
33mThe D is Silent: Challenges in Teaching Django
11mTechnical Debt Crisis! When Non-Engineers Write Code
