Top rated
![](recommended/images/cleanCode.jpg)
Learn how to be a better programmer by following these coding best practices. Learn how to write good code and how to refactor bad code into good code.
4,642 ratings
![](recommended/images/designingDataIntensiveApplications.jpg)
How to design data-intensive applications that help you build more reliable, scalable, and maintainable systems.
3,323 ratings
![](recommended/images/genius.jpg)
This toy is MAGIC. Once you open the box, you never will see your children bored. They engage immediately with every game included.
29 ratings
![](recommended/images/thePragmaticProgrammer.jpg)
Be a pragmatic programmer, analyze the relative importance of all the factors affecting your project, and use your experience to produce appropriate software solutions.
2,151 ratings
![](recommended/images/softwareDesignPrinciples.jpg)
When Software design principles are applied correctly, your software infrastructure will be able to tolerate changes, it will be easier to understand, and it will be focused on reusable components.
2 ratings
![](recommended/images/buildingMicroservices.jpg)
Become an expert in creating a microservices architecture, where your application will be a collection of small, independent, loosely coupled services..
288 ratings