As an entrepreneur pursuing a software product idea or a software-enabled service business, how do you get from a blank sheet of paper to a company with customers and momentum? This biweekly column focuses on ideas that can help you on your path.
“If I could only code.”
Founders make this plea silently at a variety of times: when pitching investors, when trying to get their initial idea off the ground, when trying to find a technical co-founder. But in spite of feeling that knowing how to code would guarantee their success, many never get started.
To some extent, that’s okay. If your goal is to lead a venture, it’s likely that, at some point, you’ll need to spend more time on leading employees and engaging customers than on coding and testing.
A successful founder has to focus on making the company successful, and what that means in terms of daily work will change. Coding is like most disciplines involved in your business: You need to sort out your relationship with it, and gauge what you can and need to know.
To Code or Not to Code
Does that mean you shouldn’t try? No. Founders should try to learn to code, because it helps you understand what you’re building. It’s also important to know what you’re selling and what your employees or contractors are working on.
Besides, it’s dead simple and practically free to start learning immediately:
- Online video courseware
- Classes like “Programming for Absolute Beginners” courses run by Mark Lassoff and his team at LearntoProgram.TV
Whether your product is a web application, iOS app, or based on a different family of technologies, you can find free and paid courseware in minutes. If you’re truly motivated, you can dedicate time each day to learning; think of it as going to the coding gym.
Another option that helps development teams a lot, and can help you figure out what you need to learn, is to use a rapid prototyping tool to think through what your user interface would look like. You can use tools like Balsamiq and Invision to work through your ideas iteratively; once you know what you need to build, you can focus on learning what you need to know to build what you’ve prototyped.
Learning guided by prototypes has the added benefit of preparing you to communicate your ideas to a developer or contractor—if you end up needing to work with one—and giving you the background in the technology tools you need to be an informed customer.
Learning more about how programming languages, databases, etc., are used to create functionality for users will help you in a myriad of ways as you develop the product you envision—even if you never write a line of code. But you might find your abilities accelerating fast enough to actually act as your own technical co-founder. You never know.
Measure Twice, Cut Once
But that raises another point. Software product development isn’t just about coding, because it isn’t just about coding something. It’s about creating something that people want to use and pay to sustain.
That means that effective software products are a combination of a deep understanding of user needs, a clear conversation about feature priorities, sound management of the development process, attention to testing, an understanding of architectural choices, and more.
Design, user experience…and the list goes on. The more you succeed as an entrepreneur, the more your role will be to bring focus on how these pieces of the solution fit together, and how the team that is creating the product works together.
Connect the Dots
So what do software entrepreneurs need to be good at? The Agile Framework identifies the role of Product Owner, and it fits nicely with the Lean idea of the role and activities of the entrepreneur. Being a Product Owner for a software development team will be the focus of the next “Blank Sheet of Paper” column.
So learn to code—but put the practice in perspective. Make sure you play the role you have to play to make your company succeed.