Lead Data Engineer

CARTO leads the world of Location Intelligence (LI), empowering organizations to discover insights hidden in their location data and turn them into business impact. We use LI to accelerate innovation, find efficiencies, and disrupt traditional business models. We are the leading geospatial platform where you can solve spatial problems with the best data and analysis.

CARTO is working today with top enterprise companies to improve their efficiency through data analysis. Customers like DPD, EDP, Mastercard, Telefónica, and Vodafone (among others) trust CARTO and use our software to understand where and why things happen, optimize business processes, and predict future outcomes. We empower data scientists worldwide by helping them to create their advanced spatial models.

What we are looking for

During the last year, CARTO has been quite focused on data products, we’ve launched CARTO’s Data Observatory 2.0 and we’ve grown our data team (data scientists and data engineering) to be able to successfully accomplish this delivery. 

Up until now, our data engineering team belonged to backend team but, since we’re growing the team, we’re creating a new team just for Data Engineering stuff. Right now the data engineering team is composed by 3 data-engineers, and we want you to lead this team and to keep up the growth.

The main roles of this position are:
  • You will be the project lead for our Data Observatory. Since it’s one of our main products you will need to work very closely with other teams.
  • Lead a small team of 3 data engineers.  
  • Distribution of your time: 30% management, 70% coding.
  • Report directly to the CTO.

You will need to find solutions to real challenges where we need your creativity and your experience. We’re talking about serving huge spatial datasets with tables of 3TB in less than 600ms per user request, or creating a continuous ETL system to process more than 2K geospatial datasets.

Our data team uses a modern stack and we frequently work with Google Cloud Data product: BigTable, Google Composer, BigQuery, Google Pub/Sub, and DataFlow. We’re really pushing some technologies to the limit, so be ready to meet with Google core engineers of product like BigQuery or BigTable to talk about roadmap, feature request, alpha programs, etc.

We are part of an engineering team of 27 developers that runs short development cycles. Every cycle, we prioritize product initiatives that have a real business impact. You'll work in a cross-functional team together with a PM, frontenders, designers, UX, and infrastructure people to ideate and bring a new product feature to the platform.

Once every six weeks, we meet on-site to do a retrospective meeting, a team lunch and have fun together. We use our retros to check our current status, detect weaknesses and strengths, gather insights and extract some action points to continue improving during the next weeks. 


Must have

  • You have initiative, a can-do attitude and eagerness to build something big! Curiosity, energy, and a collaborative mindset. 
  • We need you to have high-quality development skills
  • 3+ years of experience with Python
  • 2+ year of experience with PostgreSQL 
  • 1+ year of experience with some of Google Cloud products mentioned above. 
  • Experience with high performance analytical databases 

We offer

  • Competitive, results-based compensation.
  • Access to our Employee Stock Options Plan.
  • Contribute to a platform used by top companies around the world. Your work will have a direct impact on our users and clients.
  • Every Friday afternoon is Leapfrog time when you will be working on whatever you like related to CARTO.
  • Private Medical Insurance.
  • Flexible working hours in a focused but casual environment in the center of Madrid or Sevilla
  • Involvement in the tech community—we host lots of events and organize code sprints. CARTO covers the expenses for conferences if you submit a proposal.
  • A bright, comfortable office, stocked with snacks, good coffee, a self-built arcade, and even a cinema :)


The selection process

Once you apply to this position, this is what you can expect from the selection process:

  • A first screening interview with HR.
  • A second screening interview with the CTO.
  • After that, we'll send you a code test where we can learn about your coding skills. It's designed to take no more than 8 hours and to keep simplicity. You can do it on your own and send it back to us in a timeframe of 1 week or so. Then you'll have some kind of code review and email conversation about your solution, decisions made, etc.
  • One interview with a member of the team. It follows up the first code test and we'll ask you some questions about the approach you followed in the test.
  • Final interview with the CTO.

All steps, except the last one, can be done remotely. For the last stage, we'll invite you to our offices in Madrid or Seville 

As you can see, there are plenty of opportunities during the process to learn about CARTO, about what we do, get to know your peers, managers, HR. 

We aim at having a transparent process in which you can learn both the technical and cultural side of working at CARTO. Even if you are not a good fit, we'll give you feedback about the process; we know your time is valuable and we'll be honest with any candidate at any stage of the process if you are not a good fit.

At CARTO we believe that professional development happens through teaching and learning from your peers and managers. We'd love to get to know you even if you’re uncertain about whether you have the experience we’re looking for.

A diversity of identity, perspective, and experience makes us stronger. We welcome you to apply to CARTO regardless of your background, gender, ethnicity, orientation, or ability.

To learn more about us, please visit our blog or follow us on Twitter (@carto) or Instagram (@cartohq).

Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
Error
insert_drive_file
insert_drive_file
Error
ErrorRequired field