Books/The Mediocre Programmer

From Wiki
< Books
Revision as of 13:15, 26 May 2020 by Joseph (talk | contribs) (Add 5th chapter summary)

Author: Craig Maloney


What it is about

Most programmers are trying to be great. The author says that in order for a programmer to be great, they must pass through the mediocre stage first. This books is all about going from a novice programmer to a mediocre programmer.

This is not a technical book. It is mostly about life experiences of the author as a programmer and his advice for programmers.

Skill gaps

The tools of the trade are constantly changing. A programmer is expected to keep up with them. There will always be gaps in knowledge and skills required to accomplish the task at hand. The author advocates for a measured approach of learning as much as you can at a steady pace.

Performance anxiety

We compare our backstage with others' performances. "If we strip away the barriers of perceived rank and meritocracy we can better engage with and learn from each other."

Mistakes

Programmers should engage their curiosity. They should give themselves permission to make mistakes and learn from them. Recording our mistakes and their fixes in a journal is a good way of maximizing the learning process.

Community

Joining a good community can help you become a better programmer. It is not always easy to find the right community. Sometimes, you might have to start one yourself. A good community usually has the following:

  • Code of conduct
  • Moderators
  • Spaces for questions and guidelines for questions
  • Joy
  • Compassion and empathy
  • Kindness

Productivity

The machines we work with are tireless, so we adapt to keeping them busy all the time. We aren't giving ourselves the time to relax and reflect. We don't have to be "on" all the time. These are feelings of inadequacy. Periodic breaks are required during work that involve doing something without a computer. The break can be a short one, but it should be a full context switch.

Our desire to meet arbitrary productivity targets is a form of chasing deadlines too. These deadlines can be eliminated as they can cause undue stress. The author talks about a technique that worked for him called "focus containers". A focus container is a short amount of time that you are going to spend on the task, just doing it, not chasing a deadline. It helps get rid of inertia to start a task and also eliminates the stress of completion. Keeping distractions at bay and focusing using containers can lead to stress-free productivity.



References

1. Book website (full text available)
http://themediocreprogrammer.com