Intermediate Ruby Episode n+1
Hi there!
It's almost Halloween:
I've not written to just this list, for a long time. I've been neck deep in projects, and only some of them are related to software, so - I've felt pulled in many directions.
For example, my wife and I got to welcome our first child into the world. Her name is Eden, she's beautiful and lovely and healthy.
You'll soon get another email from me (I've not actually written it yet, but it should be done in a day or two, next time I've got a few minutes to type something up.)
I wrote https://josh.works/write-it-now recently, so I could have a permanent, easy place to reference this picture:
That "Compression Speed" piece is very important.
I'm trying to get better at quick updates, with smaller-but-continuous units of value delivered often.
So, here's some updates.
A while back, I tweeted this:
August 18th 2021
|
John Mosesman, from Startup.dev reached out, we grabbed a coffee (via Zoom) and chatted. We both found a cool space to run an experiment in - me helping train these two developers on ongoing consulting work Startup.Dev is doing.
I'm working on this with an eye out for building a "repeatable pipeline" kind of thing, where we keep training folks coming from the beginning faster than we did before, while ensuring that the skills of these two developers are always growing.
It's an AMAZING opportunity for all parties. I'm unbelievably excited.
You might ask "Josh, how are you training them? What makes this make business sense?"
It hooks back to compression speed, and Bloom's "2-Sigma problem"
Compression speed is, well, to a group of software developers, you'll all give good answers. I think about it a lot, every day, actually. A few years ago, I read a paper titled:
Driven by Compression Progress: A Simple Principle Explains Essential Aspects of Subjective Beauty, Novelty, Surprise, Interestingness, Attention, Curiosity, Creativity, Art, Science, Music, Jokes
If you want to read it yourself, read it here: https://josh.works/driven-by-compression-progress-novelty-humor-interestingness-curiosity-creativity. (Go check that link out, and consider leaving a comment! I just figured out a cool way to integrate a comments thread with Github Issue comments!)
Bloom's "2-sigma problem" is defined as such:
Educational psychologist Benjamin Bloomfound that one-on-one tutoring using mastery learning led to a two sigma(!) improvement in student performance.
"What's a 2-sigma improvement, Josh?"
It's the difference between being in the middle of a group, and being in the top 2% of that group.
"sigma" == "standard deviation", so Bloom's whole thing was:
> I know how to get educational outcomes that are two standard deviations above what is normally obtained right now. Here's some thoughts on how to make these results generalizable to everyone.
Here's a chart from the paper:
If you are on a team (or at a company) that recognizes that if you can live/operate in the right-most bell-curve, outsized returns are available to you.
Organizations and teams that operate at the level of the top 2 percent have Good Things (TM) available to them.
I'm working with Startup.Dev to implement Benjamin Bloom's research in a mastery-learning-based way, and working 1:1 to improve the skills of all developers on the team (and I'm working 1:1 with more experienced devs to keep my skills growing, so I can then turn around and teach others.)
The current mechanism that I bring to the table, that I have never seen done before in this way, is this thing called "commit tracing". I encountered it first from Chelsea Troy: https://chelseatroy.com/2018/07/21/leveling-up-skill-6-commit-tracing/
I then kicked the tires a few times building my own version of this commit tracing thing in the Pry gem:
https://intermediateruby.com/commit-tracing-in-pry-part-3, which was partially inspired after this very detailed multi-part walk-through focused on obtaining tacit knowledge from Matt Swanson: https://www.intermediateruby.com/make-oss-contributions-part-1-finding-an-issue
I've now built two very detailed commit tracing documents on one of the client projects that Startup.Dev is working on, and I am thrilled with the early results. This pipeline thing is going to work great, and eventually will lead to dozens of early-career software developers rapidly growing their skills and turning into lean, mean, value-creating machines.
I've learned so much about the process of commit tracing, identifying/highlighting when tacit knowledge is cropping up, etc.
I fully expect to see these two developers doing "senior-level" work in a surprisingly short amount of time. They'll be creating tremendous business value by writing clean, flexible code, exercising their judgement, and kicking butt.
I will at some point write a lot more about commit tracing, but... I've been busy. More on that soon.
-Josh
PS: are any of you going to RubyConf in Denver this year? I am! And I live in Golden, so it's in my hometown!