Below you can find a list of books that I have read or listened to on various topics and found them worth to recommend. I hope that you will find some value in them as did I.
Books about software engineering, good practices, software design and everything that is involved in software development.
- Domain-Driven Design by Eric Evans – What is DDD, why you should use it and how? Great book for anyone involved in software design.
- Clean Code by Robert C. Martin – Here you will learn how to write good, readable code
- Effective Java by Joshua Bloch – What to do and what you should never do in Java
- Test-Driven Development by Kent Beck – Everything that you need to know about this way of writing code
- Building Microservices by Sam Newman – A book that will get you started on Microservices. It has a lot of information about things that you have to remember while using this approach, about possible problems and solutions.
- SOA Patterns by Arnon Torem-Gal-Oz – A lot of information about design patterns for service-oriented architecture. Applies to microservices also.
- Working Effectively with Legacy Code by Michael Feathers – If you work on some old system, without tests and terrible architecture, that’s a book for you.
- [Polish] Getting Things Programmed by Michał Bartyzel – Great book about time management for software developers.
Other books not directly connected to software engineering but nevertheless worth reading.
- The Power of Habit by Charles Duhigg – Book about habits. How habits are created, how they work and how habits can affect our lives
- Strengthfinder 2.0 – A book about talents with a coupon for a test that will help you find yours. I strongly recommend taking this test, knowing your talents makes it easier to improve yourself in various aspects.
- How to Win Friends and Influence People by Dale Carnegie – Amazing book. It shows how little changes in a way we talk can make tremendous changes and affect other people
- The 4-Hour Work Week by Tim Ferriss – Book describes various ways to escape the need to work 8 hours a day.