I've found lots of great books relevant to our profession as software developers. A lot of them are about timeless principles and ideas, others are about particularly useful technologies, and others deal with the human side of the profession.
Every book listed in those pages has helped my career enormously, and I hope some of them will also be useful to you.
Machine Learning & Data
- Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
- Grokking Deep Learning
- Deep Learning (Adaptive Computation and Machine Learning series)
- Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking
Software Design & Architecture
- Clean Architecture, by Robert C. Martin (Uncle Bob)
- Practical Object-Oriented Design: An Agile Primer Using Ruby, by Sandi Metz
- Code Complete - 2nd edition, by Steve McConnell
- Clean Code, by Robert C. Martin (Uncle Bob)
- Domain-Driven Design, by Eric Evans
Soft Skills & Career
- Pragmatic Thinking and Learning: Refactor Your Wetware
- The Mythical Man-Month, by Fred Brooks
- How to Win Friends and Influence People, by Dale Carnegie
- Soft Skills: The software developer's life manual, by John Sonmez
- The Passionate Programmer, by Chad Fowler
- The Pragmatic Programmer, by Andrew Hunt & David Thomas
Web Development & Computer Networks
- Designing Data-Intensive Applications, by Martin Kleppmann
- Ruby on Rails Tutorial, by Michael Hartl
- Getting MEAN with Mongo, Express, Angular, and Node, by Holmes & Herber
Programming Languages
- Python Crash Course, by Eric Matthes
- Hacking: The Art of Exploitation, by Jon Erickson
- The Well-Grounded Rubyist, by Black & Leo
Entertainment & Cool Geeky stuf
Disclaimer on the book links:
The books in the reading lists and the 'what to do next' sections include links to Amazon. These links have a little referral tag with the blog's code.
If you decide to purchase one of the books using the link, I will get a very small percentage of the purchase, and you will support this blog's existence. I think this is cool because of 3 things:
- You can find good books with honest recommendations. Every single entry in the reading lists is a book I purchased, read and enjoyed.
- We can support the authors of the books. Writting for the software industry is not a very profitable activity. By referencing books I consider good, I might help the authors so that they can continue writing good material.
- It helps me cover the costs of keeping the blog online.
If you find a book that you like and decide to purchase it using the link, you have my gratitude. This will support the blog and help me write more content.
Thank you very much for reading!