Becoming a technical leader by Gerald Weinberg

It is time for my first book review of 2020!

A while back someone told me that they saw potential in me to take on a leadership function, but I needed to learn to communication in different styles. Although I appreciated the input, I had one problem: I don’t know any other communication style than my current one… Even worse, I don’t fully understand my current communication style and the impact it has on different people.

So, I started reading some different books on communication, but I just couldn’t motivate myself to keep reading it. Then I remembered a friend of mine talking about Becoming a technical leader and how great they thought the book was. I can only say one thing: they were right. Every chapter has a Question section with thoughtful questions so you can start looking into who you are and how you lead. Besides that, it offers some wonderful advice on how to be a better leader, including how you can communicate with other people.

Decisions Part I - What's a decision anyway?

The word decision pops up very often in our day to day conversations, and it is not that surprising. Decisions form a very central role in our lives: we can sum up someone’s life by telling the sequence of decisions they made throughout it. We judge ourselves and other people by the decisions that we make:

  • I can’t believe they are moving in together, that is just a nightmare waiting to happen…
  • You should ask your brother to go with when buying your car, he bought a really good one himself.

The sad thing is that most of us never really learn anything about making decisions.

A Philosophy of Software Design by John Ousterhout

Since I mentioned this book during my interview with Dave Rael for the podcast Developer on fire, I thought it was time to put my favorite quotes of the book online.

A Philosophy of software design looks at the creation of software through the lens of complexity in your system. This book is very small, only 200 pages, so don’t expect an in depth explanation of every topic in it. It covers the basics of every topic and it is up to you to venture out and find a more in-depth book about one of the topics in it.

The most fundamental problem in computer science is problem decomposition: how to take a complex problem and divide it up into pieces that can be solved independently. (Location 198)

Humans vs Computers by Gojko Adzic

Humans vs Computers, the first book I read in 2019 and it was an excellent choice! This book is a collection of (horror) stories about software design failures. There are 4 themes in the book:

  • Names
  • Addresses
  • Numbers
  • Time
  • Process automation

And the best part? The end of the book contains an overview of the ‘lessons learned’ you can take away from all these stories when designing software.

Of course, computers couldn’t be upgraded so quickly, so people just typed VOID into the licence plate field, and Turner started receiving all the tickets. Mistakes such as these happen when a computer insists that humans provide a piece of information that isn’t immediately available or just doesn’t exist, so people find workarounds. (loc. 94)