Running An Enterprise At Start-up Speed: Part 2
In the concluding part of this blog series, Christian Nilsson and Angelos Efthimiou focus on a few of the elements that have been essential to Cloudreach's success over the past 10 years.
This month, Cloudreach is turning 10. With that, we thought it was apt to take a moment, catch our breath and reflect on the journey so far. We’ve seen great success, but also a lot of painful learnings over the years and in this blog series we want to share with you some of our insights from the past decade.
In the first installment of this two-series post, we looked at some of the painful learnings. The second part focuses on the things we feel have been essential to our success. The insights, pains, and lessons described here are not unique to Cloudreach, but shared by many companies, indifferent of size, as they try to improve agility, increase innovation and become more successful.
Find the full presentation slide deck online at the AWS Transformation Day Resource Hub.
As a technology-enabled consultancy, we have always believed in the power of automation and tried to incorporate that belief in everything we do. In practice, this concept evolved at Cloudreach over time. Always investing a bit more time upfront in making assets reusable and automating most actions can be a controversial decision in an organisation where time is a key resource. But short-term savings are too often long-term time sinks.
On the flip side, automating early can easily lead to over-engineering. Especially as a fast-moving company with agile development models, we are likely to fall into that trap (and with that, our pursuit for efficiency could be in vain. But even if not every automation initiative is making us faster, it still teaches us foresight and how to plan ahead. We are forced to always think about repeatability, accuracy and scaling if we want to stay one step ahead and automation helps us in this respect.
Avoid Starting From Scratch
A very common pattern for developers is the desire to start from scratch. Many feel that it is more complex to try and understand an inherited codebase than to just start fresh and improve on the previous version. However, the desire to improve doesn’t always justify starting all over again. We believe in the value of reuse, refactor and continuous improvement. As a result, everyone at Cloudreach is encouraged to template and document their work.
We built an internal gallery that our team has given a slick user interface in order to make it more accessible to non-technical users. Everyone can submit content and today it hosts templates for automation, high-level designs, code bases and testing artifacts. It also contains non-technical resources such as presentations and best practice papers. When we start a project, we encourage the team to first check the gallery and build on existing materials.
Not only does this allow people to re-use existing materials and to build on top of them but also increases the quality of our work. Both are core to our business and integral to our success.
Don’t Manage Servers
Cloudreach doesn’t have, and has never had, a single physical server. The few servers we have are all in the cloud and constantly need to justify their existence. We find this to be quite an achievement, being a technical company with 1000 employees, including a follow-the-sun managed operations centre for our customers. Our guiding principle to achieve this is a strong preference for managed services (SaaS/FaaS) overrunning our own platforms (PaaS) over fleets of servers (IaaS). We call this principle “SaaS>PaaS>IaaS”.
Whenever we have a business need, we first explore what exists in existing SaaS offering, then we look at platforms that either are managed or that we must host ourselves. For smaller business functions, we try to use serverless technologies and, only as a last resort, do we spin up cloud servers.
There are several examples of SaaS offerings we use every day to be successful and by choosing scalable managed services we have been able to avoid changing tooling multiple times over the course of our journey. For office communication and documents we use G-Suite from Google, for structured information sharing Confluence, for planning Jira and for all internal communication Slack and Google Meet. For CRM, we have Salesforce and for HR, we introduced Workday. On top of that, we rely on managed services in all three large cloud providers.
In summary, we want to avoid what is referred to as “not-invented-here”-syndrome. What you build internally is rarely better than what you can consume as a managed service. Relying on existing open-source software can even leap-frog your development cycle. The main advantage of building something in-house is, of course, that you can very specifically tailor it to your organisation. This might seem like a benefit at first glance. However, over time this becomes technical debt and promotes patterns that are not best-practice in the industry. Adapting your organisation to managed services requires going through the operating model of your company and justifying historic decisions. A sobering exercise that helps you focus on agility, speed and takes you closer to your customers.
Removing all servers is, of course, not possible for many organisations but we challenge you to start reviewing your server park from a cloud-first perspective, where running a server is the exception and not the norm!
Culture is built on Values
Once we had our first few hires onboard, everyone gathered to figure out what values would shape our company. We didn’t just want something that sounded cute. We wanted actionable values that would form the nucleus for our company’s culture and acted as the glue holding everyone together during times of volatility and big change. When you want your culture to change, try a cross-functional approach lead by the people in your organisation. The process and tools come last and the values and principles first. You can find a similar approach with many successful companies like Amazon and Allianz.
Amazon talks about being a day one-company and one of the values they have is customer obsession. Everyone in the company understands what that means, even if they interpret it slightly different from each other. Allianz has a value in their strategy that says “Digital by Default” which drives every decision and initiative internally.
We have four values which we live and operate by. These values are integrated into the daily business like promotions, performance reviews and even how we hold each other and our management accountable to their decisions. By doing this we reinforce the values and ensure that they stay relevant to who we are, even when our company goes through a big change.
The other important thing we established was principles. They are often more technical and concrete. Principles are more subject to change, can be different in different areas of the company and aim to be a set of decisions or rules that form the structure of an initiative. For a cloud adoption effort, a principle can be that infrastructure as code is default or that project-focus will be replaced by a product-focus. A few different companies have decided to make their principles public and one of our favorites are Scout24 which published their set of principles on github for everyone to be inspired by. We don’t suggest you copy those, but instead to use them in your teams for inspiration and as a starting point for discussions. Once a principle is set however, it needs to be adhered to by everyone. Therein lies the power.
Before you set out on changing your company or adopting cloud, first let your teams establish what values and which principles you will live and be guided by, this will help inform every future decision that needs to be taken. Today, roughly ten years later, we are evolving our values again. Bottom-up and together with our entire company. In that sense, the process of how you got there is as important as the result itself. Enjoy the ride.
Homework for you
Congrats on making it this far, we covered a lot of ground! Now, we don’t want to leave you with just lessons learned & good advice. We want to give you a little bit of action-packed homework so you can test for yourself what we experienced and don’t be surprised if these actions take less time than what you think and render massive results. Feel free to make a copy of the below cheat sheet and reach out to us with any feedback. Start building & keep it Cloudy!