Skip to content

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)

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).

  1. Write weekly reflections on what you learned, challenges faced, and how you overcame them.
  2. Relate new knowledge to past experiences.
  3. 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.

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.

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:

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 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:

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.

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:

A good output is a written summary, shared with your team, naming specifics from the episode and what they change about your project.