I came across your recent thread about the $2,800 Rails class from
Francis Hwang's post:
My guess is the class exists in large part for one of the reasons
"Have you heard me say before that New York needs more Ruby and Rails
programmers? Oh, only like a thousand fucking times? Yeah, that's
about how massive and chronic the problem is."
We've been dealing with the same problem for a couple of years in
Boston. We've iterated through a bunch of potential solutions so I
figured I'd share those with you here in case there's some lessons
learned you can apply.
1) Convert Java/Perl/.NET/Python developers from big companies into Rubyists
Our main effort here was a VC-sponsored workshop:
I would not classify it as successful. I think the two reasons why were:
* the class wasn't 100% subsidized. It was still priced at $600.
* it's difficult to find this cohort in any significant numbers. You
can't contact HR at Fidelity and say, "hey, I'd like to poach 50 of
your developers, can I send an email to your mailing list?"
2) Convert non-technical co-founders into "able to get shit done" Rubyists
Our efforts here have been:
* teaching a workshop
* pair programming with those non-technical co-founders
* forcing the founders to "own" the admin interface, using Twitter
Bootstrap to make the UI easier to manage
These have been successful. We called the workshop "Everybody Codes"
and have given it twice:
The first time, it was for 30 Harvard Business School students. It was
a three day, 3 hours each day, class.
I spent the first 2 hours getting 30 students' Mac and Windows laptops
set up for Rails, which was a horrifying experience (had the Windows
folks install Ubuntu first, ha). We then provided a shell of a B2B
SaaS app (Plans, Accounts, Users, Projects), and had them get familiar
with running the tests, making changes, committing to version control,
deploying to Heroku.
I would say that 25 of them didn't actually want to code. They
actually wanted to just get an understanding of the stack, what TDD
and agile actually mean in practice, how all the pieces fit together,
whether Ruby is slow and better than Python, etc.
So, the second time we ran it, I changed it to address that need. It's
now called "The Web Design and Development Process":
For the 5 of 30 who are really interested in opening up vim and their
Unix shell, we point them to the following resources.
2a) Pair programming with founders and having them "own" the Twitter
Bootstrapped admin interface
This is a relatively new discovery for us but it's been a huge win on
a couple of projects.
We're a consultancy. Our clients are mostly startups. They want to get
the most out of a consultant:
* don't pay us to do admin interfaces
* pay us to teach them to manage the product development process themselves
* help them grow a team that will follow the practices we've laid down
While something like https://github.com... is badass
and easy to get going, it's very DSL-y and doesn't appropriately teach
someone who is learning Rails for the first time how to write a
Cucumber step, Rails view, controller action, ActiveRecord query
So, we've been using Twitter Bootstrap with the bootstrap-sass and
formtastic-bootstrap gems to provide a simple interface, then we pair
program with them to show them the framework. Then, they keep working
on new features for the interface, for which they are the real user
(building for themselves), for which the chances of breaking something
public-facing are really low so they can build their confidence in a
We also force them to submit Github pull requests for feature branch
code reviews in order to organically learn things like "Skinny
Controller, Fat Model" and lots of little Ruby idioms by getting our
comments on their work.
3) A self-directed, autodidact's curriculum for learning Ruby on Rails
It's opinionated, but has the typical things you'd expect: read the
Pickaxe, deploy your passion project to Heroku, etc. It's written in a
way to just put them on a track so they don't get distracted, asking
themselves questions like, "should I be learning Node.js, too? It's
got more watchers on Github!"
4) Convert students into Ruby developers
Last year, we ran a conference for 200 high school and college
students from 50+ schools:
We brought in John Resig as a speaker and folks from Github, Heroku,
GroupMe, and a bunch of local startups. We had them given punchy,
10-minute talks on a tool (Ruby on Rails, jQuery Mobile, Postgres,
etc.) to fire the students up, get them excited about what the
technologies can do. Similar to the autodidact script, the event
curriculum was very opinionated for reasons of focusing the students'
We also invited 20 startups to send their designers and developers to
the event so that after the talks, students could talk to a real
person who works at Twitter or whatever, and leave feeling jazzed,
ready to learn some new tech and sending their resumes into the
We're running it again this year, renamed to Boston I/O, and we expect
It's way easier to find these students than the corporate folks.
There's ton of people in career services offices and elsewhere whose
job it is to share news about events like this.
We also learned that the startups needed more tools to be able to sort
through the large number of students so this year we have a nice
searchable UI for them to better find folks they might want to
5) Convert PHP developers or other promising developers Rails
There's a class of people out there that we haven't figured out how to
contact in an outbound way but who will find us inbound if we offer
the right thing.
We figured out that the right thing is http://apprentice....
Historically, we've had apprentices like New York's own Alex Godin
work with us for 3 months. We realized we have more capacity and
ability to have apprentices all the time than we're able or willing to
hire ourselves (slow growth, bootstrapped consultancy). So, we're
opening up our apprentice program to anyone who wants to work with us
for 3 months but then go work at one of the sponsoring startups
(Techstars, Brightcove, Blueleaf, thoughtbot, Bocoup to start).
I would classify this as a "software apprentice academy" that seem to
be sprouting up all of a sudden:
To me, this is the ultimate way to learn Rails. It's really for the
most motivated students. The Alex Godins who attend the student
conference and stand out from the rest.
There's a big difference between apprenticing and interning in my opinion:
Anyway, that's what we've been doing. Hopefully something in there is
helpful for you.
Please come visit us up in Boston sometime! You're all welcome to grab
a desk at thoughtbot if you're ever in town. It's a short ride on the
Amtrak from Penn Station to South Station.
Also, if anyone wants to take one of our workshops, I just created a
"NYCRB" 20% coupon for you: