Learning and Reflection
These activities record what you learn and take you beyond the project, through what others have written, said, and filmed about building software. Regular reflection also gives you concrete material for any retrospective you write, about the project or about your own growth in it.
“The unexamined life is not worth living.” (Socrates)
Learning Journal
Section titled “Learning Journal”A learning journal is a personal record where you reflect on your learning experiences, capturing insights, challenges, and progress over time. It’s all about metacognition (thinking about thinking).
- Write weekly reflections on what you learned, challenges faced, and how you overcame them.
- Relate new knowledge to past experiences.
- Evaluate your skills and identify areas for improvement.
Months of journal entries are material for any retrospective you have to write: instead of reconstructing the project from memory, you quote yourself.
A good output is an unbroken run of weekly entries you can quote from directly.
Read or Watch an ACM Piece
Section titled “Read or Watch an ACM Piece”Find an ACM Queue article or an ACM Tech Talk of some relevance to your project, read or watch it, and write a summary of what you learned that could or should be applied to your project. Include specifics. Share it with your team.
A good output is a written summary, shared with your team, naming specifics from the article or talk and what they change about your project.
Read a Book
Section titled “Read a Book”Find a good book on software engineering, read it, and write a summary of what you learned that could or should be applied to your project. Include specifics. Share it with your team.
Here are some ideas:
- Software Engineering at Google (start here)
- The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
- The Mythical Man Month
A good output is a written summary, shared with your team, naming specifics from the book and what they change about your project.
Watch a Documentary
Section titled “Watch a Documentary”Watch a documentary film related to your project. Each team member writes a paragraph about a different aspect of the film that is relevant to the project.
Here are some ideas:
- The Social Dilemma
- Coded Bias
- The Thinking Game (on DeepMind, AlphaFold, and the race toward general AI)
- Eternal You (on AI avatars of the dead and the grief-tech industry)
- Design Disruptors
- The Great Hack
- AlphaGo
- Inside Envoy: The Proxy for the Future
- Prometheus: The Documentary
- How A Small Team of Developers Created React at Facebook | React.js: The Documentary
Documentaries lag the technology by a few years, so if you want something closer to the current moment, a recent long-form piece (video essay, in-depth podcast, or feature article) on the social impact of large language models and generative AI also works; agree on it as a team first.
A good output is one paragraph per team member, each on a different aspect of the film, saying what it means for your project.
Listen to a Podcast
Section titled “Listen to a Podcast”Find a podcast episode of some relevance to your project, listen to it, and write a summary of what you learned that could or should be applied to your project. Include specifics. Share it with your team.
Here are some ideas:
- The Pragmatic Engineer Podcast
- Darknet Diaries
- Open Source Security Podcast
- Acquired
- The Futur Podcast
A good output is a written summary, shared with your team, naming specifics from the episode and what they change about your project.