I have been in the Canadian software business for over 40 years. Yes, I wrote Cobol and Fortran (some of the oldest programming languages) – but Assembler was before even my time.
During that period, especially in the last 10 years when I have been incubating and selling companies, I have always been struck by the difference between good software and bad software.
I don’t mean successful and unsuccessful companies – just good or bad software. We all know that the best software doesn’t mean the best company. We can look back at the early days of Microsoft with crashes happening daily or more frequently. People everywhere were struggling with that infamous Blue Screen of Death. At times, it felt like Ctrl+Alt+Del was my favorite set of keys. Despite these frequent errors, it is impossible to deny that Microsoft has had some incredible success.
With that in mind, I have tried to find some ‘thing’ or attribute that can help me know if I was finding good quality software or something sub-par. While it’s been hard to find one thing that really tells me if the software is going to be the best, I have found that a lot of software I have seen out of Canada has been of good quality. However, even if the software is great, the companies themselves haven’t always had the greatest success. But why wouldn’t great software earn these companies the success that they deserve? And what makes their software better than what we’re seeing coming out of other countries around the world?
As residents of a large northern country with a small population, Canadians have always had to be efficient. We are always looking for the best way to get things done using the fewest resources – this lifestyle is just a part of our DNA. Companies that are creating software take this attitude into every part of the company from coders to the QA team; it is always about the most efficient path in the coding and for the users that will end up using it.
To compare the Canadian attitude with another part of the world, I recently had a series of management reports built by some Chinese developers. When I got the reports back, the results didn’t make sense. When I challenged the developers, they clearly had no idea how these reports were going to be used. ROI? P&L? Profit Margins? These terms weren’t in their lexicon. But the developers had been extremely quick and extremely cheap.
A Canadian team tasked with this same task might have taken longer, but their report would have been more thorough and detailed as they are more familiar with the business part as well as having extensive knowledge the software part.
Canadians are known to be self-deprecating, modest and even apologetic. In the software business, these qualities tend to show up in terms of solid releases with few bugs and understated value. I often deal with non-Canadian companies who try to over-sell – and over-price – the product.
In the grand scheme of things, the Canadians might have it wrong. Like it or not, this world is about creating value and that means increasing the perceived value and charging premium prices.
This attitude results in companies to generate better profit margins that feedback into marketing and allow for the creation of more features. While some features are often released too soon, companies continue down this cycle of promoting, marketing and charging premium prices.
This cycle doesn’t appear as often in Canada, which is one of the reasons that while there are roughly 33,000 software companies in Canada, only a few of them have over 500 people. The slimmer profit margins in ‘modest’ companies mean that there’s not a lot of cash for growth. Great software is not enough to replace great marketing.
Decades ago, the Canadian Federal Government created an incentive program we lovingly call SR&ED’s(formally known as Scientific Research and Experimental Development Tax Incentives). These refundable tax credits (almost $2B in 2017) are awarded to R&D teams that create ‘inventions.’ In the software world, that means creating ‘new things.’ This incentive has resulted in many cool new things being added to the code base of Canadian software companies – even if there is no commercial demand for them.
The SR&ED benefits to companies are so significant that many companies would starve without them. Even small companies are able to get up to $1M a year. But these credits can only be earned by the R&D team. The result is that – after SR&ED – software engineers, whose salary might be $100k, only cost the company maybe $40k or $50k (in already discounted Canadian dollars). From a CEO’s point of view, the choice is hiring a salesperson at $150k or maybe three more software developers for the same price. These incentives could good for the software but bad for the business itself.
This choice can cause some interesting discussions. When I represent Canadian software companies to foreign buyers they often believe that the software isn’t “ready yet” because there are more people in the R&D department than Sales and Marketing. Most successful software companies have the opposite ratio.
When it comes to looking for quality software companies, Canadians are sometimes overlooked because of the revenue generated. However, because of the way that the companies operate and the way that software is built in R&D departments, these companies often have some great software solutions. Corp Dev buyers should be looking at Canadian companies for hidden software gems. And those Canadian software companies that have been on the fence about seeking buyers should be comforted in knowing that the value of their innovation won’t be missed if they go through an ideal M&A process.