- Location
- Barcelona
- Workplace
- Hybrid
- Type
- Full-time
- Department
- Engineering
- Seniority
- Lead
- Closing date
- Today
Description
The Company
We are partnering with an established and profitable travel-technology company that uses proprietary AI and APIs to automate complex operational processes for airlines and travel agencies.
Its large-scale, multi-tenant platform processes business-critical transactions where financial correctness, reliability and traceability are essential. As the company continues to grow, it is strengthening its engineering practice and evolving the software and data architecture behind its core products.
The Opportunity
We are looking for a hands-on Principal Software Engineer to take ownership of the architectural direction of the core services and data layer behind a mission-critical transaction platform.
This is a senior individual-contributor role without direct reports, but with significant influence across multiple engineering teams. You will define clearer domain and module boundaries, make pragmatic decisions about monoliths and services, and translate business priorities into technical choices that teams can implement.
The company is not looking for someone to arrive with a predetermined transformation plan or propose an immediate rewrite. The priority is to understand the existing environment, identify where complexity is creating genuine business or operational problems, and improve the architecture incrementally while active product development continues.
You will work closely with the SVP of Engineering and Director of Platform. Infrastructure and operational delivery already have established ownership, allowing you to focus primarily on software, domain and data architecture while remaining close to implementation and production.
What You’ll Work On
- Define and evolve the architecture of core services, business domains and data platforms.
- Establish clear module, bounded-context, API and ownership boundaries across the product.
- Review previous migrations and determine when systems should be modularised, refactored, retained, consolidated or replaced.
- Reduce accumulated technical complexity without disrupting ongoing product delivery.
- Design distributed and event-driven services with explicit consistency, recovery and failure-handling models.
- Embed financial-integrity patterns such as idempotency, reconciliation, validation controls, audit trails and end-to-end traceability.
- Shape operational and analytical data architecture, including data contracts, movement, quality and downstream usability.
- Lead architecture reviews and document important decisions through technical designs and Architecture Decision Records.
- Work with product and engineering leaders to balance correctness, delivery speed, operational risk, cost and commercial priorities.
- Mentor experienced engineers through design reviews, pairing and hands-on technical coaching.
- Contribute directly to production code, testing, debugging and delivery when your involvement adds value.
What We’re Looking For
Essential Experience
- At least eight years of professional software engineering experience, including substantial responsibility as a Principal, Staff or Lead-level individual contributor.
- Strong experience designing backend services and application or domain architecture in complex production environments.
- Evidence of architectural decisions that you personally owned across multiple teams, services or business domains.
- The ability to define domain, module and service boundaries and make proportionate monolith-versus-microservices decisions.
- Experience simplifying or incrementally modernising existing systems rather than defaulting to large-scale rewrites.
- Experience in payments, fintech, travel technology or another transaction-sensitive environment where software errors can cause financial loss or customer harm.
- A strong understanding of financial-integrity principles, including idempotency, reconciliation, auditability, validation and transaction traceability.
- Experience building distributed, event-driven or high-volume transactional systems.
- Experience shaping data architecture for operational and analytical use cases beyond database administration.
- Strong knowledge of relational data modelling, consistency, schema evolution and transaction boundaries.
- A record of leading cross-team technical initiatives and influencing experienced engineers without relying on direct authority.
- The ability to connect architecture with product priorities, operational risk, cost and measurable business outcomes.
- A hands-on mindset and willingness to contribute to production code, tests and technical documentation.
Particularly Relevant Experience
- Domain-Driven Design, bounded contexts, CQRS, event sourcing or comparable domain-modelling approaches.
- Travel-industry systems such as GDS integrations, BSP or ARC settlement, ticketing, refunds or Agency Debit Memos.
- Payment rails, ledgers, card networks, settlement, reconciliation, fraud controls or regulated financial workflows.
- Kafka or similar event-streaming technologies, including their consistency and delivery trade-offs.
- Multi-tenant SaaS platforms where tenant isolation and data correctness are critical.
- AWS or GCP, Kubernetes, observability and modern software-delivery practices.
- Direct involvement in major customer-impacting incidents and the systemic improvements that followed.
- Contract testing, property-based testing or invariant-driven testing for critical business logic.
You do not need direct experience with every technology or industry concept listed above. Architectural judgement, ownership and the ability to work effectively across an unfamiliar environment are more important than matching every keyword.
How You Work
- You investigate the underlying problem before recommending an architectural solution.
- You simplify systems instead of introducing complexity without a clear purpose.
- You design for the company’s likely business needs over the next 12–24 months rather than pursuing an abstract end state.
- You treat financial correctness and customer trust as architectural requirements.
- You balance technical quality with delivery speed, operational risk and commercial reality.
- You lead through technical credibility, clarity and evidence rather than hierarchy.
- You help teams implement architectural decisions instead of limiting your involvement to recommendations.
- You document important decisions through ADRs, design documents and postmortems.
- You remain comfortable debugging production systems, reviewing code and contributing directly when necessary.
Current Technical Environment
The current environment includes:
- TypeScript
- PostgreSQL
- Cloudbase
- Datadog
- Serverless components
- A combination of monolithic applications and independent services
- AWS and GCP
- GitHub
- ArgoCD
Direct production experience with every technology is not required. The company is open to experienced engineers from other language ecosystems who can adapt while contributing at Principal level.
Location and Working Model
The position is based in Barcelona and offers a highly flexible hybrid arrangement with no fixed weekly office days.
The priority is to have someone located close enough to Barcelona to attend occasional in-person discussions or working sessions when they are genuinely useful.
Why Join?
- Take meaningful ownership of the architecture behind a business-critical transaction platform.
- Solve complex software, domain, data and distributed-systems problems with direct commercial impact.
- Influence technical direction across several engineering teams while remaining hands-on.
- Work closely with experienced engineering and platform leaders.
- Help simplify an established platform without being expected to pursue another disruptive transformation.
- Join a profitable, growing technology company serving major organisations within the international travel industry.
- Contribute to an engineering culture centred on reliability, clarity and continuous improvement.
Interview Process
The selection process consists of five stages:
- An exploratory conversation with the SVP of Engineering.
- A business-focused conversation with the VP of Operations.
- A technical deep dive with the SVP of Engineering and Senior Engineering Director.
- A combined business and technical case, followed by a presentation and discussion.
- A final business conversation with the relevant Business Unit Manager.
Interested?
If you are a senior engineer who enjoys untangling complex systems, making practical architectural decisions and helping multiple teams deliver more effectively, we would be happy to speak with you.
Apply directly or contact [email protected] for a confidential conversation.