Here I list the books I plan to read and some ideas for personal projects.
Steve McConnell Code Complete (second edition).
Andrew Hunt, David Thomas The pragmatic programmer.
Glenfold J. Myers The Art of Software Testing. ⭐
Robert C. Martin Agile Software Development, Principles, Patterns, and Practices.
Felienne Hermans The Programmer's Brain. ⭐
Robert C. Seacord Effective C (An Introduction to Professional C Programming). 📚
Randall Hyde Write Great Code, Volume 1, 2nd Edition (Understanding the Machine). 📚 ⭐
Randall Hyde Write Great Code, Volume 2, 2nd Edition (Thinking Low-Level, Writing High-Level). 📚 ⭐
Randall Hyde Write Great Code, Volume 3 (Engineering Software). 📚
Randall Hyde The Art of Assembly Language
Scott Meyers Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library.
Scott Meyers Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14.
Luca Palmieri Zero To Production In Rust. ⭐⭐⭐
Jon Gjengset Rust for Rustaceans. Idiomatic Programming for Experienced Developers. 📚 ⭐⭐
Sylvain Kerkour Black Hat Rust. ⭐⭐
Conrad Barski Land of Lisp (Learn to Program in Lisp, One Game at a Time!). 📚
Daniel Higginbotham Clojure for the Brave and True (Learn the Ultimate Language and Become a Better Programmer). 📚
Kees Doets, Jan van Eijck The Haskell Road to Logic, Maths and Programming.
The Rust Performance Book https://nnethercote.github.io/perf-book/
Stephen Cleary Concurrency in C# Cookbook, 2nd Edition
Gene Kim, Jez Humble, Patrick Debois, John Willis, and Nicole Forsgren The DevOps Handbook. ⭐⭐
Titus Winters, Tom Manshreck, and Hyrum Wright Software Engineering at Google
Steve Freeman and Nat Pryce Growing Object-Oriented Software Guided by Tests.
Gergely Orosz The Software Engineer's Guidebook 📚 ⭐⭐⭐⭐
Eric Evans Domain-Driven Design: Tackling Complexity in the Heart of Software. ⭐⭐
Humberto Cervantes Designing Software Architectures: A Practical Approach.
Len Bass, Rick Kazman, Paul Clemens Software Architecture in Practice.
Gregor Hohpe and Bobby Woolf Enterprise Integration Patterns. ⭐
.NET application architecture documentation https://docs.microsoft.com/en-us/dotnet/architecture/
Thomas Erl Service-Oriented Architecture, Second Edition.
Paul Clemens, Felix Bachmann, Len Bass, David Garlan, James Ivers, .. Documenting Software Architectures: Views and Beyond.
Sam Newmann Building microservices.
Martin Fowler Patterns of Enterprise Application Architecture. ⭐
Roberto Vitillo Understanding Distributed Systems ⭐⭐
Cornelia Davis Cloud Native Patterns: Designing change-tolerant software.
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal Pattern-Oriented Software Architecture Volume 1: A System of Patterns
Douglas C. Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects
Michael Kircher, Prashant Jain Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management
Frank Buschmann, Kevlin Henney, Douglas C. Schmidt Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing
Mark Richards, Benjamin Lange, Neal Ford Fundamentals of Software Architecture: An Engineering Approach
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani Software Architecture: The Hard Parts
Don McGreal, Ralph Jocham The Professional Product Owner (Leveraging Scrum as a competitive advantage). 📚 ⭐⭐⭐
Jeff Patron User Story Mapping (Discover the Whole Story, Build the Right Product). ⭐
Eric Ries The Lean Startup (How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses).
Marty Cagan INSPIRED (How to Create Tech Products Customers Love (Silicon Valley Product Group)).
Marty Cagan EMPOWERED (Ordinary People, Extraordinary Products).
Matthew Skelton Team Topologies.
Fred Brooks The Mythical Man-Month: Essays on Software Engineering.
Brené Brown Dare to Lead. 📚 ⭐⭐
Camille Fournier The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
Will Larson An Elegant Puzzle: Systems of Engineering Management
Tanya Reilly The Staff Engineer’s Path
Will Larson Staff Engineer: Leadership beyond the management track https://staffeng.com/
Harold Abelson, Gerald Jay Sussman Structure and Interpretation of Computer Programs. 📚 ⭐⭐
Open Web Application Security Project (OWASP) https://www.owasp.org
Aho, Alfred Vaino; Lam, Monica Sin-Ling; Sethi, Ravi; Ullman, Jeffrey David Compilers: Principles, Techniques, and Tools (2 ed.). ⭐⭐⭐
Stefan Höltgen RESUME Hands-on Retrocomputing. ⭐
Peter van Roy, Seif Haridi Concepts, Techniques, and Models of Computer Programming.
Donald Knuth The Art of Computer Programming
Philipp Oppermann Writing an OS in Rust Blog posts. ⭐⭐⭐
Bob Plantz Introduction to Computer Organization (An Under the Hood Look at Hardware and x86-64 Assembly). 📚 ⭐⭐
Jonathan E. Steinhart The Secret Life of Programs (Understand Computers -- Craft Better Code). 📚
Adam Woodbeck Network Programming with Go (Code Secure and Reliable Network Services from Scratch). 📚 ⭐⭐
Andriy Burkov The Hundred-page Machine Learning Book. 📚
Andriy Burkov Machine Learning Engineering. ⭐
Aurélien Géron Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow. 📚 ⭐⭐⭐
Peter Bruce, Andrew Bruce Practical Statistics for Data Scientists.
Trevor Hastie, Robert Tibshirani, Jerome Friedman The Elements of Statistical Learning: Data Mining, Inference, and Prediction.
Sergios Karagiannakos Deep Learning in Production.
Ian Goodfellow and Yoshua Bengio and Aaron Courville Deep Learning.
Andrew Gelman, John Carlin, Hal Stern, David Dunson, Aki Vehtari, and Donald Rubin. Bayesian Data Analysis.
Ivan Vasilev Advanced Deep Learning with Python
Les Piegl The Nurbs Book.
Jakob Andreas Bærentzen, Jens Gravesen, François Anton, Henrik Aanæs Guide to Computational Geometry Processing. 📚
Gabriel Gambetta Computer Graphics from Scratch. 📚 ⭐⭐
Jorge Nocedal, Stephen Wright Numerical Optimization. 📚 ⭐
William H. Press Numerical Recipes: The Art of Scientific Computing. 📚
Gene H. Golub Matrix Computations.
Timothy A. Davis Direct Methods for Sparse Linear Systems.
Thomas R.J. Hughes The Finite Element Method. Linear Static and Dynamic Finite Element Analysis. 📚
David Spiegelhalter The Art of Statistics. Learning from Data. 📚 ⭐
Kip S. Thorne, Roger D. Blandford Modern classical physics: Optics, Fluids, Plasmas, Elasticity, Relativity, and Statistical Physics. 📚