In the last two days I have spoken to no less than four entrepreneurs whom are all suffering from a variation of the same problem.
One entrepreneur was in shock because his developer said he wanted to re-build the entire web app in a different programming language.
Another entrepreneur had shown a developer a site that she wanted him to model their site after, and was upset that the site he delivered was far, far, far from the example.
A third entrepreneur was banging her head against a wall waiting for her developer to get around to making small site edits.
And a fourth one was wondering if one of those website template engines would look professional enough for her landing page. And if not, how much was getting a site built going to cost?
What do they all have in common? A few things:
- They don’t know enough to articulate what they want such that what they get back is actually what they ordered.
- Their process is held up while they wait for a developer to make even the smallest changes.
- They all worry that they are going to be out thousands of dollars, stuck with a website or web application they don’t like.
- They don’t understand why the developer is making the decisions they are making and they don’t feel empowered to manage the process.
You know what I told each and every one of these entrepreneurs?
Learn how to code. (Didn’t see that one coming did you?)
Am I saying that they need to become developers? Become their own technical co-founder and whatnot? Not at all.
What I am saying is that the investment in time now, will save them endless hours of heartache and thousands of dollars in the future.
Let me explain…
Imagine you are in Morocco.
And all you have eaten in a week is lamb tagine and couscous, and you are DYING for a turkey sandwich. You are at a cafe and decide to try and order off the menu. But you don’t speak a lick of Arabic.
What would you do?
Lots of hand gestures and gesticulating, I would imagine. How does one mime turkey? Cold cuts?
Maybe try a sketch a picture on a napkin?
Or if you are really pushy, you can charge into the kitchen and start pointing at the ingredients.
But tell me this: what is the likelihood that you would be pleased with the dish that is delivered to you?
And how frustrated will the chef, kitchen staff, and waiter be?
It sounds hyperbolic, but this is what is happening in startup offices all over the world.
Entrepreneurs with little background in technology, no coding experience themselves, and little understanding of what the process of building a complex web application is like, are trying to manage developers to build their products.
Of course this leads to developer headaches, but the person who stands to lose the most isn’t the developer. They are being paid by the hour! Or the project! They have a scope document they can point to.
Everything on this list is checked off boss. Sorry you still aren’t happy. Want me to fix it for a few more thousand dollars?
You, the entrepreneur, have the most to lose: time, money, morale.
There’s a better way!
Just like how the entire lean startup movement is designed to teach engineers that they can’t leave sales and customer development to the “business guys.”
I am on a mission to do the reverse.
If you are a tech entrepreneur, the decisions that are made by your developer are too important for you not to be part of the process.
And you can’t expect your developer to do all the difficult translation work. They usually aren’t very good at it. And their incentive is to keep you out of the process, because that’s easier for them.
So what are you to do?
Step 1: Learn how to build a simple website in HTML & CSS.
The first benefit of this is that you will be able to handle production for all of your marketing material. For most people marketing is all they need for the first few months of their company (Sign up for my email list! Let me see if I can’t refine my sales pitch. Allow me to keep you engaged with a fantastic email newsletter.)
Second, you will get your fingers in some code, which will just help demystify all of this tech stuff. You will quickly see that it’s nowhere near as complicated or scary as you think.
Third, you will learn the limitations of HTML & CSS, which will give you a much better understanding of what all of the different component parts of a website are. You will start to see what goes into building a website, and what technology you need in order to make it happen.
Step 2: Learn a programming language. Really, any programming language will do.
Remember, we are learning to code not to code, but to understand how coding works.
What you need to understand is what goes into build complex web applications. How does one work with data? How do you structure your logic? How to make things sleek and efficient? How do you do with test driven development?
You should learn about logic. And variables. And working with data. And scale.
What programming language you learn will matter less than that you pick one and learn it.
But, if you want to split hairs…
If you are going to be working on something with data, learn Python.
If you are building a super custom web application, learn Ruby.
If your site is e-commerce or content based, learn PHP. And then explore open source platforms like WordPress and see if you can’t cobble together an MVP yourself.
Step 3: Hire a really smart, communicative developer, and get yourself REALLY involved in the process.
Developers will hate me for this, but I do think that you need to be integrally involved with the development process.
This doesn’t mean that you should micromanage. Remember, you are hiring them because they are the experts.
You should empower your tech team to make decisions, but you must understand the decisions they are making and how those choices are going to impact your bottom line.
Don’t take it from me! Listen to Steve!
Last week I had the pleasure of attending a workshop with Steven Blank, the grandfather of the lean startup movement, author of Four Steps to an Epiphany and The Startup Owner’s Manual, Stanford professor. Entrepreneur extraordinaire.
During one of his lectures, he stopped mid-way and turned to the class and said: “By the way, if any of you are thinking about running a tech startup you have to learn how to code. Otherwise, you will spend your entire career arguing with your VP of Engineering about whether or not something is too difficult.”
Learning enough coding skills to build a rough prototype of your project will make you one-hundred-thousand-percent more qualified to manage a developer. Which means that you will spend less money, suffer less heartache, and build your web application faster, better, and stronger.
Image credit: CC by Shishir Choudhary