intermediate_ruby     about     articles


Around here, you’ll find thoughts related to “intermediate” software develpment, focused on the Ruby ecosystem.

Therefore, if you are interested in topics related to “intermediate” Ruby, the writing of it, the people that that “write it”, hiring people that can write it, etc, keep reading.

Maybe you’re a software developer. It’s your day job, and you at least sometimes write (and get paid for “writing”) Ruby and/or Rails.

Regardless of your experience level1, if you find yourself sometimes saying something like:

I feel under-skilled in my self-assessed mastery of the Ruby programming language OR something closely related. I would like to learn to identify, write, function within an ‘intermediate’ level, using Ruby/Rails, especially in ways that would let me feel like a better overall software developer/problem identifier/solver.


I feel like I am an “intermediate” software developer, but want to be a full-flegged, confident, externally-validated “advanced software developer” 2

Obviously, a reader might be in a vastly different spot of their programming career development. The favorite way any of us become ‘intermediate’ at something quickly was thanks to the responsive training efforts from experts. At minimum, you’ll likely be entertained.

No need to hear only my words, though.

Some things others have said about things I’ve made:

I’ve read the first two parts of your Open-source bug fixing with Matt Swanson series so far, and I LOVE IT. I love how you’re using video to get an expert to verbalize what they’re thinking.

This is so, so good.

- @Cedric Chin, the person behind

[many software developers] credit you with huge gains in learning/understanding because of [resources I, Josh made].

Being able to have concise instruction that I can pause, or slow down, or rewind has really allowed me to learn some basics at my own pace, without the general nervous anxiety I can get, when I feel like I missed something.

- Jordan Beck

What to click next?

I’ve got a few different resources, and this entire curriculum3 is under rapid development. The easiest way to follow along is with your email address:

I’ll start introducing resources like my Intermediate Ruby Obstacle Course and Pairing on Open Source Software: Bugfixing with Matt Swanson

Oh, and once you punch in your email address, I’ll send you some questions. I promise it’ll be worth your time, and it’s effortless to unsubscribe.


  1. You may self-identify as “junior”, “intermediate”, “advanced” or something else entirely. 

  2. Whatever “intermediate” and “advanced” actually means. They’re obviously being used in a short-hand, vastly-compressed way. 

  3. ‘Curriculum’ isn’t the best word, necesarily. There’s several elements of traditional education I don’t like, and I generally found lots of educational environments to be coercive, and I certainly don’t truck with coercion in learning. I have receipts. Sometimes it makes sense to coopt language from legible, traditional educational environments, sometimes not.