One of the toughest decisions that an entrepreneur needs to make as his or her company starts to expand and gain some serious traction is whether to a) focus on growing the business the smart and somewhat conservative way for the long run, which sometimes means saying no to important customers, large new contracts, and other exciting opportunities; or b) say yes to virtually all comers, expand the team and the business as fast as humanly possible, and pray every night that things don’t completely fall apart while everyone’s running full speed ahead and trying to cover all the bases and put out all the fires. You might call that fast-growth strategy the latest version of the “fake it ’til you make it” philosophy.
I’m sure that arguing about what’s best for the firm is a common conversation in every enterprise, but it’s especially challenging when you’re building a software company’s capacity, which is considerably different from adding a new line to a manufacturing business or more delivery trucks. As a general proposition, throwing more software engineers at a given project is as likely to slow things down and screw them up as it is to speed things to a prompt and successful plateau and a minute’s respite before the battle begins anew. This is only one of the main reasons that software-as-a-service (SaaS) businesses are as complex and risky for the prospective customers as they are for the companies themselves. Because no one’s ever 100 percent sure that they’re in control while they’re changing the tires as the car races around the track.
Even more important, in many tech firms, the most senior leaders, including the CEO, very often are not tech savvy enough to make effective counter arguments when their CTOs and others lecture them on the perils of going too fast or too slow, or the risks inherent in trying to simultaneously meet too many conflicting and competing demands, with limited available res. The internal tensions between the senior management and salespeople on the one hand (speed and sales) and the engineers and computer scientists on the other (safety and stability) are a constant of friction in almost every startup and early-stage growth company. Even the legendary tycoon Howard Hughes worried about these same issues more than half a century ago. He said: “One of our anxieties is de-focusing the relatively small number of engineers we have. Within our own core development, I am reluctant to fund projects that are way afield of where we are.”
This debate couldn’t be any more front and center than it is today with Elon Musk’s promising that Tesla’s cars will achieve degrees of autonomy (Level 5, as in total) by year’s end that virtually no one else in the world thinks are remotely possible, including no doubt a ton of Tesla team members who probably need to keep their mouths shut to keep their jobs. As studio boss Samuel Goldwyn used to say: “I want everybody to tell me the truth, even if it costs them their job.”
The SaaS conversation is usually a pretty straightforward if somewhat strident discussion. The more mature and experienced techies are focused on building a rock-solid code core that keeps growing and getting more efficient over time because ultimately this will be the entire firm’s foundation and the engine on which all of its offerings will rely. They know that the more standardized and universal the core can be, the easier it will be to maintain and to deliver a common set of products and services to an ever-expanding population of customers. In fact, I wrote a long time ago that the best test of a software firm’s maturity is whether the CEO can stop selling custom and bespoke solutions to new customers. Getting to this point takes time and money, but these aren’t the most patient of times for many reasons.
Likewise, the sales team and the managers responsible for the firm’s top line growth are constantly being presented with lucrative and attractive opportunities to sign new and large customers for the firm’s software, but — almost without fail — every one of these big guys has a list a mile long of features, functions, customizations, and other requirements they just can’t live without, and that need to be immediately incorporated into the solution. Also, amazingly enough, they’re even willing to pay for it. Seems like a win-win for sure — great customer, great dollars, and amazing bragging rights. Unfortunately, it’s a totally one-off and bespoke version of the current product, which will need to be built by the tech team almost by hand.
And, because it’s a somewhat novel code base — even if it basically rides on the core systems — the customized version will require additional and extensive testing and other reviews that will absorb considerable res. Even worse, in some cases, these new versions may negatively impact other earlier customers and adversely degrade the speed and operation of the existing offerings.
It doesn’t help that your team, your customers, your board, and your investors are all likely to have radically different views about the best way forward. Ultimately, the decision is going to be yours. And, as obvious as the choice seems in some ways, there’s no simple or single answer to this problem and, to make things even more difficult, the “right” decision can differ from time to time and depend not only on your internal dynamics, capabilities, res, and goals but also on a number of external variables, which also are constantly in flux.
A simple example of one very material internal consideration is the mental state of the key players on your team. As the prospect that we’ll see an end to the pandemic grows a little brighter each month, it seems that almost everyone is taking the opportunity and making the time to take a serious look at just how they want to go forward in their own lives and in their careers.
Some people can’t wait to get back to work; some will never be back; some feel that they dodged a bunch of bullets and are looking for the nearest exit; and some now believe that building a business is a lot harder and takes a lot longer than they ever imagined and they aren’t sure that they still have the passion or the patience to wait for a day that may never come. Still others are seeing new paths, priorities, and alternatives for their own careers that have taken on far greater importance in the past two years.
While everyone in your company may have started out with a shared vision and a common desire, things and circumstances change, families and financial obligations grow, and for some simply tired and stressed-out folks, enough eventually feels like enough. In some ways, these kinds of changes can make those same people far more susceptible to externalities as well.
An example of a material external consideration is the state of play of M&A. If you’re already thinking about bailing out and looking for an excuse and a soft landing, the emergence of a very frothy and active market for mergers, acquisitions, and roll-ups in your particular industry starts to look very interesting. And it’s also likely that — and here’s where things can get very hairy for the CEO — the prospect of a near-term exit can change key team members’ overall perspectives on what the business needs to do to best position itself going forward.
All of a sudden, the long-haul view looks a lot less appealing and the chance to grab some large, one-off deals and goose the near-term revenues to dress up the business as an attractive acquisition target makes a lot more sense to important members of the team — even if they know in their hearts that they’re risking the whole business in the process. When your people see their peers in other companies making a bundle, and crappy businesses are cashing out for big bucks, it gets harder all the time to keep their heads in the game and their noses to the grindstone. Even turkeys can fly in a tornado of SPACs, spinouts and “story” stocks.
Building smart and stable software is never quick or easy. But that’s not even the most challenging part of the business. Whether they know it or not at the outset, innovators and entrepreneurs sign up for a lifetime of iteration — fleeting moments of joy and exciting times of inspiration and invention — which are always followed by months of thankless revisions, repairs, and constant maintenance. The nasty secret is that you’re always leveling up — or trying to keep up with the customers’ demands and the competition’s advances — because in software development, there’s never any real finish line. Only you can decide when enough is enough.