Books/The Mediocre Programmer: Difference between revisions

From Wiki
(First 4 chapters covered)
 
(Add 5th chapter summary)
Line 29: Line 29:
* Compassion and empathy
* Compassion and empathy
* Kindness
* 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.





Revision as of 13:15, 26 May 2020

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