Side Hustle Fails
Lots of developers think about having side projects. Whether it’s for the extra money, the opportunity to learn new things that you can’t learn at work, or simply to hedge your bets in an uncertain job market, a side project can often sound very appealing. However, if you make something on the side, you don’t want to waste time and money on a side project. You should understand from the beginning that if you are wasting time or money, you are also wasting money or time along with it. This concept underpins everything else in this discussion and is critical to understand before you attempt ANY side project.
The failure modes for side projects are all oriented around this same concept. A bad project ultimately misuses time, money, or both, or puts you into a position to that does the same. In effect then, most of the ways that fail could simply be reduced to this. However, it’s never quite so simple, because the waste of time and money is often difficult to discover. Additionally, people become emotionally attached to side projects, and it’s easy to stay with something that doesn’t work for far longer than is reasonable. Finally, being focused on a bad side project can mean that you don’t even notice the opportunity that a better side project might present.
Now, you may be asking yourself, “what’s the point of this if I’m not planning on starting a business?”. The answer is simple – you’ll see these antipatterns EVERYWHERE once you understand them, including in established businesses that are hiring you to work on new projects. Even if you aren’t in a management position, these antipatterns will tend to show up and bite you anyway. You are far better off knowing how to mitigate or avoid these things if you can. At the very least, it gives you time to prepare for layoffs.
Profitable coding side projects where you build an application, service, or plugin are great things for developers to try. However, you can’t just jump into it without sufficient preparation. Given personal experience, you may find that most of the work involved in building an app that you can make money from isn’t the code. Rather it’s all the stuff that you happily get to ignore during you day job. However, if you don’t pay attention before you start something, you can waste years of your life, strain friendships, burn yourself out, and lose tons of money.
You don’t have a way to make enough money on it to keep it running.
If you don’t have a way to make enough money on a coding side project to make it worth your time and keep it running, then it’s a hobby. This can be the case even if you think you can make *some* money from the project. Note that this objection doesn’t mean that you don’t do the project, but it does mean that you shouldn’t expect the project to pay for your time. If it’s still worth doing under those considerations, do it.
The project requires marketing to two (or more) sides of a marketplace
Second to not having a market at all, a project that requires that you market well to two or more markets in order to be successful is probably not a good software side project. Not only does this make the project exponentially more difficult to market, but it makes it at least that much more difficult to write code as well. Remember, you want to keep your minimum viable project size as small as possible so that you can quickly show it to potential users.
The two (or more) sided market is part of the reason you don’t want to build your own marketplace or social network. These types of projects rely on network effects to be valuable and are difficult to get going on your own with minimal investment. If such a project is viable for anyone, it’s probably going to require a lot of money, which typically means investors.
There are no similar projects in any industry
While you may be extremely creative, it’s unlikely that you’ve come up with a totally new idea that no one has ever implemented. If you do, this tends to indicate that you either haven’t done enough research, that you have an idea that isn’t viable, or that you are using bleeding edge technology in a way that might not work too well.
It’s easy to think that you are creative enough to think of something that no one else on the planet has considered. However, it’s more likely that you have thought of something that no one is doing because it’s a bad idea. More likely though, you simply haven’t researched enough, provided that you are solving an actual problem for real people. This means you need to look more thoroughly, as there may be a real market there that you don’t know enough about.
You are selling vitamins instead of aspirin
While you can write software that solves boutique problems for people, you are more likely to do well writing software that handles a pain point that people will pay to fix. This works even better if you solve an expensive problem for a business, rather than a less expensive problem for an individual.
While there are people that do things like write games and other things for regular consumers, it’s much harder to make a living doing this, both because there is less reason for someone to buy the product and because they are less willing to spend much money.
The project is dependent on recently released, possibly unstable technology
While your resume as a developer may be dependent on using bleeding edge technology to stay ahead of everyone else, you really shouldn’t do this for a business without very extensive and careful consideration. New tech is often buggy, less likely to scale well initially, and often gets drastically changed during early iterations.
You don’t want to have to do a major code refactoring early in a product lifecycle – this wastes time and does not add value. When using brand new technology, it’s very easy to get stuck. It’s also a lot harder to find help.
The typical users of the product are a group of people you don’t like or don’t understand well.
While you may have a great idea for a product that could make money, you probably shouldn’t do it if you dislike the people who would use the product. For instance, if you are strongly opposed to factory farming, you probably shouldn’t try to build a product for beef cattle farmers. Having a major moral objection to your client’s business is going to make it harder to get into the mind of the person you are trying to help. You might also find that major cultural differences between yourself and your potential clients. Even if you like these people, it can make communication difficult if you don’t understand where they are coming from.
The project will be extremely expensive to get started
You will spend at least some money if you try to launch a software product. That’s just the way it is. If you have to spend a ton of money just to get started, you are probably better off trying something else.
The amount that is “too much” varies from person to person and depends a lot on how much you are making, how much you have in savings, and how secure your current income stream is. Regardless, you probably shouldn’t spend more than two or three months take-home on a new software project. Realistically, you should start out much more cheaply.
It’s not just that the extra expense is risking a lot of money; it’s that it will be much harder to walk away from a bad project if you chose something where you have already dumped a bunch of cash. The other thing about expensive projects is that they tend to be too ambitious for someone who is just starting out. You’re going to learn a lot as you try to build up a side project – it’s far better to do so with less risk and less money tied up. If you have anyone else in your life, a large upfront expense can also mean that a failure causes problems for them as well.
You have no idea how to market it and expect it to “just work out” once you get the code done.
If you are thinking that the first thing you should do is “start coding”, then you probably haven’t done enough research to know WHAT to actually code yet. While you may be trying to write a product that solves a problem for yourself, a little bit of research first can save you from implementing something that doesn’t make sense to a lot of your potential users.
Don’t try to build something and then market it. You’re not smart enough (and neither are we). Rather, hedge against uncertainty by making sure that you set up appropriate feedback loops before you do anything. The other thing to avoid here is the tendency to gold plate something you are working on. Doing market research first will help focus you on things that actually get you somewhere.
Tricks of the Trade
Side Hustles definitely can have their issues, especially when you are starting something new or when you are in a field new to you. When you are doing something new that you are interested in you may want to start it out as a hobby. That way you invest a little time and energy without expecting results. If it takes off then it can grow into something more than a hobby. Also when you are expected to know what you are doing you’ll have the experience from when it was a hobby to guide you. This podcast started as a hobby for the two of us. It’s since become a side hustle and has opened many opportunities.