In the past there were myths and legends passed between generations. Later Gutenberg introduced printing… a the knowledge started to spread across the world rapidly. This days books are 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.
For the sake of learning I’ve recognizes so far following types of book:
- Extra technical
- Soft skills
- Other POV/industries
All above are complementary types to improve your software engineering skills.
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 to come back to those kind of books from time to time.
* 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 are focused of certain topic. Like .NET 2.0 or WPF 4.0. When I was raising my BizTalk programming skills I read plenty of those kind of books. Good thing here is that they provide very focused knowledge in specific topic. They describe particular software/platform/framework. Usually they get obsolete after few years or need an update when new version of the software is released.
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.
* 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
Those kind of books extend self awareness. At least this is how I feel it. Reading about economics or medicine is quite interesting it you understand all the keywords 🙂 Abandon the book if you feel lost 🙂
Here are no example. Pick something that interests you and will extend your knowledge. Law, economy, innovation. Generally if book has 200 pages you should finish it in 3 days.
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.
* 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
This type of books is quite similar to biographies except it focuses of companies, brands, products and other business/social initiatives. Generally it uncover 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 🙂
* 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
I have even made a list of my books recommendation available here: http://blog.klimczyk.pl/books/.