Being able to code is pretty cool. It really does feel like a superpower to be able to create something from next to nothing. While it is a great idea for everyone to learn to code, I think it is not just a good idea, but essential for entrepreneurs with a business background who want to start something in the tech space, to learn to code.
For ease of writing I'm going to refer to these people (business guys with no technology education or know-how) as "business types". In contrast, techies or "tech types" are tech-entrepreneurs and programmers in general. There are two important scenarios I want to highlight, where the lack of technology education on the business types' part can lead to serious friction.
First off, we have the business type who sees the tech world ablaze with success and wants in. They 'ideate' (I'm not a big fan of this word if you can't tell) constantly until they stumble upon their big idea. What do they do next? They find someone who can build this for them. If they can afford to hire a programmer and pay a decent price to get the product out that's fine. But often, their goal is to bring the techie on as a co-founder. This is a very common story and one that isn't well received.
This is a completely acceptable response. A lot of business types think "Oh I'll just ask someone to build the product for me. I'll give them equity and they'll be so happy to be a part of this." Building the product is more than half the work in the early stages and you're pretty much asking a random person to do all this work for you for nothing. Time, especially a programmer's time, is a lot of money. Sure there is equity involved, but that's a great incentive for founders and co-founders who start things together and are passionate enough about the project to forgo current earnings for the promise of startup glory.
Instead, learn to code. If you are a business type not currently engaged in a startup, but want to, then immediately learn to code. There are plenty of resources out there, I am obviously going to promote Treehouse.
By learning how to program, even if it is at a very basic level, you are doing a few things:
- You're giving yourself, depending on how much you learn, the ability to start building out this idea of yours immediately. You can start working on a very basic iteration and see how it works.
- You realize the scope of the project. By understanding what it takes to build a web app, or an iOS or Android app, you will realize how long it will take to build something like this, what sort of work is involved, and what are the technological limitations. Is your idea realistic?
- You appreciate the techie's role in all this and by putting in some of the effort, hopefully, you'll start to earn some respect too. If you work on the project as far as your knowledge takes you, and then try to bring someone else on board, that's completely different than asking them to do all the work.
The second scenario is when a business type is already involved in a tech company (or any company for that matter), but still doesn't have much knowledge of what building a tech product means. The underlying problems are the same; they don't understand the scope of the problem, the limitations, the timelines, and so on. This problem is more common within IT departments of non-tech companies. Marketing hands down something last minute and wants it done in a few days. "Can't you just build it?"
If any of these business types learned how to code, even at the most basic level, it would eliminate all sorts of problems. You end up with better team communication, more respect for one another's roles, and more realistic deadlines for product teams.
So while it's a great idea for the entire world to be programming literate, I think that anyone in business who lies on the fringes of tech, whether they want to start a tech company, or whether they are work with techies at their day job, should be required to have some basic programming education.
For the record, I consider myself a business type and I am learning how to code.