At Tinybird, we help developers and data teams take flight by unlocking the power of real-time data to quickly build data pipelines and innovative data products. With Tinybird, you can effortlessly ingest multiple data sources at scale, query and shape it using the 100% pure SQL you already know and love, and publish results as low-latency, high-concurrency APIs for your applications to chirp about. Developers can create fast APIs, faster—what used to take hours and days now only takes minutes! Tinybird is the essential tool that data engineers and software developers have been waiting for enabling you to drive innovation with ease.
What you will be doing: 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, and that participate as part of the oncall team, to understand not only our product, but also the issues our clients face.
We run our stack in Linux. We try to keep things simple. Technologies we use:OpenResty: SSL termination and load balancingVarnish: load balancing and, sometimes, cachingRedis: metadata storePython: most of our backend uses Python except some small bits that rely on C++ for hot pathsClickHouse: our main data storeZookeeper: for ClickHouse replicas coordinationWe use Grafana, Loki and Mimir for monitoring and alertingTerraform: Cloud provisioning (virtual machines, networks, Kubernetes clusters)Ansible: Deploys and software and config provisioningOur 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 work with our backend code and to understand how ClickHouse works.
Some challenges and things we want to improve:High-availability and elasticity: as we keep adding customers, we need to architect our system to be more efficient and flexibleObservability: from specific resource usage to a bird's eye view of the whole platform. This requires good knowledge of storage, networking, and computingDisaster recovery: improving our tooling to manage and discover problems, but also improving our on-call proceduresAs a specific challenge: when our customers grow, 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 compute capacity we will provision, etc. Ideally, our architecture should allow our customers to upgrade themselves and assign more resources to them dynamically and seamlessly in the most dynamic, safe and transparent way possible.What you bring:
Experience designing, building and running distributed Cloud architectures and large scale web based applications. That is, in so many words, what you will be responsible for at TinybirdProgramming skills and willingness to dive into our codebase, ClickHouse source code, or any other software we use in order to figure out how things work. At Tinybird, we work mostly with Python and C++Accountable and enthusiastic to take on the responsibility of designing and managing the platform, and an urge to take on things that may be broken. Unafraid to break stuff because you own it and can fix it if need be.Bias for action, iteration and delivery. Conscious that often decisions can be reversed quickly and that speed is of the essence in business and technologyThat you think in terms of systems and you are attuned to edge cases, failure modes, behaviors, specific implementationsComfortable collaborating and communicating asynchronously, but expect direct communication within the team on a daily basisBuild software with empathy, ensuring it's intuitive and maintainable. Document key insights and solutions to make it easy for everyone to understand and use without needing extensive documentationExperience with OpenResty, Varnish, Redis, Terraform or Ansible would be great for you to get up and running quickly, but we don’t bring you here to tell you what the right technologies are: rather we expect you to recommend the right one for each challengeExperience with ClickHouse and/or rolling out database systems at scale would be a huge plus.
Compensation:
From 62k € to 109k €
This role includes both cash compensation and a stock options grant. You can find our typical starting salary ranges for this role listed above. The final offer within this range will take into account several factors, including candidate experience, qualifications, skills, business needs, and geographical location.
We also offer:
22 days of holiday a year (plus your birthday and public holidays).
Comprehensive health benefits.
Freedom to work from wherever suits you best.
We provide up to €2,400 to help you set up your home work space.
#LI-Remote
How We Work:
We’re a fully remote company, committed to a remote-first culture.
With offices in Madrid and New York City, we love face-to-face interactions, you can visit whenever it suits you!
As we’re in the early stages, your contributions will have a significant impact on everything we do.
We believe in transparency, so you’ll always be in the loop about what’s happening.