Lessons the "learn to code" movement needs to learn from Hackathons.

March 5, 2013
Vote on HN

What’s after the hackathon? That’s a question that people love to ask me. They’re really asking me to predict where the next developer gold rush will be, and up to a few weeks ago your guess would have been as good as mine. But recently I’ve been noticing more and more parallels between the emerging “learn to code” movement and hackathons. It makes me wonder if the next thing hasn’t been sitting right in front of us all along.

It’s all about the developers.

Both hackathons and code schools are about making developers lives better. They’re about finding people who produce awesome stuff and then providing them with the tools and resources to produce even more awesome stuff. Hackathons accomplish this by providing a venue for self-expression and creativity, and likewise code schools do the same for education and self-improvement.

Of course, these benefits aren’t mutually exclusive. After all, one of the primary drivers of creativity is experimentation. And what’s the use of education if you can’t apply what you’ve learned to express yourself? The point being, these things give developers access to something they couldn’t easily get before and that’s what gets us in the door.

This is a safe place.

Typically, when you’re assigned a specific task at work there isn’t much room for creativity. There may be a little bit of wiggle room for learning, but if your employer found out you spent 90% of your time learning, you’d probably be out of a job pretty quickly.

get a new job

Hackathons and “learn to code” programs provide a safe environment for developers to engage in these activities that would normally be frowned upon during their 9 to 5. Mistakes are cheap because there’s no external pressure to perform, so developers can take risks and experiment without fear of repercussions or embarrassment.

Building a better community together.

In addition to benefiting individual developers, the community sees massive benefits from both hackathons and “learn to code” programs too. They both make it super easy for new people to get assimilated and for existing members to share their knowledge and increase their networks.

I’ve found that one of the most personally rewarding benefits of getting better as a programmer is the ability to pass on the things that I’ve learned to other programmers. Teaching workshops at hackathons and conferences has been a great way to accomplish exactly this. And although I haven’t done it yet, I’d be willing to bet guest lecturing for a class at a code school shares many of the same benefits.

Branding is everything.

These events and schools are also great opportunities for brand exposure and loyalty. One of the main reasons that API companies sponsor hackathons is to expose developers to their platforms. Similarly, sponsoring or donating resources to “learn to code” programs is another great way to introduce yourself to developers who will inevitably face the same problems that your APIs solve already.

There are also a number of positive PR elements that come along with getting involved in both hackathons and code schools. Giving back to the community once you’ve become a part of it is never a bad move. And, as sad as it is to say, being a part of these movements early on definitely has some coolness factor and your brand is probably viewed as more cutting edge in general.

What did we learn from all this?

What comes next is not pretty, but it’s what I’ve seen happen to the hackathon movement first hand. My hope is that if we talk about these things early on, we might be able to stop them before they happen again or at least know they’re coming.

Life on the Savannah.

Programmers are a scarce resource. More and more companies are forming every day and they all need access to the same, limited pool of talent. There’s just not enough developers to go around and they all know it. If you’re familiar with any microeconomics, you already know how this is going to play out. Once the people looking for developer get wind of a place that developers are hanging out, they’re going to start flocking there too. That’s just how shortages work.

supply vs. demand

The whole thing kind of reminds me of life for a gazelle on the Savanna. You spend your days wandering around with your friends and family looking for water because there will be food there to keep you all strong. Once you find a good place to hang out though, you can’t stay for too long. If you do, sure enough, some lion is going to get wind of the fact that you’re all hanging out around there and ruin it for everyone.

It’s all about the Benjamins.

At first, these schools will be all about helping the developers that allow them to exist, but eventually some people with some very different interests will show up. Let me illustrate. Here’s a list of some of the most popular code schools and their associated costs.

* These price points are approximate. Most were found on the program website, but some had to be located from other sources.

The difference in cost between the bottom and top of that list is pretty striking. To be sure, I fell back on my statistics knowledge and did a little math. The average cost per program is around $9,000 with a standard deviation of a little less than $5,500. The most expensive option falls just outside the 2nd standard deviation. That doesn’t make it an outlier, but it’s pretty darn close. I wouldn’t be surprised if we start seeing a lot more programs fall into that range.

Additionally, I found it really surprising that many of these programs don’t actually cover any of your living expenses while you’re attending them. That means once you cover the cost of the instructor, venue, and infrastructure, the rest of that money is straight profit. Add in the $6,000 to $10,000 recruiting fee they’ll make off placing you in a job and we’re talking about a non-negligible amount of money.

If they haven’t done it already, people will start doing the math and realize there’s a lot of money to be made. People will start opening the schools with the wrong intentions and the developers community will suffer because of it.

More does not imply better.

This is the classic quantity vs quality argument all over again. On one hand, more events (or schools) means that more people will have access. At first, this will work fine because there’s enough demand to match the increased supply. Eventually though, our luck will run out and it will start getting hard to fill all the seats. Maybe the number of applicants will remain steady, but my guess is that the quality when compared with the first few batches will degrade quickly.

Another major problem with more schools and classes is that now we have to factor in burn out. The initial group of awesome people who’ve made these things possible will start to feel overwhelmed and want to step back. After all, too much of even a good thing is a bad thing. Unless fresh, equally qualified people step up to take their place, the programs will start to change dramatically.

At this point, the startups that were initially involved will probably slow down as well since the candidates that they’re getting access to don’t have the same quality as the initial batches and they don’t know the new organizers as well as the last ones. If we get to this point, it’s time to start doing disaster recovery, but I’ll save that for a future post.

Knowledge is power.

This paints a pretty grim picture, I know. My hope is that if we can spot these issues early on, we might be able to do something about them before they become a major problem. If we maintain high standards, don’t overindulge, and call out bad stuff when it starts to happen (instead of waiting for it to fester), we might just be able to have nice things and keep them too.

- Swift

P.S. My name is Swift. I'm a former developer evangelist at SendGrid and one of the founders of Hacker League. I also tweet as @SwiftAlphaOne. Follow me there for more of my thoughts and maybe a laugh or two.

Vote on HN