Job Responsibilities
- Participates in, design and develop scalable and resilient systems using Java or Python to contribute to continual, iterative improvements for product teams
- Executes software solutions, design, development, and technical troubleshooting
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Produces or contributes to architecture and design artifacts for applications while 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
- Identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
- Contributes to software engineering communities of practice and events that explore new and emerging technologies
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Hands-on practical experience in system design, application development, testing and operational stability
- Proficient in coding in Java or Python languages
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Overall knowledge of the Software Development Life Cycle
- Understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
Preferred qualifications, capabilities, and skills
- Familiarity with modern front-end technologies
- Exposure to cloud technologies
Your Role Level
JPMorgan Chase is looking to hire Software Engineers at Software Engineer II and Software Engineer III levels. A determination will be made on placement for successful candidates based on the results of a skills-based assessment which applicants will be asked to complete during the hiring process, as well as, the candidate interview. The assessment will evaluate ability to perform basic coding and systems design responsibilities. For the Software Engineer II level, the role requires the ability to understand advance features of a coding language, design a viable system, and solve functional problems through basic language applications. For the Software Engineer III level, the role requires a higher level of proficiency and the ability to function independently, including the ability to use and explain advance features of a coding language, design systems across technologies and platforms, solve functional and non-functional problems through an application of language best practices, as well as, the ability to assess issues broadly, identify alternative or innovative solutions, collaborate effectively, and provide guidance to others.