Struggling to find developers? Train them yourself.
I read a wonderful article earlier this week about a startup teaching developers to learn Ruby instead of outsourcing that really struck a chord with me.
It's old news that tech businesses are struggling to find and retain great developers. If you follow the scene for any length of time, you'll read stories about developer poaching, high priced counter offers to keep talent, and increasing salaries that make it difficult for small businesses to keep up with the Facebooks.
Most of us aren't operating on that level, but the fact remains - finding good development talent is increasingly difficult - especialy Ruby talent. Want proof? If you're in the Bay area, go to any local Ruby meetup and watch the parade of companies looking to hire pitch their ideas. Stick around to the end and look how many developers go speak with the people hiring. (Hint, slim to none...)
Handling the hiring issue
Mike Subelsky of Baltimore area Staq seems to have solved their hiring issues by paying junior developers to learn on the job. Not only is this a wonderful idea, it's a no brainer for developers and employers alike.
Staq pays developers that have basic programming skills $20/hr to work, while they receive on the job training in Ruby.
Mike has this to say on his own blog
These projects are ideal work for an entry-level programmer: they're pretty fun and don't usually require deep knowledge of Ruby.
They are very important to the company and core to how we grow the business - which means your work has a great deal of meaning, unlike the busy work many programmers are forced to do.
A story close to home
Learning on the job is exactly how I got my cut my teeth in this industry. For those who aren't familiar with my work history, I've done everything from tech support to usability testing. I worked in pretty much every web language possible during the early years - Perl, ASP, PHP, to Java, and finally Ruby.
As a degree-less engineer, a large key to my success was being able to convince employers that I could rapidly learn on the job. I was also fortunate to have wonderful mentors when I moved to the Bay Area in 1999 that taught me excellent habits in software development. Without this learning process I would be nowhere near the developer I am today.
I've mentored a couple of self trained programmers looking to cut their teeth in tech up to this point, and they've also been able to land positions by adopting the same "learn on the job" mindset.
Good for employers, great for job seekers
I'm a huge fan of this approach.
Developers level up their skills and increase their knowledge while employers find talent and shape their engineering culture. Training and hiring locally also has the added benefit of improving the developer ecosystem in your community.
I'm honestly surprised that more companies aren't going this route. Next time you're struggling to fill an engineering position give a second look at training that self taught programmer or inexperienced college grad before you outsource.