Description for Internal Candidates
You're ready to gain the skills and experience needed to grow within your role and advance your career - and we have the perfect software engineering opportunity for you.
As a Software Engineer II at JPMorgan Chase within theConsumer and Community Banking - Tech (Mobile Channels) 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. As an emerging member of a software engineering team, 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.
Job responsibilities
- Feature Implementation:Develop and maintain code for new features, user interfaces, and application functionalities, following the guidance of senior developers.
- Bug Fixing:Identify and resolve bugs in existing code to enhance app stability and performance.
- Code Reviews:Engage in peer code reviews to elevate code quality and disseminate knowledge.
- Agile Collaboration:Work effectively within a Scrum Team, with a solid understanding of agile processes and ceremonies.
- Testing:Write unit tests to ensure code stability and functionality. Collaborate with QA engineers to thoroughly test features and address bugs before release.
- Best Practices:Adhere to industry best practices, including clean coding, architectural patterns, and code optimization techniques.
- Version Control:Regularly commit code to version control systems like Git and collaborate on feature branches.
- CI/CD Maintenance:Assist in maintaining Continuous Integration/Continuous Deployment (CI/CD) pipelines for app builds and testing.
Required qualifications, capabilities, and skills
Formal training or certification on software engineering concepts and 5+ years applied experience
- Experience in Swift:Strong knowledge of Swift, Apple's primary programming language for iOS development.
- Knowledge of Objective-C:Understanding of Objective-C for maintaining and updating legacy projects.
- Experience with Xcode:Proficient in using Xcode, Apple's integrated development environment (IDE) for iOS applications.
- Good Understanding of iOS Frameworks:Familiarity with essential iOS frameworks.
Experience with RESTful APIs:Skilled in consuming RESTful APIs to connect iOS applications with backend services.
- Debugging and Troubleshooting:Proficient in using Xcode debugging tools, analyzing crash logs, and diagnosing performance issues.
- Logical Thinking:Ability to decompose problems into smaller, manageable parts and address them systematically.
- iOS App Lifecycle:Knowledge of app states (foreground, background, suspended) and memory management principles.
- Apple Human Interface Guidelines:Familiarity with Apple's guidelines for designing user-friendly and intuitive apps.