When I first joined BlaBlaCar as CTO, more than a decade ago, the European tech startup scene was on the edge of a revolution. I was joining a small team and excited to leave my job as a mobile development manager to work on the platform full-time.
The technological needs of a fast-growing business change quickly and often. So as the company evolved, so did my role. It was my job to anticipate and respond to these needs, making sure the platform could continue to handle a growing number of users. While it didn’t always come naturally, I quickly learned that a successful startup requires flexibility — not least from its CTO.
Looking back at those early days, ten years ago, it’s hard to believe the platform could only handle up to 100,000 users. Today, our carpooling community has more than 65 million members across 22 countries. We couldn’t have reached that goal if the platform hadn’t continuously scaled and evolved along the way.
Here’s what I’ve learned about building a robust and scalable platform over ten years as a CTO.
Be ambitious, but be realistic
One of my biggest takeaways as a CTO can be summarized by what eventually became one of our core company values: “done is better than perfect”.
While it can be tempting to build a cathedral, finessing every line of code with the craft and passion of a medieval craftsman, you’ll rarely succeed in building a high-growth tech company that way. I know far too many ‘perfect’ tech stacks that are now dead and buried, simply because their creators didn’t get them to market quickly enough.
While you do want to build for flexibility and lay the foundations for sustainable growth, your biggest focus should be on building what you need today. Be confident that your platform functions well enough for your initial roll-out, and refine and develop it further once you’re up and running.
While this method of developing will result in “tech debt” from every single project, this is actually a good thing — it helps you build maturity and legacy and keeps a record on how to repeat certain things. Sometimes, you might want to address this debt by redesigning and rewriting codes and technologies, but most of the time, you can ignore it and get on with other developments.
Adapting your team to rapid growth
Scaling your platform is not just about the code you write. The way you structure your tech team is equally important and is something that will need to evolve as your company grows.
Fast forward from those early days as a team of four, and our company had soon grown enough that it was divided into three key divisions: tech and product, business, and members support. But as we rocketed into hyper-growth, we realized that this expertise-based setup didn’t give us the latitude we needed to rapidly develop and launch new features.
Around 2015, inspired by the Spotify model, we redesigned the organization into cross-functional teams dedicated to specific projects and challenges, each staffed with representatives from all three areas of expertise.
Working out the best structure for your team is an ongoing process. I found that cross-functional ‘tribes’ provided our teams with freedom, spurred innovation, and led to the rapid launch of a number of high-quality features and products.
But on the flip side, teams’ priorities risked diverging from the company’s overall focus, and engineers began to lose a sense of ownership. As a result, we’ve now moved back to a dedicated tech team, which we complement with a handful of cross-functional teams for the new products that still need them.
As a CTO, it’s important to keep your goals on track. Also, you should be prepared to switch things up if another setup could help your team meet its goals faster. Ideally, you want everyone to be on the same page, and feel like they’re essential to your platform’s growth.
Vision and culture
As your company grows, you’ll need to pay a lot more attention to how the culture is evolving. The implicit culture of your company will need to be made more explicit as the team grows.
I spend a significant amount of time analyzing weak signals and communicating with the team to ensure they stay close to our paradigm, explaining past decisions, the future path of the company and the main problems we have encountered.
Having a common culture and clear goals in place, and making sure everyone on the team is aligned, will make the execution of projects much easier.
‘Kill your darlings’
Just like the best creatives, a CTO needs to be willing to let go of their hard work. Even if you’ve followed my advice and resisted the temptation to build a cathedral, it can still be difficult to deconstruct hours of work to go back to the drawing board.
But at a certain point in your growth, you must recognize that what got you there won’t take you any further.
Small, frequent updates can help you fight off the tech debt that naturally accumulates as you scale, but eventually, you’ll need to level the stack. A full redesign is a huge decision to make, but if your platform is experiencing rapid traction, it’s a smart way to prepare for continued growth.
Sometimes, saying no to an immediate growth lever will bring greater benefit in the long run – but it’s up to you to make the tough decision when you face it.
For example, a while ago I decided to start using Elastic Search as our search engine. It was a pretty risky decision at the time as the project was very young and not very sustainable, but I really believed in it and it’s still a great part of our platform today.
Step up as a leader
Tech leadership is critical to the success of your platform as it scales – as we’ve seen, there will be many points in your growth where tough decisions and a strong guiding vision are needed. But much like the structure of your team, the role of the CTO requires ongoing evaluation and will change and grow with your platform and your team.
It’s sometimes said that ‘tech people’ underestimate the importance of being a leader, but I think that’s a bit unfair – in reality, it’s a stumbling block within any industry that promotes expert practitioners to positions of leadership.
You may have started out at the coalface, but as your company grows, you must make the effort to shift your focus to management, vision, culture, and people. It’s a totally different role, but it’s this that will fuel your platform’s growth in the longer term.
I’ve been a CTO for nearly a decade, but I know my journey as a leader isn’t over. It’s a practice I’m always developing, and always expanding as I go.
The only constant is change
Building a successful and scalable tech platform is about more than just technical decisions. CTOs face a real balancing act and must think about everything from organizational design to the management of technical debt.
If there’s one thing to take away from my own experience, it’s that change is the only constant for a high-growth company.
You must always be prepared to step back, remember your long-term goals, and make bold changes with these in mind. Never be afraid to rethink an idea or rebuild a system. If you can embrace change, your platform will grow with you.
Published December 3, 2018 — 06:30 UTC