Join JPMorgan Chase as a Software Engineer III in the Sales Enablement team to design and deliver cutting-edge technology products. Responsibilities include developing software solutions, creating secure production code, writing BDD use cases, and performing automated testing.
As a Software Engineer III at JPMorgan Chase within the Commercial Bank - Sales Enablement team, you serve as a seasoned member of an agile team to design and deliver trusted market-leading technology products in a secure, stable, and scalable way. You are responsible for carrying out critical technology solutions across multiple technical areas within various business functions in support of the firm’s business objectives.
Job responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Write BDD use cases for new features
- Develop automated tests to certify application's functionality and ensure it meets the requirements
- Develop automated tests for the application's user interface and APIs.
- Perform manual testing of features if required when automated tests are not available or cannot be developed
- Develop high quality software to build, upgrade and maintain an automated test suite framework
- Write code to add new features to the automated test suite framework per initiatives at the immediate team level and beyond
- Perform DevOps tasks to include testing in the development cycle and build pipelines
- Report application defects to SCRUM team and ensure the appropriate follow ups to eliminate the defects
- Record and maintain quality assurance metrics and generate quality reports
- 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
- 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
- Experience writing software applications using Node.JS, Python, SQL
- Experience using Selenium, Cucumber, Mocha, and Appium for test automation of desktop, mobile and native applications
- Understand how web applications work and the challenges they pose when developing automated tests for them
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Solid understanding of agile methodologies such as CI/CD, Applicant Resiliency, and Security
- Understanding of HTML code and ability to generate robust web element generic xPaths
- Understanding of common issues and pitfalls of automated tests for web applications, and being able to write software logic to mitigate them
- A continuous improvement mindset to always look for ways to improve and make our technology better
- Overall knowledge of the Software Development Life Cycle
Preferred qualifications, capabilities, and skills
- Experience with Jenkins pipelines and configuration using the Groovy programming language
- Experience with AWS products: compute, storage, serverless, security, identity and database
- Experience with SQL and NoSQL databases
- Experience recording, analyzing and reporting metrics from raw data