Should a software engineer start a tech business?

This is a broad question and the possible answers to this question are really going to be different based on several factors. Nonetheless, there are some general considerations that should be reflected on before putting in your work for a software business. This article is mainly for software engineers who are thinking about starting their own software business, and this is largely because so many software engineers look at building a side software business at some point in their careers. Building a new web or phone app (or several other types of software) is in high demand to the point that there seems to always be someone looking to do the “business side” while the software engineer does the “technical side.” Also, please keep in mind that I’m not a business expert nor a financial advisor. The information here is based on my own experiences and may differ greatly from the experiences of others. If you’re looking at making any investments or financially risky decisions, I recommend you talk to your own financial advisor and determine what is best for you

Most requests are online businesses

While browsing through places like flippa.com or forums where people are talking about their phone app or web app ideas, it quickly becomes apparent that most of what people are interested in building are businesses powered by software. So many web apps and phone apps are online stores, blogs, forums, etc. While any one of these can end up being a great business and make a lot of money, the big thing to understand is that these are businesses powered by software, and nothing more. The point here is that a software engineer is going to have no more knowledge on how these businesses are run or the market conditions for these businesses than any non-software business. Software engineers, unless specifically seeking to learn more about business, only understand the technical details around building and maintaining software and typically receive little or no training (in their schooling or in their careers) on the business around any software they may be working on.

Some online businesses or ideas may actually be a software business (where the main item sold by the business is some kind of software). This may include web apps that use software to provide some kind of service (SAAS), or online stores that sell packaged software, or complete applications. Even while the end result is software, this does not make a software engineer qualified to understand the business based solely on the fact that they understand how to build software. That understanding only comes if that same software engineer has taken the time to do the research to come to an understanding of how that market works.

Only invest in what you know

Building a business is investing in that business. Building a business gives you the opportunity (but not the guarantee)  to own a business for cheaper than it is to buy a stabilized business. To understand if a business is worth the investment, you need to understand what it will cost to build your business and get it stabilized (meaning essentially that it is running reliably and generating income). Furthermore, the long-term strategy on the business needs to be considered. Are you going to be a key worker in the business? Are you going to be more of a passive owner that collects some dividend based on the business’s profit? Are you going to sell the business? Based on the answers to those questions, you need to ask some follow-up questions. What is the cost to you, and how does that compare to using that same money in a solid index fund or mutual fund (with a long and strong track record) in the stock market? This comparison is the opportunity cost (the cost of choosing your business endeavor over investing in the stock market as described above) of your investment. If the opportunity cost is the same, it will likely be far less risky to put the money into the stock market.

To understand your business, you need to know what the market is for your product. How many people can you reasonably expect will buy your product? What price should your product be? How much revenue will those sales generate? How much will it cost to run your business to get that revenue? Will it be profitable and is that profit worth the risk? You need to understand the cost of running the business and how you will set up to adapt to changing market conditions. How does the business run and how much does it cost? What efforts will the business need to make in order to stay relevant in the market? What kind of money is set aside for emergencies? You’ll need to determine what is a reasonable estimate for your profit margin and how it will be used. Don’t make the mistake of thinking you have more profit than you actually do by forgetting some of the costs of running the business. Also, don’t be so tight on your estimates that the only way to build a business is based on finding a “unicorn.” Furthermore, if you are going to work as the CEO, CTO or in whatever other capacity once the company is running and stabilized, you need to pay yourself a salary as you would any other worker of the same capacity to actually account for the cost of running the business. Working for free so that the numbers look better does not actually give you a better business, and it leaves you working for free (or for a discount), and if that’s the case, then you’re better off not building a business but just working a second job. While you may not get all the answers until you have built your business and have had it running for a while, these are estimates that should come from serious research, consulting professionals, and quality data from the real world. The idea is that building a business is a risk, and you want to mitigate as much risk as possible by doing your homework.

Software engineers do not have a unique advantage to build a software business

This point may sound counterintuitive, but it is based on sound investment principles. One of the biggest problems is that software engineers who build side businesses believe that since they’re engineers, they can build the software for free. This is an illusion. You may be able to build the software without coming up with money to hire an engineer, but you’re still paying your time. To really drive the point, what I mean is that if you’re deciding to put in however many extra hours a week on your side business, you could be instead working a side project as a freelancer (or, depending on your employer, getting paid to work more hours at your job). The money that you can make by working those extra hours writing code for others is the actual cost of building the software for your side business. In short, you’re paying the same exact money you would be as if you had to hire an engineer of your skill level to build your application. It’s just that you don’t have to come up with money to hire someone since you can do it yourself. This doesn’t really make it any less expensive — you’re just paying for it yourself by putting in the time rather than saving up the cash (or raising money) to pay someone else.

Some engineers may have entire templates or tools (or some other mechanisms) built that allow them to quickly build a certain type of application (faster than most others around), and it may be tempting for those engineers to figure that since they take half (for example) the time to build the application, then they can do it for half the cost. This still is not accurate because that same engineer could freelance and build software using those same templates for their clients to make as much money as another engineer who takes twice as long. The difference is that the engineer that does it in half the time can get twice the amount of work done in the same amount of time, and therefore get more clients and make twice as much money. Long story short, the time saved because the engineer has some kind of template or tool (or anything else that makes them work faster) is not going to save money since that engineer can make the same amount of money as another engineer that takes more time to build the same application. If you’re that kind of engineer, it really just means that your cost per hour is more expensive because you get more done in that hour than the other guys. The cost of building your business needs to always account for the cost of engineering. Just because you’re building it yourself doesn’t mean that you save that money. It means that you’re putting in the money from your work.

