Mid-Senior Java Dev
Pilot Technology Team MemberThis position is a member of the Pilot Technology Team within the Information Technology Division. This position will be responsible for leveraging cutting edge technology to solve business problems at American Airlines by participating in all phases of the development process from inception through transition, advocating the agile process and test-driven development, using Dev-ops oriented development tools and techniques to analyze, model, design, construct, test and deploy reusable objects, and making the codebase a better place to live and work.Job Qualifications:Bachelor's degree in Computer Science, Computer Engineering, Technology, Information Systems (CIS/MIS), Engineering or related technical discipline, or equivalent experience/training1+ years of full Software Development Life Cycle (SDLC) experience, using ITIL, Agile, XP, or similar methodologiesPreferred Qualifications:Master's degree in Computer Science, Computer Engineering, Technology, Information Systems (CIS/MIS), Engineering or related technical discipline, or equivalent experience/training3+ years of full Software Development Life Cycle (SDLC) experience, using ITIL, Agile, XP, or similar methodologies3+ years full stack development experienceAirline Industry experience, including business systems and technologySkills, Licenses & Certifications:Experience in coordinating with offshore teams.Excellent grasp of OOP and how it is applied in Java/J2EE.Expertise in building RESTful APIs in Java, SpringBoot, Maven.Expertise in relational or document-based databases like SQL, PostgreSQL or Mongo.Knowledge of cloud computing platform technologies (i.e., Azure / AWS).Experience with Test Driven Development, take full ownership of code and its quality.Solid understanding of Git, GitHub, CI/CD tools and DevOps principles.Have been operating in Scrum/Agile environment and have excellent communication skills and ability to successfully resolve issues across multiple development teams.Essential Job Functions:Collaborates with leaders, business analysts, project managers, IT architects, technical leads and other developers, along with internal customers, to understand needs and develop solutions according to business requirementsMaintains and enhances existing enterprise services, applications, and platforms using domain driven design and test-driven developmentTroubleshoots and debugs complex issues; identifies and implements solutionsCreates detailed project specifications, requirements, and estimatesResearches and implements new technologies to enhance current processes, security, and performanceSupports the development of coding standards and adhere to best practices and security guidelinesWorks closely with software architects and technical leads to ensure decisions meet long-term enterprise growth needs