The spread of the internet will put people into two groups: “People who tell computers what to do, and people who are told by computers what to do.” – Marc Andreessen
We had written an 80-page spec for a prototype and, since we didn’t know how to implement any of it, we handed it to an outsourcer. Six painful months later, we knew the outsourcers weren’t working out.
We were up against the wall and we decided the only way forward was for me to learn how to tell computers what to do. I needed to be in Andreessen’s first group. I needed to learn to code.
Since then, I started telling computers what to do. We went on to build Yipit and it changed our lives.
It’s abundantly obvious to me that teaching myself to code is the number one reason we’re here. Learning to code allowed us to build and iterate prototypes in days, not months.
It’s also one of the biggest pieces of advice I give struggling non-technical founders.
But, that’s actually something that has always bothered me at Yipit.
One of the core tenants at Yipit is that everyone should think and act like an entrepreneur.
But, how can they be successful as entrepreneurs without a basic technical background. I would not have been. If it’s the advice I give other entrepreneurs, shouldn’t I give it to people at Yipit?
So, we’re trying something new at Yipit. We want everyone to have the opportunity to learn to code. We want everyone to be able to tell computers what to do. We want to put everyone in the first group.
That might sound crazy and part of it is crazy. But, we’re not afraid to try things and, the further we get along with it, the more excited we’re getting.
What’s the practical benefit?
In finance, everyone learns accounting. It’s not because everyone is going to be an accountant but because it’s the language of finance. At a tech startup, code is that language. The idea isn’t for everyone to become a developer but for everyone to learn the language of tech startups.
It means everyone will start to get a better sense of what certain words mean: roll-outs, the build, breaking the build, commits, github, back-end, front-end, APIs, databases and more.
It means people will start to get a better sense of what’s hard and what’s not as hard.
It means that instead of people asking for things, they can start making those things happen. Anything from copy changes on the site, small bug fixes, writing their own reports, writing one off scripts to do their own analysis when excel just isn’t enough.
It could mean pairing with one of our more experienced developers on a new feature reducing the communication cost.
It could mean us moving our infrastructure into more of a service oriented architecture and having people work on their components without fear of bringing everything down.
It could mean hacking together quick tests and, when they work, bringing them back and having our more experienced developers build solid components.
But how exactly?
Several of our younger engineers came to Yipit with little to no technical background. And, during that time, our more experienced engineers have successfully been able to mentor them into becoming core contributors to our code base.
Along the way, we’ve built a curriculum. Each person gets paired with a more experienced developer and goes through the program:
- We kick it off with a talk on the major components of the web stack largely based on the 6 things you need to learn to build your own prototype
- We spend two weeks learning the basics of python via the excellent Learning Python the Hard Way
- We then get a very basic understating of our web framework, Django, by working through the Django Tutorial
- Everyone spends a day coming up with a super basic idea for a fun web app that they might use with their friends or family
- We then spend the next two weeks getting practice building a web app by working through more Django tutorials including a todo, blog and calendar apps
- Once done, they’ll spend two weeks building their own simple web app based on what they’ve learned
- From there, we’ll spend some time learning the basics of systems work by getting their app deployed on Heroku, they can dive more into HTML/CSS and strengthen their knowledge of programming via Udacity’s course
The goal isn’t for everyone to become full developers but rather for everyone to learn the language of tech startups, to make better decisions, to become more self-sufficient, to truly become entrepreneurs within Yipit.
If you’re smart, hard working and want to learn how to build things online, send an email to jobs at yipit dot com or go to our jobs page. We’re looking for new developers (no CS background necessary) and a data analyst for Yipit. In both positions, you’ll learn to code.
If you’re in finance and consulting and looking to break into tech startups, this could be a great opportunity to take the leap.
If other tech startups have tried this, we’d love to hear about your experiences. We’ll make sure to follow up a in a few months with the good and the bad that we’ve learned.
Think this is a terrible idea?
There’s definitely a chance that this isn’t a great idea. But, at Yipit, we are scientists and we try things. If it doesn’t work out like we hope, we’ll learn and iterate on the concept, just like we do our product.