Guidelines

The construction of a good blog entry begins with “interesting” details. Talk about the sources of the problems and (possibly) ways to avoid them.

Interesting details

Interesting details are usually points that you found difficult.

  • Was it hard to understand how to avoid code duplication?
  • Did you misunderstand parts of the specification originally?
  • What kinds of mistakes did you make?
  • Did you notice yourself making the same kinds of mistakes in more than one place?

A critical point here is that your interesting details must be concrete. Making general statements is never interesting. The details are your evidence.

Analyzing errors

All software development involves misconceptions and misunderstandings. Good software engineers observe the sources of systematic errors and change their process accordingly.

You are looking for ways to:

  • Reduce the avoidable errors.
  • Efficiently address the unavoidable errors.

You can also write about things you felt like were unproductive or took longer than needed. Identifying ways in which you were inefficient can help you be more efficient next time.

At the start, consider just identifying the errors and a cause.

Sincere reflection

Inane statements about avoiding errors like “don’t be stupid” or “read the instructions three times” do not help your personal growth. It is more productive to consider some errors “unavoidable” and instead focus on more efficient discover and “repair”.

Notice your mistakes

There is a famous machine learning paper titled “attention is all you need”. I am not sure that’s all you need to learn software engineering, but I am confident that if you don’t even know what mistakes you made on a project, you are sure to repeat them on the next project.

For best results: notice without judgement. (You might hear this called “mindfulness”.)