Since some of you asked for part II, I wrote this list of books that I most benefitted from in my career, and that actually stuck with me.

I really enjoyed math and physics at the beginning, but after a while, I found my passion in computer science and so I shifted my learning habits into a “read less, build more” mindset.

If I were to go back, I would’ve spent more time building apps and websites to solve my own problems, instead of reading books.

The great lesson I learned in engineering is: you can probably read all the books about how to build a bridge in it’s most advanced techniques, but won’t know how to build a simple one for a small town, unless you practice and apply your knowledge. The same goes with neural networks, robotics, etc.

The list:

  1. Cracking the Coding Interview By Gayle Laakmann McDowell
  2. The Hundred-Page Machine Learning Book By Andriy Burkov
  3. Deep Learning By Ian Goodfellow, Yoshua Bengio, and Aaron Courville
  4. Designing Machine Learning Systems By Chip Huyen
  5. Hands-On Machine Learning with Scikit-Learn and TensorFlow By Aurelien Geron
  6. DeepLearning with Python By Francois Chollet
  7. Ace the Data Science Interview By Kevin Huo, Nick Singh
  8. Clean Architecture: A Craftsman’s Guide to Software Structure and Desing By Robert Martin
  9. The Rust Programming Language (*) By Steve Klabnik, Carol Nichols
  10. The C++ Programming Language By Bjarne Stroustrup
  11. Case in Point: Complete Case Interview Preparation (read some chapters for fun) By Marc Cosentino
  12. Elements of Programming Interviews in Java (*) By Adnan Aziz, Amit Prakash, and Tsung-Hsien Lee
  13. Reinforcement Learning, An Introduction By Andrew Barto, Richard Sutton
  14. Machine Learning Design Patterns By Valliappa Lakshmanan, Sara Robinson, Michael Munn
  15. ROS Programming: Building Powerful Robots By Anil Mahtani, Enrique Fernandez, and Luis Sanchez
  16. Designing Data-Intensive Applications (*) By Martin Kleppmann
  17. Systems Design Interview: An Insider’s Guide (*) By Alex Xu
  18. Cracking the PM Interview By Gayle Laakman McDowell
  19. Pro Git By Ben Straub and Scott Chacon
  20. Elements of Programming Interviews in Python By Adnan Aziz, Amit Prakash, and Tsung-Hsien Lee
  21. Grokking Algorithms By Aditya Y. Bhargava
  22. Introduction to Algorithms By Thomas H. Cormen et al
  23. Introduction to the Theory Computation By Michael Sipser
  24. Advanced Programming in the Unix Environment By W. Richard Stevens
  25. The Elements of Statistical Learning By Jerome H. Friedman et al
  26. Mathematics for Machine Learning By A. Aldo Faisal et al
  27. Deep Learning with PyTorch By Eli Stevens et al
  28. Pattern Recognition and Machine Learning By Christopher Bishop
  29. Datastructures and Algorithms in Python By Michael H. Goldwasser, et al
  30. Machine Learning, A Probabilistic Perspective Kevin P. Murphy
  31. Differential Equations By Paul Dawkins
  32. Signals & Systems Alan V. Oppenheim, Alan S. Willsky
  33. Superintelligence: Paths, Dangers, Strategies By Nick Bostrom
  34. The C Programming Language By Brian W. Kernighan, Dennis M. Ritchie
  35. Six Easy Pieces: Essentials of Physics Explained by Its Most Brilliant Teacher By Richard Feynman
  36. Modern Control Engineering By Katsuhiko Ogata
  37. Modern Control Systems By Richard C. Dorf, and Robert H. Bishop
  38. Structures: Or Why Things Don’t Fall Down By J. E. Gordon
  39. Linear and Nonlinear Programming By David G. Luenberger, Yinyu Ye
  40. Clean Code: A Handbook of Agile Software Craftmanship By Robert Martin
  41. Introduction to Thermodynamics By Yunus A Cengel
  42. Thermodynamics: An Engineering Approach By Michael A. Boles, Yunus A Cengel
  43. Fluid Mechanics: Fundamentals and Applications By Yunus A Cengel, John M. Cimbala
  44. Heat and Mass Transfer By Yunus A Cengel et al
  45. An Introduction to the Theory of Numbers By G. H. Hardy
  46. Mechanics of Materials By R. C. Hibbeler
  47. Engineering Mechanics: Dynamics By R. C. Hibbeler
  48. Engineering Mechanics: Statics By R. C. Hibbeler
  49. Calculus By James Stewart
  50. Multivariable Calculus By James Stewart

Whether you’re just starting out in your career or you’re looking to take the next step, I hope this list of books will inspire you to continue learning and growing!

NB: for a more thorough collection of books on startups, sci-fi, history, and books that sit on the intersection of must-read and entertaining check out my Goodreads account.