How programming prepares you for entrepreneurship. And why most billionaires are programmers.
First of all, not all programmers would make great entrepreneurs. But the parallels between the skills required in programming or better yet software engineering or development, and entrepreneurship is striking. Primarily, to succeed in business, you need to create a business. The process of building a business and building a product, a software product in our case, is almost similar. The resilience required to complete a project in the field of programming is a skill that most people lack. And in business, follow through is everything. So right off the bat, you realize that being a good programmer makes you a very resilient person. You deal with bugs, prolonged projects, burnout, shifting customer needs, and a variety of other issues, that prepare you to be a brilliant business person.
Anyway, before I go diving into the deep-end, let's start with the basics. How did you learn to walk? Well, you started by crawling, and then standing up and falling, and standing up again and falling flat on your face again, and again, until one day you learned how to balance everything and walk straight. However, in our culture, failure is often punished. You fail once, you feel so terrible, you get shamed, you are told to go get a regular job, and the number of "I told you so" you get to hear are as many the times a recursive function without a base case calls itself before hitting the stack overflow mark. This process of "banning" failure after a certain point in life, has made most people stick to professions they hate, stick in marriages that don't work, and fail to progress in life, because, they are afraid of being labeled as failures. Yet, failure is the only way to success. The only way.
The beauty of programming is that, like entrepreneurship, it encourages failure. Failure is highly encouraged in both programming and entrepreneurship. And the beauty of programming, is that failure is not fatal. Alan Perlis once said, "There are two ways to write error-free programs; only the third one works." Errors are a common trend in programming. Actually, they are a necessity. Similarly, making mistakes in business is inevitable. You screw up so bad, that you cannot even understand, how you would have screwed up that bad in the first place. Software allows us to make mistakes over and over again, with few repercussions. Well, unless you are that new guy at CrowdStrike who had just pushed some code on his first day and almost bankrupted the entire company.
In software, we can build a product, and then make "nearly-fatal" mistakes with few repercussions, if the program has not been deployed yet. However, if the software is already deployed and is actively being used, then errors would actually cost you an arm and a leg. So when creating your own projects, from scratch, and not maintaining legacy code, I think you get the feel of what running a business feels like. Its the only field where we can build an entire codebase, and have it fail, and not endure so many losses. Comparatively, let's imagine you are a structural or civil engineer. How many mistakes can you really make with a bridge you are building? None. So there is no room for innovation. Everything has to be precise for the structure to remain standing. So innovation is completely out of the question. Or let's say you are a cardiac surgeon, how many mistakes can you make with your patient's heart, before killing them or being sued for everything you've got? In software engineering, well, you have the leeway to screw up from the get go, and still have sufficient time to recover. Likewise, you are forced to do the same in business.
I think what am saying is, the fact that the richest people come from silicon valley, is not by accident. The fact that the richest people in the world since the 1990s have been programmers, is also not by accident. Software is the only product that can scale exponentially, and require minimal maintenance costs. You can serve a billion people with only 52 employees, as WhatsApp was doing before it was acquired by Facebook. No other product in the world scales as well as software. So being a programmer, and an entrepreneur, if only you have the emotional tolerance of sticking through the hard business years, is a surefire recipe for financial success.
Another thing, refactoring. You can write an entire program this year, then next year, when your skills have improved, you can rewrite the entire program afresh, making it more effective and seamless. In business, the more you learn, the better you are able to structure your business and repeatedly become successful. The process of refactoring and iterating also helps you learn how to structure your business and position it for success. It also teaches you how to optimize your business, remove unnecessary bottlenecks, and become more efficient.
What about learning. In most professions, once you finish school, you don't necessarily need to pick up a book again. The rest can be learned on the job, through experience. In programming, I don't care how experienced you are, you will routinely find yourself picking up a new language, a new framework, a new software architectural design, a new something... There is always something new to learn. The ability to continuously learn and acquire new skills, is a surefire recipe for success as an entrepreneur. Most entrepreneurs are always reading, learning new skills, taking master classes, to become better in business. With the learning culture you create in your programming phase, shifting into an entrepreneurial mindset is going to be very easy for you.
I guess what am saying is that programming is like a training phase for succeeding in entrepreneurship. The question is, do you want to own your own software company, or are you comfortable working on someone else's ideas forever. If you are the former, you are at an advantage, and are more likely to succeed in business, compared to other professionals. You already possess the skills required to adapt to a demanding, difficult, and tough entrepreneurship environment, and will only need to learn a few skills. Should you choose to take a dive into the world of entrepreneurship, just know that its going to suck at first, for a long time, but then, things will start looking up at some point. Do you have the stomach for that?