Disclaimer, there is a wealth of incredible resources and books out there. The following list only contains the small subsection that I am currently consuming. Also, I have been collecting these books for a while so there may very well be newer / updated versions of them available so have a look before you decided to buy, if any of these inspire you.

Ruby (and Rails)

Ruby Under a Microscope

Most of us are content developing with Ruby (and Rails) without needing to know why it works the way it does. We don't need to glance under the hood however, it's quite fascinating under there and you'd be surprised how it will enhance your understanding of the language.

Find me on Amazon

Metaprogramming Ruby

This book is good fun. Ruby's dynamic nature allows for some really creative metaprogramming which are fun to play with and could be really helpful, use case depending. "Magic code" can be a nightmare to debug though so use with caution!

Find me on Amazon

Effective Ruby

When learning Ruby, you're generally tought the same thing. A hash looks like hash = {}. But there are many other (and better) ways to use the language that you never knew about, and this book will open our mind to some very clever ways Ruby code techniques.

Find me on Amazon

Ruby Best Practices

Coding best practices are usually quite standardised across any language and the same holds true here however, often it can be confusing to see code examples in Java or C++ therefore this book helps put these practices into a more understandable Ruby context (for Ruby trained developers).

Find me on Amazon

Effective Testing with RSpec 3

There are many Ruby testing tools available to use however it goes without saying that RSpec is one of the most popular ones, and for good reason. It's very powerful and has a lot of features you may not be aware of.

Find me on Amazon

Agile Web Development with Rails 4

Covers everything you would need to know if building a new Rails application, zero to hero. From installation to managing build dependencies. Note, since I last checked, there is a new edition of this book for Rails 7 (I've had this one for a while).

Find me on Amazon

Design Patterns

Design Patterns

Goes without saying, if you want to be a programmer, you have to have this book. Written by the "Gang of four", no developers bookshelf is complete without it. They wrote the patterns that shape todays code and they are a MUST KNOW if you plan on writing code to stand up to the ages.

Find me on Amazon

Design Patterns in Ruby

Takes a portion of the patterns from the book above and incorporates them into Ruby. Really helpful if you're struggling to understand the Java examples from above but it does only cover a portion of them therefore I recommending pairing this with the one above. That being said, it's really well written.

Find me on Amazon

Coding Practices

Clean Code

"Uncle Bob" (aka Robert Martin) is a legend in our field and pretty much wrote the rule book on what proper code style and practices look like. Regardless of language or context, his wisdom is a must have and I cant recommend this book enough.

Find me on Amazon

The Clean Coder

Another Uncle Bob entry, taking the above wisdom about clean code and transforming it into a mindset that, as an individual, we can aspire to become. We want to write the clean code and in order to do that, we need to become the clean coder.

Find me on Amazon

Legacy Code

Working Effectively with Legacy Code

If anyone says they have not had to deal with legacy code, they are lying (or never been employed before). What you write today is legacy tomorrow and knowing how to handle that (especially if its someone elses legacy code) is necessary for clean up, compatability and optimisation. You may think its trivial but there is a lot of techniques you wish you knew.

Find me on Amazon

Refactoring

Martin Fowler is a big name in the the dev scene (and this isnt the only mention of him on this list) and his wisdom along with clear understandable language makes for an incredibly easy but knowlegde dense read around the best ways to go about refactoring code. If you havent refectored your new method at least twice, you doing it wrong.

Find me on Amazon

General

The Passionate Programmer

Sometimes being a developer can feel like a 9 - 5 monotonous life without much reward. But there is much to value with our skillset and we just need to remove the blinkers, take a look at the bigger picture and understand how we can make a difference. And that adds value and reason to what we do! (yes, I know the accompanying image is smaller than the rest and it irks me too!)

Find me on Amazon

The Pragmatic Programmer

It's all to normal for a developer to be given a task, put their head down and code up a storm that we dont stop to look at the bigger picture. This book helps you identify the broader scope, from the business perspective down to implementation considerations. Well worth the read if you feel you're doing the same thing day and out with no real purpose or understanding.

Find me on Amazon

Growing Object-Oriented Software, Guided by Tests

It took me a long time to realise the value of tests and TDD. Always thought they took up unneccessary time which I could spend coding the solution. How naive I was. These days I wont touch a new problem without tests to back my code up and this book will help you get into that mindest.

Find me on Amazon

Practical Vim

Vim (well.. Neovim) is my editor of choice and I'm constantly learning new motions and ways of optimising my workflow, speed and performance. I have learnt so much from this book and keep going back to it to refresh less-used features.

Find me on Amazon


Note: The commenting system is hosted on a self-sleeping service. Please give it a chance to spin up when submitting your comment. I am looking to move it to an always-up service in the future. Thankings.

⤧  Next post Better Sidekiq Classes