Do you consider yourself a creative thinker with great ideas? Are you a person with a non-technical background? Are you looking for someone technical who can make your brilliant idea come true?
Then this post is for you.
Maybe it’s because of my own non-technical background, maybe it’s because there are just not enough technical people here in Amsterdam, but whatever it is, I get constantly asked by non-technical founders where they can find technical talent.
They go to the usual round of events — Hackers & Founders, Startup Weekend — with only one goal: finding a technical person who can make their business concept a reality.
So this blog post is to all non-technical founders who are sitting and waiting to find their technical counterpart: You don’t find a technical co-founder, you earn one. And until the moment arrives, stop looking for a technical co-founder, and start to learn code.
I started my own company, SNTMNT, about 12 months ago. At the time, I couldn’t write a single line of code. I was just lucky to find technical people who believed in my hustling skills — very lucky actually, as these were not very good at the time either.
Despite having technical founders on my team, I have taught myself how to code over the past months. It’s hard work. It’s frustrating. It takes ages until you’re able to produce something decent. Still, it has given me much more in return than I expected.
But first, before diving into details how and why you should pick up coding, I feel compelled to point out that there is one pretty important question you might want to answer first: Do you actually need a technical co-founder?
Do you need a hacker?
For most businesses, I wouldn’t know the perfect answer; but most of the time you do. I do think that in essence, the perfect founding team consists of a hustler and a hacker, and maybe a hipster if your business relies heavily on design.
There are those startups who have no technical people around, leaving the business with just Hustlers, Hipsters and god knows what else. They let someone else build their first minimum viable product, paid out of their own pockets. And sometimes even with money from outside investors, which I think is even worse.
There are a few companies I know that became successful while outsourcing software development from the beginning. Still, I have seen twice as many fail miserably this way. In the beginning stages of your startup, I would definitely vote against it.
I personally find it very dangerous if startups are not developing their own software. This is primarily because of intellectual property and learning effects. What knowledge about your product resides within the company if you’re not the one building it? A software company that doesn’t build its own software sounds like an empty shell to me.
Whether or not you can afford to outsource your product development might be a little dependent on your business. Taking from Alexander Osterwalder’s Business Model Canvas, a lot of this depends on your key resources.
For a business like Surf Air, this might be okay. Its planes are their true key resource, not its Website. Then again, if you’re going to be any kind of matchmaking platform that connects supply and demand, like Airbnb or Kickstarter, it’s different. These kind of companies are not extremely tech-savvy, but their platforms are their key resource, and you would be a complete idiot to outsource development here.
When you need a hacker
OK, so you’re still looking for a technical co-founder.
Which brings us back to the title of this post. Stop looking for a technical co-founder at every tech-related event you can find. You don’t find a technical co-founder. I believe you have to earn one by enabling your business to move forward until a point that technical people will find you.
Yes, this means that you will have to build your MVP yourself. But this also means that you should not just focus on making progress from a product development (hacker) perspective. You should be focused on making real progress from a customer development (hustler) perspective as well. Learn about your critical assumptions, start building a following by sharing what you think is important, and get your first sales experience while talking to potential customers.
Although this seem like doing a great many things at once, the good news here is that a lot of this will go hand in hand with hacking your MVP. The biggest reason to stop searching and start coding yourself is that it will force you to think lean.
One of the motivations given to prefer the two-person founder configuration (hustler/hacker) over the three-person founding team (hacker/hustler/hipster) is that in the earliest phases, passable design can be hustled — especially with the rise of startups like 99designs and Bootstrap. Being relatively unskilled forces you to stick to the essence and use your creativity to keep things simple.
How to start coding
For a code editor I use TextWrangler, which works fine for me, but there are better ones. Whatever you do, don’t use Dreamweaver.
For learning HTML and CSS, W3Schools worked great for me.
I started programming in Python because of two good friends. Although I have no way of comparison, I found that Python is a very friendly language to learn. Bite of Python and Dive Into Python are two great books for beginners.
From my experience, I think that in general you should stay away from these books as much as possible. In the end I felt you learn most by just doing. Just like entrepreneurship itself. Therefore, I warmly recommend Google Python classes. The Google Python classes were very useful to me, although I had difficulties finishing all of them on my own. You should probably wait until you’re a little further along as a novice coder (for instance after reading Bite of Python) to get going with these.
Learn Python The Hard Way is another very good resource, perhaps even if you’re starting from scratch.
I hear nice things about Ruby as well. If Ruby is more your thing, Will Miceli has an excellent post that provides great links to Ruby/Rails resources.
When I learned coding, my purpose was to be able to do basic Web development. Therefore, after the basics of Python, I quickly proceeded to learn Django. Django is a very straightforward framework that enables you to build websites very quickly.
Resources that were very useful for me included Djangobook.org, the official body that explains the basics and gets you going in building some basic apps like polls and stuff; and Beginning Django Ecommerce, especially handy for products that requires user logins and/or shopping cart functionality.
Starting from scratch
I know how difficult it is to start learning something from scratch. Of course it’s scary at times. And yes, very often you’ll find that coding stuff sucks big time until it works. That’s the nature of programming.
For me though, I found it very rewarding to be able to prototype my own way into the universe. I will never be a great coder. Still, I’m happy to say that I can build my own prototypes and do front-end stuff when necessary.
In addition, there are other benefits that are way more valuable when you learn to think more like a hacker. For me, my intent has never been to turn myself from a business person into a world-class hacker.
Picking up programming should be to rather acquaint yourself with the particular challenges of engineering. You will find that it will help considerably to understand the technical people you’re working with (and maybe even selling to before too soon!).
Most important, it will most definitely help you to command respect in your quest for a technical co-founder. Good luck!
Vincent van Leeuwen didn’t write a single line of code until a few months ago. He taught himself to code and, although it’s been scary at times, it has given him much more than he expected. This post originally appeared on the blog of Sntmnt, van Leeuwen’s own startup.
Top image courtesy of wavebreakmedia, Shutterstock
VB's research team is studying web-personalization... Chime in here, and we’ll share the results.