👋 I’m Josh!
I write words for computers and people.
Intermediate Ruby is a spot for:
- early-career engineers to grow in skills, confidence, proficiency
- mid-career engineers to grow in skills, competence, and context
- engineers hunting for their first job
- engineers hunting for their second job
- engineers hoping to be more skilled in their current job
I write everything with a goal that it feel accessible to someone of any skill level. If these resources feel to advanced for you, please let me know by opening a new Github issue.
I’ll either improve the resources so they’re more accessible (with your help) or I’ll point you towards some other resources that will help you build more of a foundation.
Is all of this free?
Currently, sorta. To you, the reader, if all you do is read things I’ve written, yes, it’s free.
If we spend time swapping slack DMs, phone calls, zoom calls, and I’m asking you questions and giving you input? I’ll ask that you sponsor me for an appropriate amount via GitHub Sponsors.
The goal of Intermediate Ruby is for me to transfer as much useful-to-you information about anything that’s helpful to you. Most of the knowledge you might obtain will center on the process and the practice of software development.
To that end, I’ve got a bit of a mish-mash of resources for you. They are intended to be approximately “very friendly to an early-career software developer”, or anyone who’s completed a software development bootcamp.
On the flip side, There’s many developers who feel like they’re “solid mid-level developers”, and don’t know how to grow out of it.
I hope to be helpful to these populations as well.
So, here’s a way to start writing more code, and at a higher degree of skill:
Click through to the repository, skim the readme, then start looking at some of the classes.
This is my implementation of a project that, when I first encountered a similar project early in my career, took me two weeks to do.
This time around, it took just a few hours, and it’s much, much better than my first attempt.
So, if in looking at the code, you wish you could write code more like it, start following the instructions in the repository
I will walk you through every single line of code in this repository, in detail.
Of the people that I know have worked through the above resource, 100% of them said it’s been something like “instantly game-changing”.
2. Commit Tracing in Pry
Two of you (to my knowledge) have worked through this resource: Commit Tracing In Pry (Part 3)
This is really the end of a three-part series. It’s currently a bit confusing, but it’s my best/most successful experiment yet. The folks that have worked hard to follow every step?
They felt like the rate of learning-units-per-hour was extremely high. Higher than almost anything they’ve ever experienced.
It’s probably best to just schedule a call with me as you’re starting it: https://josh.works/coffee
3. Web Scraping in Ruby with Nokogiri
Intermediate Ruby Obstacle Course: Nokogiri
A while back, I wanted to build a little web scraping tool. I wanted to scrape the top-level comments of a particular Hacker News thread, to build a list of submitted personal websites.
I ended up building https://random-hn-blog.herokuapp.com/ a simple web app which serves a random URL pulled from the top-level comments of that particular HN thread.
4. First-time Open-Source Contribution - A Guide
Replicate everything about creating this pull request, after reading this issue.
👉 Jekyll Bug Fix with Matt (a detailed code-along)
Podcasts and Talks
“Junior” Developers are the Solution to Many of Your Problems (RailsConf 2021)
Safety Science and Failure as an Opportunity (Greater Than Code Podcast)
At my best, I create value lots of value.