We started Tinybird because we had a problem. Dealing with large amounts of data is hard and, as the amount of data grows, it gets exponentially harder. We thought we had enough experience to create a product to fix that problem.
Tinybird is a SaaS product to create real-time analytics APIs over large amounts of data. And it's deeply focused on improving the developer experience.
Long story short, after some months, the list of clients using our product is growing but our team isn't growing quite as fast. And as you might guess, that is starting to hurt, and that's why we are looking for someone to help us.
We are a team of 9 with extensive experience building and growing companies (and sometimes selling them), all of us have a technical background. We like simplicity and speed. We believe data-driven real-time applications have the potential to change entire industries.
We firmly believe in equal opportunities and in a workplace which is safe, diverse, and inclusive. We also believe that diversity will lead us to making better decisions, and that a diverse organization is a better organization.
We are looking for someone to help us scale and to keep our software and infrastructure reliable and elastic as we scale. Someone who knows how to make hardware and software play together.
We run our stack in Linux. We try to keep things simple. Technologies we use:
We have been relying on Ansible to automate the provisioning and deployment of all those technologies in various configurations, both in multi-tenant and dedicated setups. Our number of machines is still manageable, but the number keeps growing as we keep adding customers.
This is not about managing infrastructure but about making sure that our software uses the hardware resources wisely and flexibly. This means you will not only have to worry about automating machines, but about helping the product team to design and develop the architecture of the system as a whole. That will require you to working with our backend code and to understand how ClickHouse works.
Some challenges and things we want to improve:
As a specific challenge: when our customers grow and we need to upgrade their accounts. Now, we do it manually—not in the traditional sense of manual because we have tools that automate much of the process, but we need to take care of that one customer at a time: deciding what machines we need to spin-up, how much storage we will provision, etc. Ideally, our architecture should our customers to upgrade themselves and assign more resources to them dynamically and seamlessly the most dynamic, safe and transparent way possible.
Here you have our company principles.