6 Books Every Programmer Should Read

Henrique Mota
Jun 2, 2018 · 3 min read

I made an updated post about this, you can visit:

Image for post
Image for post

Every passionate programmer is looking forward to improve his coding skills, in this post I will enumerate 6 books that will help you reach the next level as a programmer.

This book was one of the best books I read in my entire professional life. After you read this book you will be more conscious about the need of writing clean code and I bet you will not look back.

From naming variables to code testing, this book covers all the topics you need to improve your code dramatically.

This book like the previous one, is a must to read to every programmer. It will improve dramatically the way you structure and design your software, to achieve high levels of maintainability and correctness in your product.

This book is an extraordinary and easy to digest guide to the most used algorithms in computer science. Is so easy to read that even non programmers can understand how this algorithms work.

Software design patterns are a handy tool to have in your box. These are software design patterns that are in compliance with the SOLID object oriented principles:

  • Single Responsibility Principle. A class should only have one reason to change.
  • Open/Closed Principle. Software entities should be open for extension, but close for modification.
  • Liskov Substitution Principle. subtypes must be substitutable for their base types.
  • Interface Segregation Principle. Clients should not depend on methods they don’t use (keep it short and simple).
  • Dependency Inversion Principle. High level modules should not depend on low level models

Test driven development allows you to program your software in incremental steps, defining first the business logic rules trough tests, see them fail and produce the minimal amount of code to see them pass. At a first sight it seems that you are doing more work than you should, but once you adopt it you will see that you do less code, with more quality and you will have confidence to change your code without worrying that everything will fall apart.

As a programmers we often think in problem solving through the languages we program. Learning elixir will make you enter in the world of functional programming languages and will shape the way you think, making problem solving much more easier.

Hope you like it, did you read any game changer books? If so please specify in the comments below.

Mick Bolt

Full-Stack tips

Full stack tips from the novice to the experienced…

Henrique Mota

Written by

Full-stack, go, php, javascript, java, elixir, nodeJs software engineer with almost a decade of experience.

Full-Stack tips

Full stack tips from the novice to the experienced developer

Henrique Mota

Written by

Full-stack, go, php, javascript, java, elixir, nodeJs software engineer with almost a decade of experience.

Full-Stack tips

Full stack tips from the novice to the experienced developer

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store