Reading List
Here is a list of books I enjoyed reading the most.
I will update it regularly.
Code Complete: A Practical Handbook of Software Construction, Second Edition
Definitely my favorite book in software engineering. It is a practical guide to building software and it is language agnostic. It covers both basic and advanced software development techniques (not only coding).
I completely renewed my software engineering philosophy after reading this book. I felt like I chose the red pill and joined the professional developers community.
If I had to summarize this book in one sentence it would be:
Write code that could live and evolve and not code that only works on the spot
More Effective Agile
I had the chance to review a pre-publication copy of this book.
Steve shares practical techniques to effectively implement Agile methodologies and avoid the classic pitfalls. He also gives concrete examples and statistics he gathered from his experiences where he assisted companies to set up effective Agile environments.
The final version will be published on August 2019 and my name will be in the acknowledgments section!
Before reading this book, I would recommend to watch Marting Fowler’s presentation at Agile Australia 2018 where he reflects on Agile’s journey to become a mainstream methodology.
The Mythical Man-Month: Essays on Software Engineering
I think Brooks’s book is one of the must read classic in our field.
Some people even called it “the bible of software engineering”. As Daniel Roth said :
Everybody quotes it, some people read it, and a few people go by it
Brooks shares his insights on software project management based on his experience leading the OS/360 (A batch processing operating system and the ancestor of the z/OS) at IBM.
When the project started falling behind schedule, he decided to add more programmers, a decision that delayed the project even further.
Its central theme is that “adding manpower to a late software project makes it later”. This idea is known as Brooks’s law.
As stated by Jeff Atwood this book illustrates one point :
Computers may change, but people don’t.
Effective Java
If you are building software on the Java Platform and want to learn how to use it effectively, you must have a copy of this book on your desk.
Joshua Bloch led the design and implementation of the Java Collection Framework and many other features. He knows the Java Platform internals and will guide you through making the most of it with code examples for real use cases. The third edition covers Java 9.
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
A lot of books are trying to sell magic recipes to start a business and generally only talk about the great things about it. No one talks about the hard things when launching a business.
In this book, Ben Horowitz, co-founder of Andressen Horowitz and one of Silicon Valley’s most respectful and experienced entrepreneur, is brutally honest about how hard it is to run business.
The author is a lifelong rap fan and amplifies business lessons with lyrics from his favorite songs!
Growing a Business
Paul Hawken shares his experience of running Smith & Hawken. He demonstrates that the answers to small business problems today cannot be solved by college degrees, training or money but only by you.
From this book I learned that the most successful business will grow from something deep inside you and can never be stolen.
Start With Why: How Great Leaders Inspire Everyone To Take Action
When you do something, it doesn’t matter HOW you do it, it matters WHY you do it.
The why is the only thing that will keep you motivated and, more important, will attract people who share your why (your motivation).
Actually few companies care about the why. They only focus on the what and how.
In this book Simon Sinek states the importance of knowing the why which corresponds to the middle section of the brain, the limbic system. This is the part of the brain responsible for all our behavior and decision making. He calls this concept: The golden circle (Why, How and What)
Essentialism: The Disciplined Pursuit of Less
The hard thing about software is that you will never know everything you need to know to solve your problems. It is important to know how to find the best path to your solution and avoid black holes.
This book is not a time-management strategy but rather a guide to become an ‘Essentialist’. Someone in the pursuit of less to regain control of his choices.
Atlas Shrugged
Who is John Galt? The man who stopped the world engine.
What if the business leaders abandon their companies and disappear as a strike of productive individuals against the looters?
Ayn Rand deliciously expands his philosophy about ‘the role of man’s mind in existence’ in a captivating novel.