Software Engineer III - IOS
JPMorganChase · New York, NY · Today
On-siteEngineeringFull-time
About the role
As a Software Engineer III at JPMorganChase within the BUSINESS ACCESS & TOOLS, you are part of an agile team that works to enhance, design, and deliver the software components of the firm's state-of-the-art technology products in a secure, stable, and scalable way. You execute software solutions through the design, development, and technical troubleshooting of multiple components within a technical product, application, or system, while gaining the skills and experience needed to grow within your role.
Responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or breakdown technical problems
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Implements comprehensive testing strategies including unit tests (XCTest), UI tests (XCUITest), and automated test suites to ensure code quality and reliability
- Leverages enterprise-authorized AI coding assist tools within the work environment to improve code quality, delivery speed, and productivity across complex deliverables (e.g., code generation/refactoring, unit test creation, documentation), while validating outputs through peer review, automated testing, and secure coding standards; contributes learnings and reusable patterns to improve broader team effectiveness
- Applies knowledge of tools within the Software Development Life Cycle toolchain, including enterprise-authorized AI-assisted development and automation capabilities, to improve the value realized by automation
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Gathers, analyzes, synthesizes, and develops visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems
- Proactively identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
Requirements
- Formal training or certification on software engineering concepts and 3+ years applied experience
- Applied experience in native mobile application development
- Proficiency in Swift programming language (including modern concurrency patterns like async/await and Combine)
- Strong experience with iOS frameworks: UIKit, SwiftUI, Foundation, Core Data, Combine, and experience with object-oriented programming and design patterns (MVC, MVVM, Coordinator, SOLID)
- Demonstrated expertise in writing unit tests using XCTest and UI tests using XCUITest with strong commitment to test-driven development practices
- Experience with CI/CD processes and tools (e.g., Bitrise, Jenkins, GitHub Actions) and Git source control management
- Experience with modularization, dependency injection, and building reusable iOS SDKs or frameworks
- Practical experience with AI-assisted development tools (e.g., GitHub Copilot, code generation tools) and understanding of how to integrate AI capabilities into development workflows
- Hands-on experience using enterprise-authorized AI-assisted software development tools within the work environment (e.g., for coding, test creation, troubleshooting, or documentation) with demonstrated ability to critically evaluate, validate, and refine AI-generated outputs for correctness, performance, and security
- Understanding of responsible AI use in engineering workflows, including data sensitivity considerations, secure handling of inputs/outputs, and adherence to resiliency and security expectations; ability to guide peers on safe and effective usage within team practices
Preferred Qualifications
- Experience building or working with Design Systems (UI Development, white-labeling)
- Appreciation for Accessibility and understanding of how to meet WCAG and Apple accessibility requirements
- Practical cloud native experience (AWS, Azure, or GCP)
- Active GitHub/Stack Overflow profile or published app portfolio demonstrating technical expertise