Is perfection achievable in data?
Can every employee have easy access to every analytical insight possible at their fingertips?
Yes. But I would argue we don’t want that.
In order to achieve this dream, the data would have to be perfectly structured in a data warehouse, all the external sources would need to be connected with perfect ETL tools and all the definitions would have to be agreed by all the stakeholders. A set of KPIs and a list of analytical insights that are actually helpful and can be used to influence business outcomes would also need to be in place.
What is wrong with that? Very simply: even if a company described above existed, it would not stay in business for long. All the things that help data achieve perfection will keep the company static. Not moving means dying in business. Especially in a startup - constant growth means change, change means your product is constantly adapting and not only data structure, but also company KPIs are changing with it.
The only viable solution is to embrace the mess. Embrace evolution.
Startups always evolve and every stage of growth comes with unique challenges and often a unique set of tools available to solve these as well. This blog post describes the journey we have been on at Cuvva so far. We are 120+ people now and are experiencing another wave of “clean up as you scale” initiatives that will take us to the next level. What lies beyond that I am not sure yet, but I am certain our team will figure it out in due course :)
When we first started, all the team members knew each other well and there were next to no barriers to collaboration. As with many start-ups, there was little clarity on the scale of future funding and its timing, so there was a strong preference to use open source tools and work as efficiently as possible to make sure we could get to the end result. A priority, not surprisingly, was to find out what Cuvva could actually offer and how it could attract customers.
Another characteristic of that period was the prevalence of generalists - quite a few employees worked across teams and had very broad skill sets. And not being constrained by experience allowed the team to approach problems in new ways. Reinventing the wheel was the trade off.
There were usually at least a couple of people who could get any answer the business wanted in under twenty minutes. They knew all the data structures well and their skills allowed them to access information at any level. This seemed really appealing.
Sadly, it’s rarely scalable. Growth at a startup means exponential growth in data. In order to get that answer in under twenty minutes, they had to link a bunch of tables in a very unsustainable way. This was unsustainable not just from a query performance point of view but because it wasn’t future proof - any change in the product or data structure could not be picked up.
Using Postgres as an analytical DW was also common at this stage. It does the job, it’s open-source and reasonably easy to use. What can go wrong? Well, it didn’t really scale as the company grew.
As companies scale, the select few who can do everything often struggle to cope with the amount of work coming their way. And training new employees can become a challenge unless some structure is introduced. It can mean saying goodbye to the seamless collaboration across different areas. And sadly, quite a few people who prefer being generalists might choose to move on.
Luckily at this stage, it should hopefully be obvious what the company is good at and what the main product or product lines will be in the near future. So introducing new processes and tools as well as cleaning up data structures and flows is much easier compared to the earlier days.
At Cuvva, a more pronounced team structure helped a lot at this stage and hiring new team members with particular skills and expertise in certain areas added to the overall ability of the data function to deal with complexity.
Cuvva as a whole has been very successful at keeping the culture intact as the company scales (long may that last!). Our data team is approaching 15 members now and we’ve been working very hard to adapt and integrate new team members in a way that would allow them to contribute to the company and at the same time see what this can do for their careers.
Working during a pandemic has impacted all our lives, but we found a way to make the most out of remote working. We all work together and everyone is always encouraged to share their knowledge and collaborate. Working remotely hasn’t been a big issue for the team so far, over half of the team joined during this time. We communicate a lot and team members hop on and off video calls to help or keep company.
We’ve been catching up occasionally during the pandemic, but at the same time we are really looking forward to meeting up in the office in September - for some of us it will be for the first time in person!
At Cuvva our data team is split into:
We have our fair share of challenges - we are in the middle of migrating to Redshift and redesigning our warehouse connection to Looker. Our ETL tools (mainly Hevo and Stitch) aren’t always able to cover all our needs. And we are very committed to take our data governance to the next level, which apart from automation means quite a bit of documentation.
This next stage of Cuvva’s growth requires working through change, but it also means incredible opportunities for individuals to set up and define how we will work in the future and take ownership of these newly defined areas.
Is it all perfect? Not really. But I would argue it is better that way :)
Follow us on...
Team member