Why Founders Should Know How to Code

By knowing things that exist, you can know that which does not exist.”
Book of Five Rings

A startup is not just about the idea, it’s about testing and then implementing the idea.

A founding team without these skills is likely dead on arrival.

—-

I was driving home from the BIO conference in San Diego last month and had lots of time for a phone call with Dave, an ex student and now a founder who wanted to update me on his Customer Discovery progress. Dave was building a mobile app for matching college students who needed to move within a local area with potential local movers. He described his idea like “Uber for moving” and while he thought he was making real progress, he needed some advice.

Customer Discovery
As the farm fields flew by on the interstate I listened as Dave described how he translated his vision into a series of hypotheses and mapped them onto a business model canvas. He believed that local moves could be solved cheaply and efficiently through local social connections. He described when he got out of the building and quickly realized he had two customer segments – the students – who were looking for low budget, local moves and the potential movers – existing moving companies, students and others looking to make additional income. He worked hard to deeply understand the customer problems of these two customer segments. shutterstock_158330768After a few months he learned how potential customers were solving the local moving problem today (do it themselves, friends, etc.) He even learned a few things that were unexpected – students that live off campus and move to different apartments year-to-year needed to store their furniture over the summer breaks, and that providing local furniture storage over the summer was another part of his value proposition to both students and movers.

As he was learning from potential customers and providers he would ask, “What if we could have an app that allowed you to schedule low cost moves?” And when he’d get a positive response he’d show them his first minimal viable product – the mockup he had created of the User Interface in PowerPoint.

This was a great call. Dave was doing everything right. Until he said, “I just have one tiny problem.” Uh oh…

“I organized some moves by manually connecting students with the movers. And I even helped on some of the moves myself. But I’m having a hard time getting to my next minimal viable product. While I have all this great feedback on my visual mockups I can’t iterate my product. My contract developers building the app aren’t very responsive. It takes weeks to make even a simple change.”

I almost rear-ended another car when I heard this. I said, “Help me understand.. neither you nor your cofounder can code and you’re building a mobile app? And you’ve been at this for six months??” Whoah. This startup was broken at multiple levels. In fact, it wasn’t even a startup.

The Problem
Dave sounded confused. “I thought building a company was all about having hypotheses and getting out of the building and testing them?’

There were three problems with Dave’s startup.

  • He was confusing having an idea with the ability to actually build and implement the idea
  • He was using 3rd parties to build his app but he had no expertise on how to manage external developers
  • His inability to attract a co-founder who could code was a troubling sign

A Startup is Not Just About a Good Idea
As the miles sped by I explained to Dave that he had understood only two of the three parts of what makes a Lean Startup successful. While he correctly understood how to frame his hypotheses with a business model canvas, and he was doing a good job in customer development – the third component of Lean is using Agile Development to rapidly and iteratively build incrementally better versions of the product – in the form of minimal viable products (MVP’s).

The emphasis on the rapid development and iteration of MVP’s is to speed up how fast you can learn; from customers, partners, network scale, adoption, etc. Speed keeps cash burn rate down while allowing you to converge on a repeatable and scalable business model. In a startup building MVP’s is what turns theory into practice.

Dave had fallen into the new founder trap of looking at the business model canvas and thinking that coding was simply an activity (rapidly build mockups of first the the U/I and then the app). And that he could identify the resources needed, (outsourced contract developers who could build it for him) and he would hire a partner to do so. All great in theory but simply wrong. In a web/mobile startup coding is not an outsourced activity. It’s an integral part of the company’s DNA.

Having a coder as part of the founding team is essential.

Coding is the DNA of a Web/Mobile Startup
I offered that if Dave wanted to be the founding CEO then he was going to have to do two things: first, create a reality distortion field large enough to attract a technical co-founder. And second, learn how to code.

Dave was a bit embarrassed when he explained, “I’ve been trying to attract another co-founder who could code but somehow couldn’t convince anyone.” (This by itself should have been a red flag to Dave.) And then he continued, “But why should I have to know how to code, I’m not going to write the final app.”

One interesting thing about the Lean Startup is that it teaches founders about Sales and Marketing (and a bit of finance) without making them get an MBA or a decade of sales experience. Founders who go through the process will have an appreciation of the role of sales and marketing like no textbook or classroom could provide. Having done the job themselves, they’ll never be at the mercy of a domain expert. The same is true for coding.

I was glad I had a lot of time in the car, because I was able to explain my belief that all founders in a web or mobile startup need to learn how to code. Not to become developers but at a minimum to appreciate how to hire and manage technical resources and if possible to deliver the next level of MVP’s themselves.

shutterstock_161223782

Dave’s objection was to list a few successful startups that he knew where that wasn’t the case. I pointed out that are always “corner cases” and if he thought I was wrong he could simply ignore my advice.

