The Re-Everything of My Software Company
After 15 years and hundreds of successful projects, I nonetheless could tell something wasn’t right. At first, I just thought I was bored. As I said, we’d had a ton of success, solved tons of problems, and even invented some cool things along the way. But as I thought more about it, I realized what was bothering me was more urgent—my instincts were telling me that the tech world was changing, and we had to change with it, or else our survival as a small business would be threatened. Plus, we’d be bored, and who wants to be bored? Not me.
This was one of those Blockbuster Video moments. We had to accept the fact that was got us to where we were at this point—around 2017 or so—was not going to yield the same success over the next 15 years. We had to overhaul something that seemed to be working just fine. Back to the Blockbuster Video analogy—we had to stop investing in video stores and physical rentals, and start investing in something new and dramatically different (but better). It felt insane, but it brought back an adrenaline rush I’d be missing for a while, and that by itself told me my instincts were probably worth following. Plus I’d seen what happened to companies like Blockbuster, who failed to adapt—they didn’t make it, even with eye-popping money, and time, to get it right. We were a few bucks shy of Blockbuster’s wealth, so I figured we had to be smart, and hustle. Plus, that adrenaline rush. Game on.
Over the next 2-3 years, we:
- Re-staffed.
- Re-tooled.
- Re-trained.
- Re-packaged (and re-priced).
- Re-positioned.
Here’s more detail about each big change:
Re-Staffing
This was by far the biggest, most complicated, and most important change we made. In the first 15 years of Webapper’s operations, I’d gotten almost daily emails from offshoring firms, offering access to hundreds of talented, low-priced engineers. I deleted every single one of those. Up to that point, we’d hired only the senior-most US software and systems engineers we could find, and billed them to customers at accordingly premium prices. It “worked,” but this necessarily limited the kinds of customers we could work, and for how long. That is, only the kind that could afford those big budgets.
Then, in 2017, as I was grappling with this sense that we needed to change, I had a unique opportunity to test out the use of offshore developers. An industry colleague of mine had founded an outsourcing company in Vietnam. He was smart and talented, so I decided to try out his service. I’ll cut right to the chase—it was awful in all the stereotypical ways that a lot of offshoring had come to be known. Communication gaps (missed or misunderstood requirements, etc.), delays or missed deadlines, sometimes due to poor coordination across time zones, or due to the aforementioned communication problems, culture mismatch (lack of connection to the assigned staff, which was a deeper problem than mere language barriers or other communication gaps), etc. Even at the deep discounts we were getting, it just wasn’t worth it. So we canceled that contract after the first year.
Then serendipity struck. A developer named Steven sent me a cold email from his personal email address. He’d worked at the outsourcing company we’d just fired, but he’d quit because he wasn’t happy. He hadn’t been assigned to us, but said he’d heard good things about us from his co-workers. +1 for treating developers well, which didn’t seem to be part of the culture of that outsourcing firm. He was writing to say he was looking for work, and would be willing to work for us directly if we were interested. I wrote back and said, “Well, we also quit, and also because we weren’t happy! Let’s talk!”
Steven and I clicked virtually right away. I gave him a programming assignment, and he finished it early, and actually built two versions of what I’d asked for, and told me to pick the one I liked best. This was basically the software equivalent of love at first sight. I immediately hired him full-time. After blowing our minds during his first month of employment, I asked the obvious question—do you know any other talented engineers? He recommended Ann, and we hired her immediately too. And things grew from there.
So just like that, in the span of a few months, we’d established our own office in Ho Chi Minh City, Vietnam, with our directly-employed team. This last part—directly employed—made all the difference in the world, but I’ll write more later about how we created a culture that resulted in a tightly-integrated, high-performing team that was separated by…a lot. Time, distance, culture, language, etc.
Re-Tooling
Now that we had a growing team in Vietnam, to supplement our existing team in the US (we kept senior technical talent, and management, in the US), we still had to address the fact that we specialized in a lot of aging technology. Aging programming languages, software architectures, infrastructure (hosting environments), etc. I gave the team an assignment: Build a real-world application, but only using the latest and greatest tech—modern programming languages, application structure, infrastructure, etc. I was especially interested in cloud-native system design, as we’d been expanding our capabilities in this area since 2012, so one specific requirement was—no servers allowed! Microservices only. The result was the most impressive product we’d ever built, which I’ll write about separately, because I’m (finally!) proud of it.
Re-Training
Since we were demanding a lot of change from our team, we had to provide as much training as was necessary to make sure everyone had the knowledge and support needed to stay cutting-edge, but with a lot of new tools and technology. Each person essentially had an unlimited training budget, limited only by the amount of time one could devote to training (while still delivering for our customers, obviously). We loaded up on the typical industry indicator of training—certifications. But more importantly, the new team was solving new problems for new customers, and quickly. Success!
Re-Packaging
The hybrid staffing model allowed us to change how we packaged our services. With a discounted, blended bill rate, we could provide hundreds of hours of services each month to our customers, but at much more affordable prices than we used to charge. We slashed our prices by about 60%. It worked. We consistently signed up new customers for this new retained services model, and it was a game changer for our customers. We were able to do in-depth work, over long periods of time (years vs. weeks or months in the past), and the results spoke for themselves. We even converted existing customers from the old pricing model to the new one.
Re-Positioning
All of these changes allowed us to position ourselves as partners, instead of consultants. Instead of parachuting in and solving a bunch of problems quickly (and expansively!), we could come on board for long periods of time, to get bigger and better things done for our customers, at much more affordable prices. We were no longer a good date. We were marriage material now.
Done! Or so we thought. All this transformation allowed us to “product-ize” our revenue, getting off the revenue roller coaster of one-off SOWs (I’ve executed over 500 hundred of them!), which in turn allowed us to focus on more strategic, long-term planning. The most important strategy we would soon tackle was converting our company from a service provider to a SaaS product company. (More on this later.)
And what’s better than one total and complete company overhaul? Two, of course. And the second within just a few years of the first. Good times! That’s right—just as we’d settled into what I thought would be a comfortable 15 to 20 years of additional successes for this next generation of my company, AI changed…everything. Again. Stay tuned for that story.
Thanks so much for your time. I am Sigmund.