About the role
Responsibilities:
- Writes, tests, and documents technical work products (e. g., code, scripts, processes) according to organizational standards and practices.
- Devotes time to raising the quality and craftsmanship of products and systems.
- Conducts root cause analysis to identify domain-level problems and prescribes action items to mitigate them.
- Designs self-contained systems within a team's domain and leads implementations of significant capabilities in existing systems.
- Coaches team members in the execution of techniques to improve reliability, resiliency, security, and performance.
- Decomposes intricate and interconnected designs into implementations that can be effectively built and maintained by less experienced engineers.
- Anticipates trouble areas in systems under development and guides the team in instrumentation practices to ensure observability and supportability.
- Defines test suites and instrumentation that ensures targets for latency and availability are being consistently met in production.
- Leads by example by prioritizing the closure of open vulnerabilities.
- Evaluates potential attack surfaces in systems under development, identifies best practices to mitigate, and guides teams in their implementation.
- Leads the team in the identification of small batches of work to deliver the highest value quickly.
- Ensures reuse is a first-class consideration in all team implementations and is a passionate advocate for broad reusability.
- Formally mentors teammates and helps guide them to and along needed learning journeys.
- Observes their environment and identifies opportunities for introducing new approaches to problems.
Requirements:
- Bachelor's degree in Computer Science, Computer Engineering, Technology, Information Systems (CIS/MIS), Engineering, or a related technical discipline, or equivalent experience/training.
- 4+ years of experience designing, developing, and implementing large-scale solutions in production environments.
- Master's degree in Computer Science, Computer Engineering, Technology, Information Systems (CIS/MIS), Engineering, or a related technical discipline, or equivalent experience/training.
- Airline Industry experience.
- Ability to optimize solutions for performance, resiliency, and reliability while maintaining an eye toward simplicity.
- Ability to concisely convey ideas verbally, in writing, in code, and in diagrams.
- Proficiency in object-oriented design techniques and principles.
- Proficiency in Agile methodologies, such as SCRUM.
- Proficiency in DevOps Toolchain methodologies, including Continuous Integration and Continuous Deployment.
- Ability to effectively communicate both verbally and in writing with all levels within the organization.
Proficiency with the following technologies:
- Programming Languages: Java.
- Frameworks: Spring/SpringBoot, FastAPI.
- Front End Technologies: Angular/React.
- Deployment Technologies: Kubernetes, Docker.
- Source Control: GitHub, Azure DevOps.
- CICD: GitHub Actions, Azure DevOps.
- Data management: PostgreSQL, MongoDB, Redis.
- Integration/API Technologies: Kafka, REST, GraphQL.
- Cloud Providers such as Azure and AWS.
- Test Automation: Selenium, TestNG, Postman, SonarQube, Cypress, JUnit/NUnit/PyTest, Cucumber, Playwright, Wiremock/Mockito/Moq.