Recently turned (Ruby) developer? Time to grab some books mate!

Part 1: Strengthening the basics

Nicolas Filzi
Le Wagon
Published in
5 min readMay 11, 2018

--

Yes, I know, books… What an antiquated technology for people working in one of the most bleeding-edge field, right? One thing to remember though:

Being a committed developer is also making a commitment to relentless studying.

And books always have been great companions for lifelong students like us 🤓

NB: They are mostly Ruby books, my first programming language ever, thanks to Le Wagon. If it’s not your language of choice, you can still look for similar books in yours, with the same mindset I’m describing.

TL;DR, the books list

  1. The Well Grounded Rubyist 💪
  2. Metaprogramming Ruby 2 — Programming like the Ruby pros 🚀
  3. 99 bottles of OOP 🍾
  4. Ruby Under a Microscope 🔬
  5. Bonus: Ry’s Git Tutorial 💾

Some context first

I graduated from Le Wagon batch #15, in Paris, November 2015.

I had a shot at being a TA during the following January 2016 session in Paris.
I approached the cofounders asking if it would be possible for me to become a teaching assistant, helping out students on their daily assignments.
They said yes. 🕺Giddy up, let’s ride!

Oh boy. The first few days, I mostly had to compensate for my lack of efficiency with extra energy and enthusiasm.
All things considered, I did an okay job, and I remember students thanking me profusely at the end of some hardcore debugging & explaining sessions 💪
But I knew I needed to up my game. Big time.

The following list is an organised and filtered extract of some books I went through in order to get to a decent level of confidence in my teaching abilities. In the process, I rapidly improved my developer skills, and I believe this list can also help aspiring developers on their path to mastery.

Strengthening my core Ruby skills

The stance I chose to take at the time was the following:

Forget about mastering Rails right now. Too much stuff going on.
Focus on the base layer first. Focus on Ruby.

I believed that at some point in the future, I would reap the benefits of focusing on the very basics. Talk about a Sangoku & Krilin training like regimen 😂

I have absolutely no regrets. It was the best decision I could make at the time.
When I got back to Rails and other even more complexed CS things later, I had a stronger footing to stand on to get a deeper look at things.

Now that you know how I came to scrape this list together, let’s get to it!

1. The Well Grounded Rubyist 💪

Read it almost cover to cover
(I skipped the Regexpchapter though 🙊)

It’ll greatly help you set into place everything you learned during your bootcamp.

When I started diving into it, I could literally hear my thoughts click into place on some hard-to-grasp notions.

Like blocks. Mother. Freaking. Blocks.
What a difficult time I had wrapping my mind around these during my bootcamp. Then suddenly, I was on this other side of the fence, where I had no doubt whatsoever on how blocks work.
Such an amazing feeling!

2. Metaprogramming Ruby 2 — Programming like the Ruby pros 🚀

Read it from cover to cover

It’s especially useful in order to start being able to read open-source code and truly grasp things from it.

It’ll also greatly help you get some insider knowledge about what is happening behind the scenes when Rails performs it’s “magic” for you.

After reading it, I started looking at source code more often, tweaking it to experiment with it, or even adding specific behaviours I wanted to benefit from in a gem.

3. 99 bottles of OOP 🍾

Read it at the right time on your learning path

One of the greatest modern Ruby books on OOP design and code.
A warning though: you may not be able to grasp its deep learning points before you first get confronted with solving real business logic use cases using poorly designed OOP code.

The trick to these “clean code & design” books and articles is that you must be
at a certain spot in your developer’s learning curve to truly be able to grasp what you’re supposed to learn from them. You must have experienced the pain before enjoying the cure with deeper insights.

4. Ruby Under a Microscope 🔬

Not a book for the faint hearted

A deep dive down in the nitty gritty details of how ruby works internally to actually be able to execute your code.

If words like parser, lexer, compilerand call stackstill cause your brain to freeze too much, you may be biting more than you can chew.

It’s definitely a good thing to try reading it though.
But don’t blame yourself too much if you feel overwhelmed and give up.
I definitely did, multiple times. And now it’s back on my reading list for the 4th or 5th time 😅

Bonus: Ry’s Git Tutorial

Read it ASAP!

Hands down the best Git book or tutorial I’ve ever read.
It’s comprehensive, well written, and with lots of very clear and beautiful diagrams to explain every basic concepts git runs on behind the scenes.
As a new kid on the block, what git is, and how it works, is critical knowledge to possess.

Often during my reading, I had this super strange but awesome feeling that the author was literally sitting right next to me, answering my inner questions as they were coming out of my buzzing mind.
That’s usually the sign you’re reading an excellent book IMHO 😬

Conclusion

I believe you already have more than enough to study and experiment with.
I’ll leave you with a last methodology point:

Don’t just read the books passively!

Open an editor, and make sure to write down yourself all the lines of code you’re discovering, as much as humanely possible.

Run the code. Ask yourself questions about it, constantly. And always tweak the code to answer these questions on your own.
Only by following this methodology you’ll truly be able to get the most out of these books.

EDIT: I got feedback from people asking to see how I actually organised my books study sessions, especially on the playing-with-the-code part. Here’s how I did it for the first book on the list. I did not edit any of the content before publishing it. If you see anything strange or out of place, reach out to me.

Thanks for reading!

If you got anything worthy out of your reading time, feel free to clap.
Don’t forget you can hit it up to 50 times 😬🙏

--

--

Nicolas Filzi
Le Wagon

Playing with code, ingredients, and knowledge. Nomad teacher @ Le Wagon. Freelance for businesses looking to make their creative ideas come to reality.