Description :
- As one diverse, high-performing team dedicated to technical excellence, you will focus relentlessly on delivering unrivaled digital products that drive a more reliable and profitable airline.
- The Software domain refers to the area within Information Technology that focuses on the development, deployment, management, and maintenance of software applications that support business processes and user needs. This includes development, application lifecycle management, requirement analysis, QA, security & compliance, and maintaining the applications and infrastructure.
Responsibilities :
This list is intended to reflect the current job but there may be additional essential functions (and certainly non-essential job functions) that are not referenced. Management will modify the job or require other tasks be performed whenever it is deemed appropriate to do so, observing, of course, any legal obligations including any collective bargaining obligations.Writes, tests, and documents technical work products (e.g., code, scripts, processes) according to organizational standards and practicesDevotes time to raising the quality and craftsmanship of products and systemsConducts root cause analysis to identify domain level problems and prescribes action items to mitigateDesigns self-contained systems within a team's domain, and leads implementations of significant capabilities in existing systemsCoaches team members in the execution of techniques to improve reliability, resiliency, security, and performanceDecomposes intricate and interconnected designs into implementations that can be effectively built and maintained by less experienced engineersAnticipates trouble areas in systems under development and guides the team in instrumentation practices to ensure observability and supportabilityDefines test suites and instrumentation that ensures targets for latency and availability are being consistently met in productionLeads through example by prioritizing the closure of open vulnerabilitiesEvaluates potential attack surfaces in systems under development, identifies best practices to mitigate, and guides teams in their implementationLeads team in the identification of small batches of work to delivery the highest value quicklyEnsures reuse is a first class consideration in all team implementations and is a passionate advocate for broad reusabilityFormally mentors teammates and helps guide them to and along needed learning journeysObserves their environment and identifies opportunities for introducing new approaches to problemsRequirements :
Minimum Qualifications - Education & Prior Job ExperienceBachelor's degree in Computer Science, Computer Engineering, Technology, Information Systems (CIS / MIS), Engineering or related technical discipline, or equivalent experience / training4+ years of experience designing, developing, and implementing large-scale solutions in production environmentsPreferred Qualifications - Education & Prior Job ExperienceMaster's degree in Computer Science, Computer Engineering, Technology, Information Systems (CIS / MIS), Engineering or related technical discipline, or equivalent experience / trainingAirline Industry experienceSkills, Licenses, and Certifications :
Designing cloud-native architectures - Utilizing microservices and containerization to design applications that are modular, scalable, and highly resilientContainerization and orchestration - Deploying applications within containers and managing them using container orchestration platforms (e.g. Docker / KubernetesDevOps practices - Integrating CI / CD pipelines to automate build, test, and deployment processes, enabling rapid feedback loopsMicroservices development - Designing and building independent, small services that can be developed and deployed independentlySecurity and compliance - Implementing robust security measures for cloud-native applications, ensuring compliance with relevant regulationsMonitoring and logging - Setting up monitoring systems to track application performance, identify issues, and troubleshoot problemsPerformance optimization - Optimizing application performance for cloud environments, considering scalability and resource utilizationCloud platform expertise - Proficiently using cloud provider services (e.g. Azure)Collaboration with cross-functional teams - Working closely with other team members (e.g. system administrators, QA engineers, and product owners to ensure smooth application delivery)Ability to optimize solutions for performance, resiliency and reliability while maintaining an eye toward simplicityAbility to concisely convey ideas verbally, in writing, in code, and in diagramsProficiency in object-oriented design techniques and principlesProficiency in Agile methodologies, such as SCRUMProficiency in DevOps Toolchain methodologies, including Continuous Integration and Continuous DeploymentProficiency with the following technologies :
o Programming Languages : Java, Python, C#, Javascript / Typescript
o Frameworks : Spring / SpringBoot, FastAPI
o Front End Technologies : Angular / React
o Deployment Technologies : Kubernetes, Docker
o Source Control : GitHub, Azure DevOps
o CICD : GitHub Actions, Azure DevOps
o Data management : PostgreSQL, MongoDB, Redis
o Integration / APIs Technologies : Kafka, REST, GraphQL
o Cloud Providers such as Azure and AWS
o Test Automation : Selenium, TestNG, Postman, SonarQube, Cypress, JUnit / NUnit / PyTest, Cucumber, Playwright, Wiremock / Mockito
Required Skills : Java
Basic Qualification :
Additional Skills :
This is a high PRIORITY requisition. This is a PROACTIVE requisition
Background Check : No
Drug Screen : No