For side projects, focus is critical.
For any kind of software project, focus is essential and should be one of the top priorities. But for side projects, it is critical.
The challenge with building a profitable software side project is that you have only a very limited time to work each day. It means that every day you’ll have to pick up where you left off the previous day and then stop after 2-3 hours just as you were starting to get productive. It helps to break your tasks into tiny and focused actionable items. This way, when you start working again the following day, you can start working on a task right away rather than trying to remember where you left off.
With a side project you cannot afford scope creep. You are better off choosing a small set of features and focus relentlessly on releasing them as soon as possible. Since you are most likely to do both the development and marketing by yourself, focus on a small niche and keep your product very simple and effective in solving a single problem. It is easier to market to a small niche - you can learn it better and make your marketing more specific to it’s unique needs.
Most of the side projects get abandoned and unfinished. It gets hard to keep working and sacrifice your evenings and weekends on something that doesn’t generate any revenue and no one uses. When choosing a product to build, make sure you are building something that will be able to generate revenue from day one. It doesn’t have to be a lot of revenue, but set it as your first priority to make at least a few sales as soon as possible. This will make a huge difference to your motivation when you will see that someone actually found what you built useful and is willing to pay for it. If you lose focus and work on too many things at once, you will not see results and most likely get frustrated that the time you sacrifice each day is spent on something that gives you no results.
My advice to any engineer that wants to become an entrepreneur is to start with building a side project first. It will teach you to focus, prioritize, ship working code and do it fast. And as a bonus, you’ll get to transition gradually from your full time job and have some side income for when you take the plunge and go full time.