Expand your Ruby knowledge with deliberate practice

If you already know some of the fundamentals of the Ruby language, but you want to get some hands-on experience to expand your skills, I suggest taking a look at the following tools/platforms:

  • Ruby key concepts on Exercism - All the concepts covered are explained in the context of language-specific paradigms and conventions.

  • Ruby Koans - Learn the Ruby language, syntax, structure, and some common functions and libraries. You’ll also learn about culture and testing.

  • Ruby Warrior - Game designed to teach the Ruby language in a fun and interactive way.

  • Ruby Challenges - Open-ended challenges designed to test your problem-solving skills.

  • Advent of Ruby - CLI tool for Advent of Code in Ruby that shows other people’s solutions.

  • Cassidoo Newsletter - There’s also an interview question of the week, where you can test your skills and review the results the following week.

4 Likes

There are a couple of practices I recommend to engineers as a form of deliberate practice. It really comes down to doing something repetitive that exposes you to a lot of code. What really helped me to expand my coding ability was writing tests for existing code. It’s hard to write tests for code you don’t understand, so you’re testing your understanding at the same time you’re testing the code. Similarly, going through linter fixes, or updating code across a codebase to match a new pattern can expose you to a lot of code, which helps you learn to understand code you read more quickly. We spend like 90% of our time reading existing code, so it’s pretty core to being a skilled developer.

1 Like

Thanks for your comment @mockdeep (and welcome to the forum!)

I agree that writing tests is a great way to get good at writing code since it forces you to understand what is happening and can also give you a lot of feedback regarding the design tradeoffs in a project.

Do you recommend a specific repository or exercise or the idea is to pick something you’re familiar with?

Well, in house I typically recommend our private codebase. Open source codebases are tricky because the maintainers may or may not be responsive. I’m a maintainer on RMagick, which has a ton of untested code, and I and the other frequent maintainer are pretty responsive. So that’s one place to start. It interfaces both with C code and various versions of ImageMagick, though, so it can be extra challenging to navigate. Which could be a good thing as long as you’re patient with yourself.

2 Likes

I really enjoyed Exercism when I was learning Ruby. I learned a lot from comparing my solutions to other people’s solutions.

Recently I wanted to make the same thing possible for Advent of Code in Ruby, so I made a gem called Advent of Ruby that shows AoC solutions pulled from Reddit and GitHub. It is also a CLI that streamlines the setup of each puzzle (downloading the input file, creating solution and spec files, etc.).

Thanks for sharing. I’ve included it on the list of recommended resources, it’s great idea to enhance the Advent Of Code experience and get some extra practice!

1 Like

I really like Exercism filosophi and the fact that you can get mentorship for free some times, and also for a very good price.

I also variable to solve interview questions with Ruby in Cassidoo Newsletter. :hugs:

1 Like

Thanks for the suggestion! I’ve updated the post with the newsletter, I think it’s a great way to practice every week.

1 Like

Yes great idea. Maybe I can open a new topic for the questions in every week. We can share our solutions there :slight_smile:

1 Like

That’s a great idea, if you can open the topic every week for that it’s very welcomed.

1 Like

I love that idea. I’ll join in!

1 Like

I share that news with Cassdy last week. She put our user Ruby forum into her 443th newsletter :tada::partying_face:

3 Likes

That’s great! I’ll try to join the next one…

1 Like