How to Pick the Programming Language for Your First MVP

Summary: When I advise entrepreneurs to build their own MVP many ask me, “what language should I use.” Since technology is rarely a business risk for startups, I advise entrepreneurs to make the decision based on community instead. Pick a popular technology based on the availability of people who can help you when you get stuck.

Entrepreneurs Should Build their Own MVP

In my startup help sessions through sohelpful.me/kevindewalt I encourage entrepreneurs to build their own MVP. Hard as it is, it is a better option for most of us than spending 6 months searching for the right technical co-founder or trying to raise money on a concept.

Many haven’t done web programming and ask the question, ‘what language should I use’? In this post I have some suggestions for figuring out what to use, but keep in mind that the decision to build your MVP is more important than deciding how to build it.

Our MVPs are Tests – Not Great Products

An MVP isn’t about building a great product; it’s about testing whether we’ve got an opportunity. If we’ve got an opportunity we’ll be investing years building a great product – and with great developers. Most likely the MVP tests will fail, but hopefully we’ll learn enough to pivot to something with a better chance of success.

The technology platform itself isn’t part of the test. Usually we’re trying to figure out if we’re solving a real problem, if we can get paid to solve it, and if we can find a path to customers. The technology itself isn’t in the top 5 risks business risks, probably not even in the top 20.

So choose the MVP based on the technology that allows you to test the fastest.

Already a Developer? Go with What You Know

If you’re already comfortable with a technology stack, then your choice is simple: go with what you know. Entrepreneurship is too brutally hard and this isn’t the time to learn a new technology without a really good reason.

Your First MVP? – Go with What’s Popular

If you’re new to web development and start asking for advice, you’ll get lots of opinions, mostly from people who’ve invested years learning a particular technology. These discussions quickly devolve into dogmatic debates – forget these opinions, they don’t matter.

You’ll find great startups built on every technology stack available. Joel Gascoigne developed Buffer in PHP, Justin Wilcox uses Microsoft tools, I use Rails, I have friends who use Django. Any will work – just pick something popular.

You may have heard that new node.js frameworks are the next big thing – perhaps someone even advised you to use one based on your solution. Do you need some newfangled tech to run your MVP test? If the answer is no, then stick with what is popular – you’ll be able to test much faster.

Django or Rails? Community Trumps Technology

More important than your choice of framework is the availability of people to help you. You’re going to get stuck – constantly, every time you do anything – and figuring out the solution yourself takes too long.

When I get stuck, the first thing I do is turn to my friend Google. Last week the thumbnail images on my sohelpful.me MVP wouldn’t line up. So I started Googling… ”Rails Twitter Bootstrap thumbnail images not lining up” and found someone who solved it on Stackoverflow.

But sometimes I still can’t figure it out so I have to ask someone for help. Before you pick the programming language for your MVP, ask yourself: “who can I ask for help”

What do your friends/colleagues use? Someone you can bribe with food, beer and favors to help you? Is there a strong developer enthusiast community in your neighborhood? A Ruby/Python meetup? Or perhaps you know a freelance developer who is also a patient teacher. A few hundred bucks and lunch can save you a lot of headache.

You’re much more likely to find that great tech co-founder once you’ve proven that you can execute.

Above All – be Patient and Get Started

Getting started takes time and sometimes it can get so frustrating you’ll want to quit. You’ll make lots of mistakes, things will break. It will probably take you 3-6 months to get into a rhythm – this is normal.  Don’t try to learn everything before you start – better to start building your MVP and learn as you go.

If you’ve picked a popular technology with a local support system to help you, you’ll get there. Best of all you’ll learn new skills and meet some amazing entrepreneur/developers in the process.

Your startup may fail, but with new friends and skills your startup experience will be a success.

About the Photo

I picked this photo of white water rafting by Al_HikesAZ because it reminded me of what it’s like to take on a new challenge like learning a new programming language – sometimes intimidating, sometimes thrilling, sometimes frustrating. All part of life’s wonderful journey when we get outside of our comfort zones.

3 Comments

  1. Juan Jose Figueiras April 3, 2013 at 3:13 pm #

    I agree with you that technology is not a problem … is not a risk. Today we could solve the same problem with different technologies.
    What I’m wondering is about user experience … I mean, when you are testing a solution, user experience plays an important role, … thinking about mobile solutions … would you please tell us more about MVP + Mobile apps?
    Thank you

    • kevindewalt April 3, 2013 at 9:13 pm #

      Hey Juan,

      The User experience is definitely a big part of it – but mostly I’m trying to figure out, “Am I actually solving their real problem?”. Optimizing the UX takes a lot of data and a long time – we NEVER get it close to right on the first release.

      In my experience the “earlyvangelists” have to buy into the vision and are willing to deal with UX challenges because they see the future. But this is a complex topic, I’d suggest having a chat with me sohelpful.me/kevindewalt or sohelpful.me/teaguehopkins.

  2. Alfred Lua October 24, 2014 at 11:03 am #

    Great advice again, thanks!

I read EVERY comment and want to hear from you