As I was about to pull off an exit for lunch and to recharge my car I strongly suggested to Dave that for both this startup and the rest of career he put his startup on hold and invest his time in attending a coding bootcamp. It would take him to the first step in appreciating the issues in managing web development projects, identifying good developers, and finding a technical co-founder.

Weeks later Dave dropped me a note, “Boy, what I didn’t know about how much I didn’t know. Thanks!”

Lessons Learned

  • Startups are not just about the idea, they’re about testing and implementing the idea
  • A founding web/mobile team without a coder past the initial stages of Customer Discovery is not a startup
  • Everyone on the founding team ought to invest the time in a coding bootcamp
  • Your odds of building a successful startup will increase

31 Responses

  1. Amen to that Steve.

    This is of course extendable to not just lean startups. That many screw ups I’ve seen from hands off managers and architects is embarrassing. Ivory Towers are a sure road to waste.

  2. Reblogged this on Nikola Zdunić and commented:
    I’d extend this idea out even further…..

  3. thanks alot steve about this useful post

  4. Great write up, thank you Steve.

  5. Great post Steve. It seems to me that “coding” can be a euphemism for “technical know-how” regardless of the space a startup is working in. A startup doesn’t have to be a web/software startup for “coding” knowledge to apply. What this really means is that founders need to have deep enough knowledge of a space that they can understand it inside and out. Most likely that knowledge comes from the experience of “doing it”. Only when we engage in the weeds do we begin to see the details that we miss from 50k feet.

    Of course that isn’t to suggest that the vision of 50k feet isn’t important. It is. What it means is that founders need to have the ability to zoom in on the details and zoom out for the big picture. One without the other makes it much more difficult for a startup to be successful. An antidote for this is to have co-founders who balance each other out. The classic Hacker, UI and Marketing triumvirate. But even then each has to understand enough of what the others do to be able to value their expertise and build on it. Silos don’t work anywhere in human endeavour and are even more costly in startups.

  6. Where’s the evidence that you need to code? :-)

  7. I think there are a lot of cartoons about this issue, like this one.

    and plenty of Dilbert ones.

  8. Coding is a skill needed for any technology startup, and it is number one goal for any startup is to understand the technology that is involved with their product. But to say that all startup members of the team need to understand how to code is a bit overkill. It depends on the product. If a founding startup member has an expertise say in social media development, or expertise in a certain element around a product, like curation, do they really need know how to code?? Further, right now there are some great tools like mobile app development application http://appery.io/ that a MVP can be developed very quickly and inexpensively, and changed rapidly, without a stitch of code being written by hand. Do you have to have technical skills? Yes, but you don’t need to hand code.

    Also, the idea if your startup cannot recruit a coder, then it was a troubling sign for the business, is very limiting in what types of products you will be able to produce. Like most people, coders utilize their personal experiences to determine what products they want to work on, which is how we get some crappy products like “Yo”, pizza delivery, or boob alerts. To solve the big and important problems of 21st Century on a “coder” to have “buyin” is like finding a needle in the haystack. Often the type of coder that want to address the big issues in society, has some age and experience and have families, mortgages, etc… they are not going to drop all their responsibilities to join a startup and code for free, when they are already bring in 6 figures. So that leaves you with young coders, who think it would be cool to figure out how to have pizza and beer delivered, not how to improve the environment, education, and society.

    I have a real problem with the definition of what is a technical co-founder, and how that is only associated with being a coder. First, the word technical means “relating to a particular subject, art, or craft, or its techniques”. But it means in SV tech startup scene you only have the skill to code, or what I call “Code-Founder”. As a person who is very technical, taught machine learning to engineers and coders, and built models based on deep learning, and where most experienced engineers say to me “are you an engineer”, which I am not. I am still not considered a technical co-founder, and have been even turned down from programs because of it. However, I can turn around in 10 hours and produce something from an off the shelve product, that a young “coder” could not do in 6 months for the product. That is what I call technical and utilizing the lean startup methods.

    • Amen, Karen! We need more young coders/developers to solve the important problems of the 21st century. The more experienced developers can guide/mentor the young ones into creating truly innovative products that solve real societal needs. That’s what my company is currently focusing on (energy & water efficiency).

  9. Hi Steve,

    You mention that coding skills are essential for founders of a web/mobile startup.

    Would you say this is also true for an e-commerce startup (ex. Warby Parker), where being online is more of a channel to reach the consumer, unlike say a social network (ex. Facebook), where the online infrastructure is even more important?

    Thanks,
    Aashay

    • Aashay,
      For e-commerce the essential skills for founder may be expertise in Demand Generation – the on-line tools for getting/keeping/growing customers.
      Get/Keep/Grow Demand Creation Funnel
      The more general idea is that you need to step back from your startup and ask, “what is the most critical activity we need to do in this business?”
      (The business model canvas actually asks you this question.) Next, what resources do you need to pull off that activity?
      If one of the founders doesn’t have the expertise in that critical activity it’s hard to understand how you can effectively hire, manage or recruit talent to build the company.

      steve

  10. That is why I built a whole business on teaching non-tech CEO the basics coding skills to get their startup of the ground with an MVP !!
    You are always right Stv!!!

  11. Hopefully that bootcamp will teach some security basics too. So many of todays breaches are from poor coding.

  12. Hi Steve,

    Coding is essential in building the first product, however using rapid prototyping tools like Axure (that I use) can validate your product, business and identify new customer features immediately.

    What I do, is build out use cases in a interactive prototype, test with customers and update until the use case is 90% complete then outsource development.

    The dev team gets the prototype to use and build from.

    I don’t code, but replicate a high fidelity website or mobile app within days for feedback.

    BTW-I’m a UX professional an been doing this awhile, but anyone could learn Axure in days to build an interactive app.

    My best, Andy schultz Chicago

    Sent from my iPhone

    >

  13. Dear Steve, I think that every founder needs to know what kind of resources he will need to rapidly create, test, deploy and evolve it’s product each time he goes out of the building and get a narrow knowledge about the customers needs.
    When we talk about “bits and bytes” products the resources are not only coders, but also a good knowledge on Agile Software Development, otherwise he will fail on doing things in the fast pace that a startup needs.
    The knowledge on Agile Methods for product development also applies to physical products.
    In other words, every startup must have a good knowledge of Agile Methods in the figure of the founder or the cofounder in order to succeed.
    Am I correct?

  14. I think it’s very true that founders should understand how to build a product. Today this means knowing how to code, but, to me, this is because technology hasn’t been fast enough to make that people don’t have to code any more to build products…

    In the 70s, 80s, people needed to code to use a computer (MSDOS was about typing some lines of code). Instead of telling everyone to learn how to code, Apple and Microsoft decided to build tools so that people would be able to do things without code. In the early 2000s, people need to code to have a blog. Today, anyone can use tumblr…

    The same thing should happen to building products. Founders should know how to program, not how to code, because the right tools are going to emerge at some point. So this is auto-promotion, but Bubble (http://bubble.is) is one of them (I’m a cofounder). You can build your product without code on Bubble. There is a learning curve, as it’s programming, but this is with a visual interface that gets rid of the coding aspect. Our users have build crowdfunding platforms, marketplaces, all starting from a white page (no template) and without code.

    There are more and more tools like these and they’re actually getting to a position that enables people to really build things without code. If you have the wireframe, you pretty much have all it takes to use Bubble.

  15. I have heard of this as building a Minimum Viable Team, consisting of a hacker, a hipster and a hustler.

    Hacker : Engineers and developers

    Hipster : design and user exeperience

    Hustler : marketing and business “growth hacker”.

    http://www.forbes.com/sites/andyellwood/2012/08/22/the-dream-team-hipster-hacker-and-hustler/

    • John,

      For Web/Mobile startups the answer is Hacker/Hustler/Designer.

      The more general rule is to step back from your startup and ask, “what is the most critical activity we need to do in this business?”
      (The business model canvas actually asks you this question.) Next, what resources do you need to pull off that activity?

      In other industries: e-commerice, consumer hardware, enterprise software, medical devices, digital health, the core skills will differ depending on the activities that are mission critical in the first year or two.

      If one of the founders doesn’t have the expertise in that critical activity it’s hard to understand how you can effectively hire, manage or recruit talent to build the company.

      steve

  16. thanks for this blogpost Mister Blank! I reposted a summary in german language http://spielend-programmieren.at/blog/20140907_knowtocode.md.html

  17. Steve,
    What a great post…I was confusing on this topic for a full week. As a programming dummy, I totally agree with you on the founders of e-commerce should know how to code for hiring, managing and recruiting effectively.
    Basically, I think, e-commerce is a channel distributor and marketing tool, which always subordinate to ‘real business’ (e.g.: manufacturing, constructing, and producing…etc.). However, the first problem is whether the founders of e-commerce should apply ‘Design Thinking’ which is human-centred or ‘Customer Development’ which is tech-centred? As you mentioned on ‘Driving Corporate Innovation’ in July, ‘Customer Development’ is for someone who has already built technical products or apps. An e-commerce website seemly is something more than this.
    Many of PowerPoint you posted on Slideshare show that founders use interview to listen to their customers. I think that is an acceptable bottom-up method to know the market and to iterate the product, but not for e-commerce websites. Customer of an app could download it for free. Interview cannot give customer feedback if interviewees never make an order via the site. In the case, the method e-commerce startup choose to talk to customers is another problem followed.

    Cameron.

  18. “Dave…explained, ‘I’ve been trying to attract another co-founder who could code but somehow couldn’t convince anyone.’ (This by itself should have been a red flag to Dave.)”

    Hi Steve,

    Could you elaborate on this passage? I don’t write code yet it is my impression that coders are human and as such suffer as “fashion victims” as often as anyone else. That is, they read or hear the stories / gossip about lottery winners (IPOs / S-1 filings) and want to pursue the same idea or something similar. Like any other profession, a very small number of players will be innovative while the rest play follow-the-follower.

    Some markets also don’t have much of an “equity culture” and coders only want to work as paid employees, agents or they aspire to be at large enterprises for their prestige.

    I’ve encountered the “if you can’t find a coding co-founder then the idea must be poor” notion yet my limited experience has seen about half-dozen internet-focused startups take off at start without a coding co-founder.

    There are drawbacks but is it so bad when most wish to chase the latest fashion while you seek to go another path? Is this not part of innovative thinking?

  19. If you can pay developers to work on your idea, than you don’t need a techinical cofounder, you just need a contractor.

    A team with a solid marketing strategy, a sales guy, and cash to pay a contracted engineer is a team I would much rather bet on, than some tech co founder out of a bootcamp, plus a ideas guy.

    From my experience 9/10 times marketing strategy and marketing cofounder ends up being what makes or breaks companies, followed by ux design, followed distantly by engineering capacity is what makes teams productive.

    You can iterate through mvps just with designs and showing them to people over dinner and having them touch static psd…..

    This whole every startup needs a “hacker” is just bs. But you do need to be able to talk to hackers, which is where again design skills and experiences comes into play……

    MHO.

    Todd

    • Todd,
      Given your company says it is a “boutique rails staffing … specializing in augmenting US startups with .. remote devs and designers”, I think the quote “It is difficult to get a man to understand something, when his salary depends on his not understanding it” seems to apply.

      steve

      • Agreed, but I would say the difference here is that I am not salaried but the ceo, and my core conviction which resulted in me creating a company is believing that founders don’t need tech co founders…. so my job is just a follow through from my underlying believe not the opposite…. fair enough? :) and for all you wanting to get stuff built without cofounders, with a responsive team…. staunchrobots.com ftw :)

  20. Sorry I missed you when you were here in San Diego. We haven’t met yet and I hope to one day. It’s actually lucky I didn’t see you in a coffeehouse since I would have created a scene. Heheh (I’m a fan :).

    It’s been tricky finding a technical co-founder here in San Diego. I was commenting to a friend that there should be seminars for techies that help them spot a business opportunity from a mile away. Most seem risk averse and are comfortable with their existing gigs. Even if they made a smaller time commitment for an equity position that would be great but, I haven’t been able to even start that conversation either. My mentor from the Bay area suggested I don’t need a technical co-founder because they are easily hired out and I can grow to one day bring the caliber of person I need.

    The latter is a concern as it seems risky to bring on a technical co-founder now when my belief is I will need a much higher caliber technical lead on my team once my assumptions have been proven. That is, say the only level of talent I can attract and recruit doesn’t have anywhere near the levels of expertise (semantic analysis, machine learning etc.) today, and will likely not be able to achieve that level within the next couple years. Won’t I end up with a junior tech lead with a significant share of the business, who I would then expect as our tech co-founder to lead the growing tech team, including the much higher level person? And in doing so I likely won’t have the equity to offer to a higher-caliber lead. Sure I can hire a junior and dump them but, that’s not my style (nor is it right imho).

    Finally, all this being said, shouldn’t the same logic apply to technical co-founder teams who should learn business development and building skills? It’s no small feat to build and grow a business and my bet is if techies had a better understanding of the complexity of the business end there would likely be an improved level of collaboration for all.

    Thanks Steve. Your books, Udacity mooc, Kauffman Founder’s School segments, podcasts and any of your work I can find – in a word – rocks.

    p.s. As as a shameless plug to techies looking to pivot: there’s plenty of opportunities in San Diego, it’s warm and fun year-round and there are some awesome people here :)

  21. This isn’t a “high tech” startup. It’s a moving and storage booking business. The real assets are in the connections with the businesses that do the lifting and carrying. It’s quite reasonable to outsource the web site. (Does it really need an “app”? How often do you move?)

    Besides, this problem isn’t about the “app” or the web site at all. It’s about the back end that handles the scheduling and making it happen. That’s a hard part of the problem. Are you going to have it interface with the systems of moving companies, or do you have people in a call center on the phone to movers? Scheduling is a hard problem.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 166,171 other followers