Lead Backend (Java/Kotlin) Engineer - Remote

Engineering Lisbon, Portugal Lisbon, Portugal


Lead Backend (Java/Kotlin) Engineer (Remote)

Who We Are

We are a group of talented engineers and airline industry veterans building trailblazing software solutions to challenge the legacy systems of today’s commercial aviation industry.

We represent industry geeks of every kind: frequent flyers, coding fanatics, plane spotters and open-source contributors. We are goal-driven inventors who want to bring greater technology and unprecedented workflows. We believe intelligence through data and automation will yield better returns. We believe in lean thinking and, with continuous improvement, we focus on delivering value.

What We Do

We build software solutions for airlines looking to uproot existing legacy enterprise applications which are constraining existing commercial processes. Using modern approaches to software development and the latest engineering technologies, we help airlines maximize their revenues, improve their workflow and achieve organizational efficiency.

  • We build REST APIs to enable our web application to capture our users’ workflow.
  • We integrate and consume data from systems used by airlines.
  • We use modern languages like Kotlin and Spring Boot to increase our productivity and align with best practices.
  • We deploy our code multiple times per day using Docker, Terraform and Kubernetes.
  • We release Virtual Machine Images using Packer.

What We're Looking for

As a Lead Java Software Engineer you are leading the engineering team in building high quality solutions. With your proven experience in multidimensional data structures, you are responsible for technical decisions made as it relates to frameworks, engineering practices and high-performance tooling.

  • You are a team-player, able to motivate and coach other developers by ensuring they can do their work in the best way possible;
  • You determine the  technical  exploration  scope of epics  and  features,  and  proactively  seek  for  more information if business requirements are missing;
  • You have good communication skills, meaning even when you are confident in what needs to be done, you are able to validate opinions of others being their sounding board;
  • You take ownership of your work and will see your projects from inception to production:
  • You have an eye-for-detail, strive for high quality but you are also pragmatic;
  • You are not afraid to make mistakes, admitting them and exposing that you don't know something and need help from others;
  • You take software engineering practices seriously and you are capable of setting up and maintaining a solid engineering culture.

What You'll be Working on

  • Exposing functionality as RESTful resources that capture the users’ workflow with Spring Boot and Spring Data REST;
  • Optimizing database (PostgreSQL) interactions using caching, materialized views, indexing or aggregation;
  • Building integrations using Spring Batch;
  • Securing our application using modern and powerful technologies like OAuth2 and SAML
  • Handling authorization using RBAC/ABAC techniques and ACLs;
  • Deploying and scaling applications as Docker containers in our Kubernetes cluster;
  • Creating IFTTT style workflows using serverless functions and message queues.

What We Want

  • 8+ years of experience with a modern, JVM based language (ex. Java, Scala, Kotlin)
  • 3+ years of experience developing with the Spring Boot framework
  • 3+ years of experience with SQL (preferably Postgres)
  • 3+ years of experience developing containerized applications on Kubernetes
  • 5+ years of experience in developing and designing distributed production-grade microservice applications
  • Experience designing and building cloud-native applications (ex. AWS, GCP, Azure)
  • Expertise in CI/CD and development best practices, such as test automation
  • Experience in coaching and leading engineering teams, establishing development standards, facilitating technology decisions, etc
  • Undergraduate Degree in Computer Science, Physics or Mathematics (Graduate Degree always is a plus)
  • 3+ years of experience with Kotlin development
  • Previous experience working in an Event-Driven Architecture using Kafka
  • Experience with trunk-based developed, pair programming and eXtreme Programming methods
  • Experience working on an agile team
  • A spirit of collaboration and transparent communication
  • A natural curiosity for new programming languages, frameworks and technologies

What We Offer

  • Fast growing and global team focused on challenging the legacy of the commercial aviation industry to provide customers with improved technology and workflows.
  • Culture where people come first, including autonomy and freedom to do your work to the best of your ability.
  • A focus on client satisfaction, executing quality code and services and a mindset of constant improvement.
  • Environment where everyone is expected to work hard, but love what we do, and have fun doing it.
  • Competitive salaries and benefits including our Employee Stock Ownership Plan