Sr Lead Software Engineer

JPMorgan Chase & Co.Jersey City, New JerseyOn-siteFull-timeSenior, 5–8 yearsListed 1 hour ago

Apply now

About this role

Join a high-performance agile team maintaining and improving governance technology products.

As a Software Engineer at JPMorgan Chase within the Corporate Technology Office, you will contribute to a high-performance agile team designing and delivering trusted, mission critical distributed technology products in a secure, reliable, and scalable way.

The access governance engineering team is maintaining and enhancing an access control system that is an integral part of business operations at JP Morgan Chase. Operations within this system are complex and involve collaboration across multiple teams on different time schedules.

We are looking for passionate engineers with broad exposure to multiple technologies, driven by the desire to learn, to understand, to invent, and to push boundaries. We use agile methodology in our development practice. We strive to deliver great software that meets or exceeds actual business and regulatory requirements.

We work in a technically diverse ecosystem using a mixture of vendor products, open-source products, and custom in-house solutions. We define policy across information models expressed in RDF and UML, retrieve data via Graph and REST APIs, and deploy a reusable component across multiple points in the application flow, in both containerized and non-containerized patterns. We combine it all through a managed services layer.

Job responsibilities

- Decompose technical problems and build loosely coupled, highly cohesive solutions at the appropriate level of abstraction, with the ability to think beyond routine, conventional approaches.

- Implement solutions with an eye for detail and a passion for quality code.

- Crafts secure, high-quality production code. Have an eye for detail and a passion for quality code.

- Contribute to collaborative team culture of mutual respect and active leadership, and corresponding followership, from every member.

- Be a constant learner who is ready to question the status quo and to solve problems creatively.

- Learning mindset that contributes and explores new and emerging technologies.

Required qualifications, capabilities, and skills

- Great verbal and written communication skills

- Strong software engineering fundamentals and programming skills

- Demonstrated experience in Java development and with distributed computing

- Hands-on practical experience delivering system design, application development, testing, and operational stability

- Advanced understanding of agile methodologies such as CI/CD, Applicant Resiliency, and Security

- Experience with prompt engineering

Preferred qualifications, capabilities, and skills

- Advanced knowledge of refactoring techniques, domain ‑ driven design, and object ‑ oriented design patterns; experience evolving legacy codebases safely.

- Experience designing and implementing distributed services and event driven architectures.

- Experience with GoLang or Rust programming languages.

- Experience with behavior driven development test tools such as Cucumber.

- Exposure to RDF technologies such as SparQL or JSON-LD.