We, as in the global tech industry, appear to be coming close to a recession, and possibly for the (financial) bubble that has shielded us from most of the consideration of the past few years. I do not have experience with riding through a recession (because I mostly rode the 2008 dealing with my own personal problems), so for those looking for experience in that particular topic, I’m going to link to Jamie’s post. The last few weeks have also shown us that a lot of full time positions that people have taken for granted are not as granted as they appear (full disclosure, my employer did indeed issue layoffs — I luckily kept my position.)
This situation means that the calculations I discussed last year might no longer apply in the same way. In particular, I imagine – and actually heard from a few acquaintances – that there are people coming from Big Tech looking to move to “small tech”, in the form of sustainable businesses that do not expect to compete with the giants and the hyperscalers. Given that the venture capital money stream also appears to start getting dry, this is probably a good niche to get in right now, and the low-risk/low-reward steady businesses are more likely to suit the preference of those who have been “spooked” by these ripples.
I’m sure that if you start looking for it, you’ll find a lot more advice from people who have been significantly more successful than me in building businesses. On the other hand, I have some experience with the challenges of smaller scale development, plus the self-selection of those who have been successful tends to bring some level of survivor bias, which is why I’m going to at least share my experiences and impressions, with the huge grain of salt of pointing out that my experiences are a bit out of date (I have not spent any time in designing software outside the bubble for nearly ten years now!) and possibly specific to the market that is North-Eastern Italy.
I also want to point out that while I’m talking about a “software” business in the sense that it involves the development of software, but I’m not suggesting this is only focused on software engineers or programmers — as I wrote before, the success is in the team. For a successful product, you’ll likely need a mix of software engineers, product managers, operations focused people, and business folks. Yes, you can find a few products that started with a successful one-person show, but these are rare, far in between, and come down to luck as much as everything else.
So what would I recommend someone looking to build a low-risk/low-reward business centred around software development? There are obviously a ton of different options, from working as a hired programmer, to being a consultant. But if I was going to go back into that field, I would probably invest time on building software that solves real needs for small businesses in my local area. While service subscriptions (and other SaaS offerings) have likely covered a lot of ground in the past ten years there’s usually a specificity on what businesses needs, particularly outside of the USA market — sometimes sadly, as I have written when talking about the sorry state of the European Market.
To give an example, FreshBooks was in my opinion a great invoicing CRM service — but it became totally useless to me in Italy when my tax registration required to set up withholding, as the Italian bureaucratic rules wouldn’t match to their features, as they would be a very tiny market for them to chase, and not worth it. This usually carries over for most accounting and tax preparation software, as it is all very jurisdiction-bound, but it’s extending further now with any PII management, thanks to GDPR.
Back when I had my own company, I developed multiple custom solutions for local (and not so local) businesses. The one I blogged about before is the Pizzeria CRM (to which I owe a revisit to add more of my present knowledge, particularly about data treatment), but there have been a number of other projects I worked on that, while solving one particular customer’s needs, could have been made generic to work more than them — except that since I was working on them as hired work for one particular party, I was not allowed to.
But as a “roaming sysadmin” (or, put in a more marketing-friendly term, Managed Services Provider), I had an “in” to a number of small businesses to be able to tell what their day-to-day looked like. I not only had an idea of what software these businesses already had been using, but could also guess what software they would wish they had, or which they wished to be significantly better. As a further example, one of my customers was a private security firm that used a bunch of separate software suites to handle the day-to-day routines: tracking the time they visited their customers’ premises, quickly signal the main office if something was amiss, and operate a number of “videowalls” for remote monitoring via cameras. One of those programs was extremely finnicky to get working on computers of the tie, was it was written over ten year prior, well before Windows XP was a thing, and relied on OS components that were no longer kept up to date. I spoke with the author of that software when I had to re-install it (after the previous sysadmin screwed up the antivirus setup), and he had not been maintaining the program for many years, and had no further interest in it — If I hadn’t left the freelancing world and moved to Dublin, I was considering reaching out again and offer to take over, maybe releasing it opensource, knowing that hardware and support would have been more profitable.
The main reason why so many small businesses don’t have ton of software supporting their operations is that the cost associated with building a custom solution far exceed that of hiring an otherwise mediocre generic software. One of my worst customer stories was with a customer that was brought to me by a friend of a friend — the customer wanted a very customized CRM solution, and I offered them different prices depending on whether they would have preferred paying a fixed upfront cost (and run the service themselves), or preferred for me to host it for a yearly fee, as well as price variations for full source access and exclusivity. Despite agreeing in writing to a payment plan, they ended up missing every single payment deadline, the last one by more than four months, at which point I found myself forced to terminate the contract. One of the (many) arguments that we had to have was their expectation that ordering a customized piece of software would be akin to going in a store and buy a bike, whereas from my point of view it was akin to going into a tailor and request a suit made to measure.
That is the main reason why I’d rather not go back to a software consulting business myself, and would rather focus on finding a niche for multiple businesses, and that can be profitable with a mix of features, upgrades, and provided services. Local businesses, with specific local needs (whatever they are) are unlikely to pool their resources to build this — it wouldn’t fit in their business model in the first place, and they wouldn’t generally have the expertise to handle this. But if you can find enough of them and show them what you can build for them, you may be able to strike gold. It’s not a zero-risk situation, obviously, but I can think of a few cases where – had I had enough of a cushion to dedicate myself for a couple of months to one specific project, rather than spreading myself thin to pay the bills – I could have easily built solutions that would have fit a couple of dozen businesses I as aware of.
The question becomes, how do you find these businesses, if you’re not an MSP with the visibility on what various companies are up to? And I honestly don’t have an answer because I never attempted that. But I have a couple of suggestions on where to start, from personal experience. The first is to figure out if you have more than a couple of friends working in the same general trade but not for the same company — if so they are likely to have similar complaints about where their pain points are, and by experience most of small businesses have no restrain in discussing these things openly. The second is to find an MSP and ask — similarly to the above, it is unlikely that smaller businesses would be too secretive with their pain.
Once you get an idea of what you want to build, you’ll need a lot more details to get it to a point where people are willing to pay money for it! Despite not having managed to put this in practice, here is what I would do now with the current experience: I would reach out to one or two of the prospective customers and offer them into the game for providing some time being interviewed. This again requires more legal structure than Italy is generally expecting, but after having seen all kind of shenanigans I would definitely recommend anyone who can to set up an LLC and write things down very clearly, particularly when having partners.
Basically, what I’m arguing for here is to consider it a startup, and possibly take most of the lessons from startups you can find out there, while not expecting to grow your valuation to millions of dollars, and not expecting an exit by being bought out by a much bigger competitor. I might be totally wrong of course, since I have not tried doing this myself — but I have been in proximity with this field now long enough to have seen a few of these companies actually thriving, so hopefully I’m not too far off.