What are we looking for?
Our stack and requirements are complex. In particular, our engineering team must combine specialists such as frontend, backend or data engineers with more flexible developers. We know "full-stack" is a controversial term, we simply mean people who like developing new features or fixing bugs from top to bottom, from the user interface down to the database or beyond.
This is how our stack looks like, in a very simplified way:
React + Excel JS SDK + [Django | Flask] + Postgres + PostGIS + [Python | Scala] + Docker + Kubernetes + GCloud
We need people who can move up (or "left" or "front") and down (or "right" or "back") the stack with ease. Experienced engineers who enjoy being the link between different layers of the stack without necessarily being a real expert on any of them. That being said, given our current product roadmap we expect these engineers to be spending more time closer to the top (or "left" or "front") of the stack in the beginning.
Are you a good fit?
It is hard to answer a question like this here, but here goes a list of challenges you should find yourself excited about:
- We are definitely building new and exciting products, but we already have other products out there. They pay our bills and need to be taken care of. Even though the code base is not too old, we have our share of technical debt that needs to be dealt with: understand the reasons behind every workaround, accept the tradeoffs made, evolve iteratively, and find good trade-offs between throwing old code away or improving it (starting from scratch is not always an option).
- Whenever it is actually possible to start from scratch, we try not to be blinded by every trend and buzzword. We need to understand the benefits behind relevant technologies and tools, and choose wisely.
- Not only do we have big data on our big data infrastructure, but also huge tables in Postgres+PostGIS (a 500M-row table does not scare us away!).
- We are transitioning our backend from a big monolith to a more flexible set of independent macro-services. It is indeed a challenge, but also a great opportunity to improve and optimize.
- As data grows in size and complexity, accessing and visualizing it becomes more challenging. Our data is geospatial, temporal and needs to adapt to the needs of different markets in several countries.
- Our products are used by a growing list of in-house domain experts, customers and partners. We need to ensure their end-to-end user experience is as seamless as possible.
Great challenges make great fun, do you like it so far?
How will your day-to-day be?
- You will use and develop web APIs (a lot!)
- You will deal with our backend stack based on Python + [Django | Flask] + Postgres.
- You will deal with our frontend stack based on React + Redux + RxJS + Less + CSS Modules.
- You will write spatial queries using our PostgreSQL/PostGIS database. Most of our data is geospatial and also evolves over the time, an interesting challenge.
- You will use our backend Google Cloud infrastructure: Docker, Kubernetes, Stackdriver, PubSub...
- You will help improve our development, staging and production environment and associated plumbing.
- You will develop, test, debug and document new and existing frontend components and API modules to ensure that our software meets business, quality and operational needs.
- You will motivate and educate team members on coding standards and best practices.
What can you expect from us?
- A welcoming bunch of teammates, excited to work with you.
- Positive + inclusive + respectful working environment.
- A key position across the most important teams of the company.
- A focused, eat-our-own-food approach to product development.
- Competitive salary + bonus.
- Remote work if/when you need it.
- Comfortable office in downtown Madrid (Metro Alonso Martínez).
- PluralSight account for learning during your working hours.
- Budget for conferences and events.
I'm all in! What should I do?
Send your resume or Linkedin, Git(hub|Lab) profile, or anything you think can help us know you better to firstname.lastname@example.org and a brief explanation on why you want to join us!
If you like what you read, but are still not sure if this is the right position for you, please reach out too. Should you have questions or should you want to find out more about other openings we have, we will be more than happy to have a chat with you and talk it over.
Come on! Don't miss the train! 🚂