One common question I get asked is: “Should I learn to code if I want to be a tech entrepreneur?”
Having been a software engineer who has built and scale products from nothing, I’ve found it immensely useful to know how to code as I transitioned to being a tech entrepreneur myself for the following reasons:
First, it helps me to vet talent. Having conducted 100+ interviews of technical talent from interns to CTOs, I am capable of conducting a phone screen, and technical interview to gauge people’s level accurately.
Second, I can call BS on complicated solutions, and identify when people are wasting time.
Third, while I can call BS, I can also empathize when things take longer or it’s hard to find a solution.
Fourth, people find it helpful that they don’t need to explain why doing something is valuable like taking the time to test the an application, paying down tech debt, or setting up an onboarding process for additional hires.
Fifth, funnily enough there is a level of respect I get once people know that I am capable of building.
Is it ever too late to learn how to code?
If you didn’t make the choice to go to a 4-year college and major in engineering, it’s not too late! And with the growing number of coding bootcamps and online courses, you can develop a working proficiency within 3–6 months.
Note that it doesn’t mean you’ll instantly be hired by the likes of Google or Facebook, but you can start to put together a working prototype. One of my previous students did just that!
If you’re thinking about learning how to code, here are some other things you need to think about before you make a decision:
What is the tradeoff for learning to code?
It can take you anywhere from 3 months and few hundred dollars to $25,000+ to learn to code.
Once that’s done you can start to build your prototype, but could you have instead invested those three months into finding someone to build it for you? And are there other skills you could be honing like in sales and marketing?
After all, the competition in SaaS products is rising, and the real challenge going forward is attracting and retaining customers to build a sustainable business or a unicorn, should you choose to.
Hence, tech entrepreneurs are being put to the test when it comes to customer acquisition more so than the complexity of building a product.
Learning to code isn’t enough.
Building a prototype is a necessary but insufficient condition. In the early days of your startup, you also need to understand how to manage a product, which includes:
- understanding customer needs and being able to translate them into product features and benefits
- being able to make business decisions for building one feature versus another
- setting up metrics and analytics to measuring the usage of features
- being able to communicate priorities to other teammates
- managing the needs of other people on your team such as designers and engineers
- putting a process in place and having it evolve as your team and your product scale up and down
If your goal is to become a tech entrepreneur, then you will be the first product manager, because you are the one with the domain expertise. You understand the customer, the market, the competition, and what needs to get built and why. While some software engineers are capable of managing product, it’s a lot to ask, and many prefer to stay focused and build.
Even if you hire someone to be a product manager, you need to be able to communicate the business reasons behind why someone should or shouldn’t be built, until they can develop an understanding of the problem space for themselves and an intuition around making decisions.
What you maybe looking for is literacy.
Having a high-level understanding of how code works, how systems like servers, databases, and mobile devices interact, jargon like APIs, new technology frameworks and architecture like Docker, and the process behind creating a product is a worthwhile goal to have.
Your depth of understanding depends on the type of product you are building.
If your goal is to build infrastructure products like Twilio, then you better having working knowledge, and team up with a CTO who knows the ins and outs of the technology!
But if your goal is to develop a more business or consumer oriented product, then having a high level understanding is fine.
Of course, as an outsider, it’s hard to gauge the technical depth of a product. So at the end of the day, it would be prudent to enlist a technical advisor early on to help you talk through some of these issues as they arise.
If you have never built a software product before, then I highly recommend taking the time to attend hackathons, working on a side project to learn the process, or even better joining someone else’s startup. Even as a software engineer, I found it immensely helpful to be on the ground floor of a startup.
Sure you can read books like Sprint, Lean Startup, Mental Models, and of course, my personal favorite How To Transform Your Ideas Into Software Products 😉 But nothing beats hands on learning!
Taking 1–2 years or more can be a valuable experience, and if you’re still not convinced, check out this series I put together on Why You Should Consider Being An Early Stage Startup Employee.