Ruby on Rails Developer

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.


The backend team at CARTO


As a member of our backend team you'll be part of a group of 8 people (including you!) distributed across several cities in Spain.

We are a distributed team in a company that embraces remote work. We get the best of two worlds: async communication, flexible working hours, and team activities together on one hand; and on the other hand, two of the best offices in Madrid and Sevilla for those willing to work on-site (some backenders often work from the offices).

We are part of the engineering team of 25 developers (distributed across Spain) that runs short development cycles. Every cycle, we prioritize product initiatives that make 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.

We do it incrementally in small batches. We plead for small and well tested pull requests. QA is a team effort: we review the code of our peers, pray the static code analyzer and test in staging environments. We rely on unit and integration tests running automatically on our CI system for each PR and deploy to production frequently to track errors, measure and iterate.

As a functional team, we own the whole backend stack at CARTO. We get our hands dirty (and learn always) by looking at SQL queries or debugging Ruby on Rails code on a Linux server. We rely heavily on tests so we can refactor and improve our code confidently.

We take care of our platform by providing the best support for our operations and users. We also build tools so that operations on a SaaS platform with thousands of users run smoothly: from quotas management to data migrations.

We have a passion for clean code. We achieve that through collaboration and shared responsibilities. We are a hands-on team that cares about the technical problems and use the proper technology in each case to solve them. But also take care of each other: we do pairing to remove blockers, communicate effectively and are always willing to help our teammates.

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. 

What we are looking for


You have initiative, a can-do attitude and eagerness to learn! Curiosity, energy, and a collaborative mindset. Our product and engineering teams work very closely. We discuss a lot, and we make sure that everything we build makes contextual sense.

You are interested in understanding a complex platform built on top of PostgreSQL, Redis, Ruby on Rails, NodeJS and Python and the metadata model behind it. You are not afraid of diving on legacy code, fixing bugs and refactor code in the right place.

You love continuous integration, clean code, and best practices, and are keen on giving and gathering feedback to incorporate in future technical decisions.

As a backend developer in our engineering team you will build and improve our Dashboard and Ruby on Rails APIs that power CARTO’s platform while you contribute with your code to the most powerful open source Location Intelligence platform in the world.

The Rails backend is a key piece on any new component brought to the platform. It centralizes users metadata, billing, authentication and authorization, rate limits, metrics and a number of APIs that serve thousands of users and LI applications. We are constantly bringing new features where you’ll have a key role in their development.

We are currently building a new data and analysis platform aimed at developers and data scientists based on Python and Google Cloud Platform. New data and analysis that need to be backed by metadata models and APIs to be seamlessly integrated into our users, billing and operations workflows via the Dashboard. 

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, and the chance to work remotely if you prefer as long as you’re based in Spain.
  • 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 phone/video screening interview with HR.
  • 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 3-4 hours and it's about backend web development. 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.
  • Time for a cultural-technical interview with any of your future teammates. This interview does not need preparation from your side, it’s just an informal talk to for us to know you and you to get to know us.
  • After this, we'll send you a second technical code test, this time is about debugging a bug in our platform. We want you to dive in our code base and try to fix a bug in it.
  • One last technical interview with the backend lead and a developer. It follows up nicely the first code test, we'll make you some questions (no whiteboards/live coding, just the kind of things you would expect from a backend interview: APIs, database modeling, etc.)
  • A final on-site interview with your future manager, DoE and CTO.

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

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

Twitter @carto

Facebook

Linkedin

Glassdoor




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