There are a lot of developers in the world, though no two are the same.

Each person—young or old— has followed a different path in their life to get to where they are, and the world of software developers is no different. Some earn their roles by going to traditional four year colleges to earn computer science degrees, or they earn an english degree. Some are self-taught, holing themselves in their rooms for hours tinkering with the most basic code, or building the most basic program. While others still attend coding bootcamps, and through rigor and hard work learn everything they need to hit the ground running in an entry-level job in 12 short weeks.

Whatever the education path, many professionals further shape their coding brains by reading. Learning more about their own language or reading about languages they’ve never even touched, continuing to be curious craft is the only way to learn and grow.

Below are a few books that we think every young developer should read to get their feet wet with the massive amount of literature there is about this subject.

  1. Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

    This book will leave you with three key distinctions. What good code looks like. What the difference is between good code and bad code. And how to take a piece of bad code and turn it into good code.

    Perhaps this is an over simplification, but the truth is Robert C. Martin clearly defines why some code is good while other code leaves something to the imagination.

  2. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

    Rather than focused on the nitty-gritty like the above title, Design Patterns focuses more on the design side of the equation by presenting common solutions to the obstacles often run up against as a software engineer / programmer. Object-oriented code (OOC) is a completely other animal if you’re used to declarative or array-oriented programming paradigms.

    This book is a break introduction to OOC, and fun to read.

  3. Effective Java by Joshua Bloch

    The name says it all. If you want to write better Java code, this is the book for you.