Because we’ve established that you don’t save any money by building the software for your business yourself, we then need to understand how much you’re actually putting into the business. Take the time to break down exactly what needs to be built, then come up with an estimate on the cost of that software. My favorite way is to take how much I get paid an hour (based on hourly rate for freelance engineers with my experience level), then estimate how much time it will take to build my application, then add 25% to that time for unforeseen situations. Take the time to really consider this money. Imagine it as cash in your bank account or sitting on your kitchen table. Are you serious enough about your business idea that you would commit this cash to this endeavor? Do the profit estimates from the business research you should have done justify the risk? How sure are your estimates? Does it make more sense to work a side project and just put that cash into the stock market (or paying down debt, or saving up for a house, or whatever else based on you or your family’s needs)? Just because you’re an engineer, you don’t get out of the cost of building software for the business you’re starting; it is just hidden in the fact that you’re working and paying it immediately into your business venture.

Partnering on a software business

The world seems to have plenty of people with business ideas, and this is definitely true for software. When people find out I’m a software engineer, so many people talk about whatever app, website, or piece of software they need built for their web app, phone app (or any other software) business idea. Most of them are always happy to “give” me 50% of the “business” for writing the software. So many times, software engineers will jump on the opportunity and work for no pay with the hope that they’ll start a business. Without a detailed business plan and a well-defined MVP (minimum viable product), it’s easy to jump in and start building something only to be told that a significant portion needs to be changed because something wasn’t understood or something changed. Then oftentimes, the engineer or the partner will walk away because it was not a viable business plan to begin with or because building the business seems to be in an endless loop of making code changes then finding something new that needs to be added or changed, then changing it without ever getting any sort of income.

A lot of this issue that comes up with partners is going to be mitigated by taking the time to research the market and actually understand the business. If you don’t thoroughly understand the business and have the money (in this case, money may mean what you would earn had you decided to work on the side for pay) to put into it, then you shouldn’t be investing. Without taking the time to do your homework, you’re risking way too much, and you’ll likely lose in those scenarios. A good business partner will have done their homework and give you a chance to do the homework as well. A good business partner will have thoroughly defined the product that needs to be built, the market risks, and have a well-defined exit strategy based on failing fast (meaning you don’t want to spend forever on a failing endeavor — find out early on if the business is not viable to lower the cost being put into it). A good business partner will have a strong network (or build a strong network) of professionals that are needed outside of just the software component of the business. A good business partner will hold you accountable and will be held accountable for what they’re doing on building the business.

When partnering, you’ll need to understand how you’ll want to split the percentages. If it’s 50/50, then you’ll want your partner to pay 50% of the development costs (and if you’re doing the development, then that means you’re essentially getting paid at half your rate to develop, but you still maintain 50/50 partnership). That also means you take on 50% of all the other costs not related to development. While there may be many out there who have partnered 50/50 (or some other percentage) in exchange to build the software without any payment and have had success, the reason why I say that the development cost needs to be partially paid by the partner is that it ensures that your partner is actually serious enough about the business to put in the money to get it built, and it helps ensure that you and your partner are carefully considering what is being built so that you get to market faster. When your partner is not paying into the development costs, you are the one taking on the risk of building the business, and the partner has a lot less incentive to make sure that your time spent on development is properly directed and limited to only what needs to be built to make the business viable. The point is that in investing, everyone has ideas on what works, but these ideas and talk mean nothing when that person is unwilling to put some skin in the game.

More often than not, if someone proposes a software business idea to me, I typically will offer to work for them without any equity ownership but for the full amount I charge. This eliminates the people who are not serious and are just basically looking for free work. (I’m not saying that these guys are all bad or dishonest or anything, but when actually money is involved in a deal, it shows that it is serious — if there is no money, then I don’t believe the person who has the idea has taken the time to build up the plan and is not serious). I don’t invest unless I really understand the business and love the idea. However, if I do decide to partner, the partner needs to pay for 50% of the development cost. The only negotiation is if that partner takes on more or less ownership. If they want to own 70% of the company, then they pay 70% of the development costs. If they want to own 30% of the company, then they pay 30% of the development costs. Regardless of ownership percentage, I still have the responsibility to have done the homework to determine if the work is worth the effort. As I mentioned, I believe you’re often better off just hiring yourself out for no ownership.

The bottom line

At the end of the day, only you can determine whether or not building a new web app, piece of software or other type of business is for you. I just wanted to share some of my experiences as a software engineer in working on side businesses for others and what I wish I would have done in those early days. I believe all software engineers should have a natural curiosity and build small applications and tools on the side as well as get involved in the open-source community. I also really think that the best business that a software engineer can create is really based on themself. What I mean is that if you want to build a software business, your best bet, in my opinion, is to become a freelancer or software consultant and pick up clients where you get paid either to help build software for them or to give your advice based on your knowledge and experience. You may not get rich (and I don’t think you should ever start a business to get rich), but it will give you more autonomy, a second source of income to supplement your day job (or possibly replace your day job), and gives you the opportunity to scale. Otherwise, if you either come up with an idea (or a potential partner brings an idea to you) that you have actually done your business homework on and are ready, able, and willing to make the necessary financial commitment to, then go for it. Just make sure you do your homework.

2 Comments

  1. Great goods from you, man. I’ve understand your stuff previous to and you are just extremely wonderful.
    I really like what you have acquired here, really like
    what you’re stating and the way in which you say it. You make it enjoyable and you still take care of
    to keep it smart. I cant wait to read far more from you.
    This is really a wonderful web site.

Leave a Reply

Your email address will not be published. Required fields are marked *