In the past, there were myths and legends passed between generations. Later Gutenberg introduced printing… the knowledge started to spread across the world rapidly. This day’s books are the main sources of transferring knowledge. Open-minded people read a lot. I try to stay open-minded…
It’s a sin to know how to read and don’t use that craft!
Said that I have a goal to read 10-20 books a year. Sometimes more sometimes less. I do that for many years now I some patterns started to show up.
Book types
For the sake of learning I’ve recognizes so far following types of book:
- Classics
- Extra technical
- Soft skills
- Other POV/industries
- Biographies
- Diaries
All the above are complementary types to improve your software engineering skills.
Classics
The key feature of Classics books is that they are still up to date over time. They don’t get outdated. If you consider yourself a professional software engineer, system architect or somebody with programming embedded in your DNA you have already a list of those in your head.
I would even recommend coming back to those kinds of books from time to time.
Examples:
- Algorithms (4th Edition)
- Design Patterns: Elements of Reusable Object-Oriented Software
- Clean Code: A Handbook of Agile Software Craftsmanship
- Test Driven Development: By Example
- Working Effectively with Legacy Code
- Hackers & Painters: Big Ideas from the Computer Age
- Code Complete: A Practical Handbook of Software Construction
- Rapid Development: Taming Wild Software Schedules
- Object-Oriented Software Construction
Extra technical books
Extra technical books are focused on certain topic. Like .NET 2.0 or WPF 4.0. When I was raising my BizTalk programming skills I read plenty of that kind of books. The good thing here is that they provide very focused knowledge on the specific topic. They describe a particular software/platform/framework. Usually, they get obsolete after a few years or need an update when a new version of the software is released.
Examples:
- WPF 4.5 Unleashed
- C# 5.0 Unleashed
- C# in Depth, 3rd Edition
- CLR via C#
- Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
Soft skills books
Humans are social persons. It’s in our genes. Especially for teams that act together - play football, produce software or do any other activity where 1+1>2 :) Learning about humans and understanding yourself is a substantial asset. This enables you to be more effective.
Examples:
- The Mythical Man-Month: Essays on Software Engineering
- Peopleware: Productive Projects and Teams
- The Pragmatic Programmer: From Journeyman to Master
- Coders at Work: Reflections on the Craft of Programming
- Soft Skills: The software developer’s life manual
Other POV/industries
Those kinds of books extend self-awareness. At least this is how I feel it. Reading about economics or medicine is quite interesting if you understand all the keywords :) Abandon the book if you feel lost :)
Here is no example. Pick something that interests you and will extend your knowledge. Law, economy, innovation. Generally, if a book has 200 pages you should finish it in 3 days.
Biographies
I like reading biographies. They uncover people’s wins and loses which allowed them to be who they are. Achieve what they achieved. You can connect the dots and deduct yourself what factors were in place for those people. What drives Elon Musk? How Socrates became famous?
Choose people who inspire you.
Examples
- Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
- Einstein: His Life and Universe
- Tesla: Inventor of the Electrical Age
- Losing My Virginity: How I Survived, Had Fun, and Made a Fortune Doing Business My Way
- My Life & Work - An Autobiography of Henry Ford
Diaries/histories
This type of books is quite similar to biographies except it focuses on companies, brands, products and other business/social initiatives. Generally, it uncovers again aspects that allowed particular companies to raise or die. How Inter, Ford or Microsoft became who they are. What happened to Kodak. Why .NET Framework was introduced. Why Tesla is so recognizable and so on :)
Examples
- Moneyball: The Art of Winning an Unfair Game
- Renegades of the Empire: How Three Software Warriors Started a Revolution Behind the Walls of Fortress Microsoft
- Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture
- Death March
Reading recommendations
I have even made a list of my books recommendation available here: books.