Summary: Today’s Entrepreneurs are generalists, and that means having proficiency in many skills including programming. Fortunately most people with limited programming experience can get a lot out having some basic skills. Being a really good programmer is not practical or optimal.
I got a lot questions and startup help calls after my recent post: My Advice for Young Entrepreneurs? Learn to Code from people were confused about what they needed to learn and why. I’ll try to clear up some confusion here1.
We Need to Stop Thinking of Programming as a Can/Cannot Skill
Many people believe that programming is a skill that you either have it or you don’t. Those who “can” program are College Computer Science majors who spend years refining their craft in job experience. The rest of us are in the “cannot” category.
This just isn’t true. Programming is like any skill – everyone who does it has a range of aptitude and proficiency. And like any skill there is a “good enough” range.
Today’s Entrepreneurs are Generalists And Programming is One Critical Skill
Before 2000 starting a software company took a lot of money – you needed Sun servers, Oracle licenses, and lots of people. Money was so critical that founders could be great at shaking it out of investors and customers and no other skill mattered much. Entrepreneurs would spend half (or more) of their time building relationships with people who could get them money.
Today money is no longer as critical and most founders rely on a broad range of skills to get traction. Successful founders I know have some degree of competency in at least 6 skills
6 Critical Skills for Entrepreneurs
- Management & Leadership
- Design and UX
- (Increasingly) Data Analytics
Nobody can be really good at all 6 of these skills. In fact, maintaining a “great” level in any one of them will probably hinder your development in others. There are just only so many hours in the day.
Each Skill has an Optimal Level for Entrepreneurs – And Being Great Usually Isn’t Practical
Consider this conceptual “Optimal Skill Curve for Entrepreneurs”. To be an effective generalist entrepreneur you need to be in the 2-4 range for most skills. If you’re <2 in any skill you’ll find that it holds you back – consider investing time in improving it before getting better at what you already do. Since you can’t be great at everything you’ll need to recruit people who are >4 in their area of expertise.
Optimal Skill Curve for Writing Skills
Before talking about programming, let’s talk about a skill we can all understand: writing. Entrepreneurs need to write Ad copy, email prospective customers, give team members written directions, blog….and on.2
Here is what a hypothetical curve for Writing Skills might look like for an entrepreneur trying to create web and mobile products for an American audience:
|0||You written English is about as good as my 汉字||Improve Skill|
|1||You can write like a high-school educated American but don’t use written English much in your work||Improve Skill|
|2||You write like a college-educated American and are very comfortable with day-to-day business communication like email word-processing and presentations||Optimal|
|3||You have worked to develop basic sales and marketing skills like writing Ad copy and content marketing. You write regularly to maintain your skills and read guides like Copyhackers to get better||Optimal|
|4||You’re an excellent writer and have worked in marketing or editorial departments where a key component of your work was writing copy||Optimal|
|5||You make your living by writing and have the talent and skills to be able to work at top advertising firms or serve as an editor||Hire at this Level|
|6||Don Draper and Bill Shakespeare call you when they’ve got writer’s block||Hire at this Level|
Imagine building web products for the American market if your English skills are a 1.4. Is it possible? Sure. But progress will be slower because you’ll have to explain to others what you want and have them write it. Worse yet you won’t be in a good position to hire great people because you cannot distinguish someone with 2.5 skills from someone with 4.5 skills.3
Let’s also assume that my Written English skills are a 3.0. Could I become a 4? Sure, but my time is better spent developing my weaker skills.
Optimal Skill Curve for Programming
Now let’s consider the Programming, the skill which is causing the most confusion.
|0||You use the web but have no idea how it works||Improve Skill|
|1||You’ve worked with programmers before and can participate in a basic business conversation about topics like databases/deadlines/bugs. You had a programming class in college once but never spent much time building anything yourself||Improve Skill|
|2||You’ve done a few small programming projects yourself and basically understand how everything works although you’ve never deployed production-level application. When you hear a new term you can look it up and understand what it means||Optimal|
|3||You can – albeit slowly – create and deploy a basic data-driven web application using a popular framework like Rails or Django. Your code is far from elegant and you first turn to StackOverflow whenever you try to do something new. You learn new skills and technologies as you need them||Optimial|
|4||You’re good enough to work as a freelancer building web applications for clients. You participate in open-source projects just to improve your skills||Optimal|
|5||You’re a great programmer and good enough to work for companies like Pivotal Labs. “It works” isn’t good enough – you pride yourself in creating elegant maintainable and scalable code||Hire at this Level|
|6||No time for programming – you’re too busy laying out the vision for what comes after node.js||Hire at this Level|
Now let’s talk about what these skills mean for entrepreneurs. Hopefully you’ll see why the Optimal Skill Level for programming is 2-4 – because with this skill level you can build an MVP and start discovering what your market needs.
If Your Programming Skills are < 2 it will be Tough – but Marginally Improving your Skills has Big Returns.
If your programming skill are < 2 you’re going to have a hard time even if you have a team of developers. You won’t be in a good position to make critical product design tradeoffs because don’t speak the same language – you don’t have basic programming literacy. You’ll move slowly because you’ll spend hours communicating ideas to people you could implement yourself in 10 minutes. Possible? Of course. But the successful entrepreneurs I know with limited programming skills usually have lots of product experience and are very focused on selling.
But there IS good news for you!
Getting to the 2-3 range is a lot easier than you probably believe. Most of the programmers you know – people who have been doing it full-time for years – are in the >4 range. This shouldn’t be your goal.
You just need to be good enough to get an MVP working by coding yourself and bringing in others to help you get through the more challenging components. That is good enough to be in control of your product and discover what the market actually needs. You’ll be in a great position to hire >4 programmers – they’re the people who are better than you!
How Long Does it Take? About 3-6 Months for Most People
If you talk to people who have learned a framework like Ruby on Rails they will tell you that it took them a few months. In my experience it can take about 3-6 Months of full-time work to go from 1.5 to 2.5 skill level if you’re determined, pick the right programming language for you, and learn the right way. If you cannot go full time you can do it in 6-12 months while working on a part-time project.
Confused? I’ll be Happy to Help You
Of course I’ve simplified a lot in this post and your situation is probably unique. Feel free to schedule some time with me and I’ll be happy to help you think through it. Just schedule some time with me and I’ll be happy to help you.
About the Photo
- If you’re going to look for exceptions to my arguments you’ll find many of them. Of course some specialists and people who cannot turn on their computers build great companies. Here I’m addressing the other 99% of the world – the people I meet in my startup help calls worldwide who want to start companies building web and mobile app products ↩
- Now you might think that “EVERYONE can write” but I assure you that you’re incorrect. I work with brilliant entrepreneurs who are not native English speakers trying to sell to the US market. I occasionally advise them that their customer development emails look like spam to me. ↩
- I know what this feels like because I wouldn’t know how to hire a great Chinese copyeditor – I just don’t have the skills. ↩