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.