Job Summary
- dvanced experience in designing, writing program code, testing, documenting, and implementing functionally appropriate, technically sound, and well-integrated application systems in accordance with Customer requirements, organizational methodologies, and standards. Identifies and prevents production problems and implement immediate resolution efforts across technology areas. Mentoring Software Engineers, holistic vision of organization and impact, focusing on "shift left" activities.
- We're looking for an experienced and passionate iOS engineer to join the iOS platform team. You will be a core contributor to the code base, and you will also help mentor other engineers and have a large influence on important technical decisions. Our Mobile team builds products and features that drive the core experience on the Southwest Airlines mobile application. This position will play a key role in building and supporting mobile features. In this role there will be opportunity to work across different development stacks and influence product decisions.
- Responsibilities
Design and build intuitive features to improve the experience of the iOS platform using latest Swift and latest XCode
Work closely with our Digital Experience Team to conceptualize, develop and launch new and innovative featuresWork with the Team to promote best practices and ensure a high quality bar is maintainedImprove the mobile codebase by working on foundational issues and helping to rearchitect, as necessaryCarry out code reviews to guarantee code qualityPromote robust and maintainable code, clear documentation, and deliver high quality work on a tight schedulePromote a continuous improvement mindset and partner with Tech Leads and Solutions Architects to ensure continuous improvement in our native appsDrive the technical direction and feature roadmap of large-scale cloud systems
Serve as a technical lead contributing to and directing the efforts of development teams, including internal and external team membersDetermines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutionsDrives detailed definition of feature requirements through discussions with product managers and customersSupports continuous improvement by investigating alternatives and new technologiesPrepares and installs solutions by determining and designing system specifications, standards, and programmingEvaluates code to ensure that it is valid, is properly structured, meets industry standards, and is compatible with browsers, devices, or operating systemsMentor Software Engineers to allow for skill / knowledge development through advice, coaching, and training opportunitiesUpdate job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizationsMay perform other job duties as directed by Employee's LeadersKnowledge, Skills and AbilitiesExtensive knowledge of iOS technologies such as SwiftUI, Objective-C, Cocoa, Combine and RxSwift
Strong understanding of software development principles, capabilities, and limitations of iOS platformUtilize MVVM design pattern and development best practicesAbility to understand and debug large and complex native application code basesExperience working on complex systems with a large customer baseQuality-first mindset with an emphasis on designing features with testability as a pre-requisiteExperience with and passion for Unit Testing and Code Coverage tools (ex. XCTest)Advanced source control skills (branching and versioning, pull requests, merge conflict resolution, code reviews)Security and encryption principles (e.g., biometrics, RSA, SqlCypher, SecureAuth or Ping) is a plusdvanced knowledge of software development methodologies, practices, concepts, and technologies obtained through formal training and / or work experienceProactively shares knowledge and skills of software development and testing to solve a range of problemsdvanced knowledge of at least one required programming languageExcellent partnering, communication, negotiation skills, and execution in working with various Technology or partner Teamsbility to articulate (verbally / visually) ideas, approach, concepts, options, risk, impact, and provides guidance to technical, non-technical, and Leadership audiencesbility to lead multiple assignments, whether administrative or project related, while maintaining a successful level of completion in all responsible workbility to mentor othersbility to lead ideating, presentations, mentoring and group-thinking sessionsbility to influence without authorityAdditional Job Description - Education; Experience; Licensing / Certification; Physical Abilities; Other Qualifications
EducationRequired : High School Diploma or GEDRequired : Bachelor's Degree in Business, Engineering, Computer Science, or Information Systems, or related field; or equivalent formal trainingExperienceRequired : Advanced-level experience, seasoned and specialized knowledge in software development and methodologiesLicensing / CertificationN / APhysical Abilitiesbility to perform work duties from [limited space work station / desk / office area] for extended periods of timebility to communicate and interact with others in the English language to meet the demands of the jobbility to use a computer and other office productivity tools with sufficient speed and accuracy to meet the demands of the jobOther QualificationsMust maintain a well-groomed appearance per Company appearance standards as described in established guidelinesMust be a U.S. citizen or have authorization to work in the United States as defined by the Immigration Reform Act of 1986Must be at least 18 years of ageMust be able to comply with Company attendance standards as described in established guidelines