Tinybird helps data teams deliver real-time answers at scale through analytical API endpoints built in minutes, not weeks. With Tinybird, developers can ingest millions of rows per second and serve low-latency, high-concurrency SQL based APIs.
We are deeply focused on improving the developer experience at Tinybird and on ensuring that any developer or data team can build highly scalable data applications over any amount of Data. There is a huge opportunity to change how Data Products are developed across different industries and we intend to seize it. Our Founding team has a combined experience of over 60 years building cloud and data intensive products serving organizations all over the world.
Who are we?
We are growing team of 14 in Europe, on our way to 30 across Europe and the US.. We have deep experience in building and growing data intensive products and companies (and selling them). All of the founders have a technical background and have been working together for many years, even before Tinybird. We like simplicity and speed. And we believe that data-driven real-time applications have the potential to change entire industries.
We also firmly believe in equal opportunities and in a workplace which is safe, diverse, and inclusive. So don’t be discouraged if you don’t see yourself reflected in our team page and do apply if everything else in this offer sounds like you could fit: we are committed to building a diverse organization. We truly believe it is the key to a better work environment, to making better decisions and to become better as a team, with a broader and more inclusive approach to everything we do.
What will we value?
- 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 Tinybird.
- Programming skills and willingness to dive into our codebase, Clickhouse’s or other in order to figure out how things work. In 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 technology.
- That you think in terms of systems and you are attuned to edge cases, failure modes, behaviors, specific implementations.
- Comfortable collaborating and communicating asynchronously.
- Keen documenter of everything you learn and build, to figure out things once and to make it easy for everybody else.
- Experience with Nginx, Varnish, Redis, 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 challenge.
- Experience with ClickHouse and/or rolling out database systems at scale would be a huge plus.
What are we looking for?
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:
- Nginx: SSL termination and load balancing.
- Varnish: load balancing and, sometimes, caching.
- Redis: metadata store.
- Python: most of our backend uses Python except some small bits that rely on C++ for hot paths.
- ClickHouse: our main data store.
- Zookeeper: for ClickHouse replicas coordination.
- We also use some services for alerting and monitoring.
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:
- Observability: from specific resource usage to a bird's eye view of the whole platform. This requires good knowledge of storage, networking, and computing.
- High-availability and elasticity: as we keep adding customers, we need to architect our system to be more efficient and flexible.
- Disaster recovery: improving our tooling to manage and discover problems, but also improving our on-call procedures.
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.
Some bits about the way we work
- We are a fully remote company, and not just because of COVID19, we have worked like that for many years. All of our previous companies were remote friendly companies.
- We will provide you with up to €2400 to get the right setup at home if you need it. If you need more, just ask.
- We are just starting up so your work will impact everything we do. We also believe in full transparency and you will always know what is going on. Here you have our company principles.
- Competitive package, including €63K to €75K salary.
- 23 days of holiday a year (plus your birthday and public holidays), but who is counting.
- Freedom to work from wherever suits you best. Ideally New York or East coast if you are in the U.S. London, Amsterdam, Madrid or Central Europe in general for the E.U.
A bit more about the hiring process
- Selected candidates will be invited to schedule a screening call with our tech team.
- Next, after sending you some materials, you will be invited to schedule a second interview.
- Following successful interviews, you will be invited to schedule a final meeting with the rest of the founding team.
- Successful candidates will subsequently be made an offer via phone or video call.