- Location
- Barcelona, Catalunya
- Type
- Full-time
- Department
- Engineering
- Source
- Personio
Description
About Caravelo
Airlines have spent decades selling one trip at a time. At Caravelo, we help them build recurring relationships with their customers instead.
We build the technology behind airline subscription products used by carriers around the world, combining SaaS, payments, booking systems and airline integrations in one platform.
Our Product & Platform teams build the common technology. Our Professional Services team makes it work in the real world for each airline.
That is where this role comes in.
The mission
Caravelo has one platform, but no two airline implementations are exactly the same.
As a Customer Solutions Engineer in our Professional Services team, your job is to bridge that gap.
You will learn how our core platform can be configured, integrated and extended, and use those capabilities to create the implementation each customer needs... without modifying or forking the core platform!
For every airline, we build a customer plugin that wraps the specific integrations, extensions, business rules and behaviours required to make Caravelo fit naturally into that customer's technology landscape.
Working closely with Project Managers and customer stakeholders, you will understand requirements, identify the peculiarities of each implementation and decide how best to solve them: configuration, extension, integration or, when justified, a dedicated service or module.
The goal is simple: Make every customer rollout feel unique while keeping it cleanly built on top of a common, scalable platform.
What you'll do
Bring customers live
You will be one of the engineers turning a signed customer into a working production implementation.
That means:
- Understand customer requirements together with the Project Manager.
- Translate business and technical requirements into a concrete implementation.
- Configure and extend the Caravelo platform using the capabilities provided by our Product & Platform teams.
- Build and maintain the customer plugin that contains customer-specific logic and integrations.
- Take implementations through development, testing, launch and production stabilisation.
Your job is not to rebuild what already exists. It is to understand the platform deeply enough to use it intelligently and extend it where necessary.
Solve integration problems
Airlines have complex technology ecosystems.
Some systems are modern. Others have been running successfully for decades.
You will make them work together.
Depending on the customer, you may integrate Caravelo with:
- Airline reservation and passenger service systems.
- Payment gateways and payment infrastructure.
- Identity and authentication platforms.
- CRM and communication systems.
- Loyalty platforms.
- Data platforms.
- Internal airline APIs.
- Third-party and legacy systems.
Sometimes the API documentation will be incomplete, the behaviour will differ between environments, or two systems will have fundamentally different assumptions.
You should enjoy figuring those problems out.
Build customer-specific extensions
Most customer needs should be solved using the common platform.
But not all of them will be.When there is a genuine gap, you may:
- Build an additional connector.
- Extend an existing workflow.
- Create customer-specific business logic.
- Develop an isolated service or module.
- Implement data transformation or migration processes.
We want engineers who can solve the customer problem without creating unnecessary complexity.
Own the implementation beyond go-live
Our work does not stop when a customer launches.
Customer systems evolve, vendors change and integrations eventually need to move with them.You will help:
- Investigate and debug production issues.
- Maintain customer-specific integrations.
- Upgrade connectors as external systems evolve.
- Support customers through technical migrations.
- Replace or introduce integrations while keeping the service running.
- Improve existing implementations when better platform capabilities become available.
Your work could involve enabling the new payment connector in Caravelo, adapting the customer plugin, helping define the migration approach for existing payment tokens, validating the transition and supporting the rollout together with the Project Manager and customer team.
These are not theoretical architecture exercises. They are real production systems with real customers and travellers behind them.
Work across the stack when needed
Your centre of gravity will be Java and backend engineering.
But customer implementations do not always respect stack boundaries.
You should be comfortable following a feature or problem wherever it goes: backend services, APIs, integrations, databases, scripts, data migrations or occasional frontend changes in Vue.
You do not need to be a frontend specialist.
You do need to be comfortable enough to understand the problem, use AI-assisted development effectively and validate that the result is production-quality.
Use AI as an engineering tool
We actively use AI coding tools such as Claude Code, Cursor, Devin and similar assistants.
You will use them for things like:
- Implementation.
- Exploring unfamiliar code.
- Writing and extending tests.
- Debugging.
- Refactoring.
- Documentation.
- Working with APIs and integrations.
- Accelerating occasional frontend work.
AI should make you faster. It should not replace engineering judgment.
What success looks like
You are succeeding in this role when:
- You can take a customer requirement and turn it into a clean, production-ready solution.
- Customers launch successfully without unnecessary changes to the core platform.
- Customer-specific behaviour remains well isolated and maintainable.
- Integrations are observable, reliable and understandable by engineers other than their original author.
- You can diagnose complex problems across Caravelo and customer systems.
- You understand when to configure the platform, when to extend it and when custom development is genuinely necessary.
- You become increasingly independent in understanding new customer technology landscapes.
- Migrations and changes to existing integrations can be delivered without destabilising the customer's service.
What you bring
Must have
- Strong professional experience building production software in Java, with solid backend engineering fundamentals.
- Experience designing and integrating APIs, distributed services and cloud-based systems.
- Strong debugging and problem-solving skills, especially when working across multiple systems or external dependencies.
- Good understanding of testing, CI/CD, databases, observability and production software quality.
- Comfortable understanding an existing platform and extending it cleanly rather than rebuilding from scratch.
- Strong communication skills and the ability to work with Project Managers, engineers and technical customer stakeholders.
Nice to have
- Experience in Professional Services, implementation engineering, solutions engineering or customer-facing technical delivery.
- Experience integrating enterprise or legacy systems, particularly in complex customer environments.
- Experience with payments, payment gateways, data migrations or other business-critical integrations.
- Experience in travel technology, airlines, reservation systems or similarly integration-heavy industries.
- Familiarity with the technologies listed in our stack, especially Vue/Nuxt, Couchbase or Datadog.
- Experience working in security, compliance or reliability-sensitive environments.
Our stack
You do not need to arrive knowing every technology we use.
Some of the technologies you may encounter include: Java · SpringBoot · Vue.js · Nuxt · Couchbase · PostgreSQL · AWS · Datadog · Gitlab · Docker · Opentofu · Claude Code · Cursor
More important than matching every technology is your ability to understand unfamiliar systems, investigate how things work and build reliable solutions around them.
The kind of professional who tends to enjoy this role
This role may be a good fit if you like engineering problems where the answer is not always obvious.
You enjoy understanding how systems behave, not just implementing predefined tickets.
You are comfortable opening documentation for an unfamiliar API, talking through requirements with a Project Manager, tracing a strange production issue across several systems and then writing the code that solves it.
You appreciate good architecture, but you are pragmatic.
And when confronted with a 15-year-old airline system that behaves differently from its documentation, your reaction is closer to “interesting” than “that's someone else's problem”.
What we offer
- Competitive salary with a clear progression framework.
- Flexible working hours.
- Barcelona-based hybrid model: 4 days in the office and 1 day working from home.
- Tax-efficient benefits including private health insurance, restaurant and transport cards, and kindergarten support.
- Budget for training and conferences.
- Regular company events and celebrations.
- 23 days of annual leave.
- Exposure to complex airline technology environments around the world.
- The opportunity to work across software engineering, integrations and real customer implementations.
- Meaningful ownership: you will see the systems you build go from requirements to production.
Our hiring process
Our hiring process usually takes around 3-4 weeks from application to offerand includes five stages:
Interested?
If you enjoy solving complex integration problems, getting customers live and making different systems work together without turning every implementation into a one-off project, we'd like to hear from you.
Apply and tell us about a difficult integration, migration or production problem you've solved.