Two best books in 2019
According to The National Library of Poland research, only 10% of Poles read at least 7 books per year. I know that we are not reading a lot, and it was no surprise for me. Conversely, this fact motivated me to investigate to do some health-check about my reading.
The challenge
At the beginning of 2019, I thought that I read approximately about 10 books a year, but I wasn’t sure. My regular peace is one book a month, but I didn’t measure it in any way. I’ve decided to change it.
Goodreads reading challenge was a game-changer for me. This technique meets the SMART goal requirement. It was specific, measurable and since I know that I read about 10 books a year, I could set a target that was also achievable. I’ve decided to commit to reading 15 books in the year 2019. In fact, I’ve managed to read 18 books.
From all of those 18 read books, I’ve selected two books that have the biggest impact on my career as a Technical Leader.
Best technical book
Designing Data‑Intensive Applications by Martin Kleppmann is a must-read for every Software Engineer.
If you think that you are not building (or will never build) a distributed system, look at Single-Threaded CPU Performance, for the last ten years. The CPU performance is not increasing so rapidly that it used to. That’s why we should learn how to build complex and distributed systems, using only commodity class machines.
Before I start discussing this book, we need to distinguish between two terms: competence and knowledge.
Competence is about ability, a certain area of skills that allows you to perform well. Knowledge is just only knowing things. In most cases, you can Google for facts you are looking for. Take a look at the following answer at Quora.
- Access to StackOverflow is Knowledge.
- Knowing which code to copy from StackOverflow is Competence.
This book helps you gain Competence.
Let’s discuss the book itself. To align the level of the reader’s understanding of a more advanced topic, this book introduces fundamental databases or data related algorithms. You may be surprised how many Software Engineers do not know these things.
The most precious thing that you get from this book is a big picture view of how many databases and data processing frameworks work under the hood. Also, you will learn by example how to create distributed systems.
What is more, the author is not focusing only on a single technology or database. He constantly contrasting and comparing different solutions, both used today and that we were using some time ago. If you would want to only read databases documentation to gain this knowledge, you would have to spend far more time reading and analyzing it, that reading that book.
Best leadership book
What Got You Here Won’t Get You There by Marshall Goldsmith is a good lecture if you work a lot with other people, and obligatory lecture if you want to be a leader or manager.
What you need to know about the author is that he was a coach for many CEOs in multiple companies. That is an impressive achievement and I thought that this book may be valuable. Furthermore, my friend recommended it to me, so it was a must-read for me. What is unusual about this book is that the author focuses on one and only one aspect of leadership: Changing Your behavior.
Dr. Marshall, in the first part of his book, explained 20 common behavioral mistakes, that not only many people do, but most importantly many managers or directors commit. I constantly asked myself: “What I would do If I were in that situation”. Realizing that I’m not perfect, was an important discovery for me, which forced me to change.
The second part of this book, helps you discover your weaknesses and support you to change your behavior. It presents many techniques, most of which may be implemented right away.
On the other hand, this book is sometimes boring. It spends too much talking about the same issue or repeating itself. It could be more condensed.
Feedback
Currently, I preparing my reading list for 2020. It will be only 12 books, but I want to select the best books that I can read. That is why I would welcome any suggestions from you.
If you are a Software Engineer, I would like to know your reading habits. Do you read more or less? What do you read? Can you recommend something? Leave a comment :)