Lots of entrepreneurial folks have great ideas for mobile or web applications, but not necessarily the technical skills to build them. I often hear the question "should I learn to code?" voiced as an alternative to seeking a technical co-founder for such a venture. I will answer this question definitively.
Yes. You should learn to code. You should also learn to speak French. But you must recognize that learning to code comes as close to making you an application developer as learning French comes to making you a diplomat.
If you attend one of those "learn to code" bootcamps, you are very likely to learn in a paradigm that looks like the first diagram above. But it’s the second diagram that more accurately depicts the technology stack of a modern, real-world web application. Substitute browser with handset, and you have a pretty realistic picture of a non-trivial mobile app.
Many people who write code, know the coding part very well. But they don’t necessarily understand all the surrounding technologies necessary to launch a business around a web application, with great performance and high reliability. To pull it off, you need to understand CDNs and cache protocols, load balancers and deployment patterns, DNS and SSL, data replication and eventual consistency, distributed job queues and web APIs. In short, it’s complicated, and unless you have a broad range of technical experience, you’re bound to paint yourself into a corner, or worse, find yourself on the phone with angry customers while trying to nurse an ailing server back to health. Not a good time.
As an entrepreneur, learning to code will help you to understand that code is not magic, just a way of writing down instructions for the computer to follow. It will give you a grounding to help you understand when your development team is blowing smoke, and when they are genuinely facing technical roadblocks. But if you want to build a successful business and reduce those painful technical headaches, you need to find a solid technical partner with real-world experience operating modern web applications. Coding is just one small part of that.