- The Pragmatic Programmer
- Cracking the coding interview
- Clean code
- Refactoring https://rli.to/FKb9p
- Head first design patterns
- Patterns of enterprise application architecture
- Working effectively with legacy code
- The clean coder
- Introduction to algorithms
- Code complete
From @simonholdorf