Skip to content

Instantly share code, notes, and snippets.

@josh-works
Last active April 28, 2020 22:39
Show Gist options
  • Select an option

  • Save josh-works/28fcc4a3edb60d37768ee404c83db952 to your computer and use it in GitHub Desktop.

Select an option

Save josh-works/28fcc4a3edb60d37768ee404c83db952 to your computer and use it in GitHub Desktop.
ruby, intermediate/advanced ruby, livescreening, walk-throughs, open-source work

👋 and hello!

I'd like to help new-to-the-industry Ruby developers become expert software developers (or at least better than they are right now software developers.)

Tl;dr: If you are reasonably experienced and willing to record your screen while making a small open-source contribution to a ruby/rails OSS project, please enter your email address over here. We will talk a little more, and if it seemed a good fit, I'd pay $100 for that recording, which ideally will be less than two total hours.

If you're not a well-experienced software developer, and would like to follow along on this project and even provide early feedback, please enter your email address over on intermediateruby.com; I'll be posting everything related to this project there!

Here's the longer version:

I have a group of people in mind. I'll describe them:

  1. Software developers that work mostly in Ruby and Rails
  2. who have between 6 months and 2 years of work experience
  3. who have fairly limited time, outside of work, to write code
  4. who actively want to improve their skills
  5. but don't feel like they're improving quickly enough on the job.

Incidentally, I felt like I could have neatly fit into this bucket until fairly recently.

So, I want to create the kind of resource that I would have loved to have found the first few years I was working.

Conversations I've had with many others have underscored the desirability and value of a resource that satisfies these constraints.

When I've asked senior developers:

How would you recommend I get better at writing good code?

I commonly get answers like:

  • work on side projects
  • make open source contributions
  • read lots of books about software development

I want to make a resource that would help an early-career software developer make a pull request that exactly matches the PR a senior developer would make.

In the course of learning to make this PR, the early-career developer would have to understand the senior developer's:

  • debugging process
  • use of tools to validate and evaluate working code
  • means of exploring the existing code
  • thought process around how to approach the solution
  • testing strategies
  • and much more

I'm missing only one piece to building a solution to this problem:

I am not a super-experienced developer.

Enter you, the hero that provides a solution to this problem!

The Internet says that as a software developer grows in experience, proficiency, and skill, they grow in impact, and make things better for everyone around them. [citation missing]

I would like to systematically help software developers do this kind of thing, especially software developers who are time and energy constrained, including developers who:

  • are parents
  • have to provide any sort of care for friends/family
  • have any sort of physical or mental disability
  • don't want to write code outside of work
  • are not fortunate or privileged enough to work on a team that values their professional growth

But I need your help to do this

Here are the three things we'd do together:

1. You and I will pick out an open issue or feature request on an open-source code base

This issue must be fairly small and straight-forward to reason about. I'll make sure we don't pick something too complicated! Hopefully something that you think could take less than two hours to complete.

Maybe:

2. You will record your screen while verbalizing your thought process as much as possible

Once we've picked an issue, you'll record your screen and microphone while fixing it, and as much as possible, verbalizing what you're doing.

You don't have to worry about teaching or explaining what you're doing. I'll take care of that!

3. I "convert" your process to bite-sized nuggets

You'll send me the recordings, and I'll go through them.

I will make sure that your explanation makes sense.

If there's a gap I don't understand and cannot figure out, I'll reach out and ask clarifying questions. I care about asking questions well.

I'll break everything down, explain it in detail so someone else could quickly understand it as well as I understand it, and package everything up for easy consumption.

So, the output would be:

  1. An edited, annotated copy of you live-streaming your open-source PR. A "highlights reel", hopefully lasting less than one hour.
  2. A number of articles that explain every piece of what you touch on in that recording.
  3. Many sub-lessons that help viewers quickly learn exactly what they need to learn in order to appreciate what you've done.
  4. A guided "path" through cloning down the repo, checking it out at the right spot, and directions on how to write the exact code you wrote.The viewer will be able to understand the how and why of what you did, and they will be able to repeat your process.

That's it!


Will you help me and be the developer that makes these recordings?

I am a fan of fair compensation, so I'm not asking for free volunteering. I'll pay $50/hr for your time, and all that we work on will be available for free online.

This would all live on intermediateruby.com (I own the domain), and of course you could share it anywhere you like.

If you're interested, punch in your email address and a little other info about yourself on this google form:

forms.gle/jwRfKfMeMHS6fo4N8

I will of course follow up with every single person. Alternatively, you can message me in Turing's slack. I'm @josh_t.

If it feels like what we make is helpful and effective, we'd hopefully make more things together!

If you want even more context, here's other related things I've made:

Blog post: Growing in your first software development job

About a year into my first job, I jotted down my reflections on the last year, and ideas/hopes for the coming year.

Blog post with embedded video walk-through: Refactoring practice: Getting rid of attr_accessors in ogre.rb

I found myself explaining the same idea repeatedly, to multiple Turing students. I took a stab at condensing what took 30 minutes of 1:1 pairing into a blog post with a 2-minute video walk-through illustrating the principle. It's been effective.

A tutorial of parsing web pages with Nokogiri delivered by way of making series of minitest assertions pass: Intermediate Ruby Obstacle Course: Nokogiri Challenge

I wrote an "agenda" before chatting with a very experienced developer, trying to get to the bottom of this problem

intermediateruby.com, the most probable spot for where all this would live.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment