Lead Software Engineer - Core Engineering
JPMorganChase
Job Description
Be an integral part of a team that's constantly pushing the envelope to enhance, build, and deliver top-notch technology products.
As a Lead Software Engineer at JPMorgan Chase within the Global Banking Platform (GBP), you are an integral part of a team that works to enhance, build, and deliver trusted market-leading technology products in a secure, stable, and scalable way.
We are building the next generation core banking platform that will operate at a global scale and will support hundreds of millions of accounts. We use cloud native technologies, and the work involves the development of micro-services, integrations, dashboards, production support tools and CI/CD pipelines.
Initially, successful candidates for the role will be seconded to a FinTech software partner. This is an exciting opportunity to experience the day to day of a fintech while being fully backed by JPMC. After the conclusion of the secondment, all secondees will return to JPMC and apply the knowledge, technologies and practices acquired and develop the critical services to support GBP’s worldwide journey to the cloud.
Job Responsibilities- Design, implement and develop scalable, performant microservices using software engineering best practices.
- Write secure and high-quality production code, and reviews and debugs code written by others
- Write automated unit tests, integration tests, etc.
- Produce architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Identify opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
- Manage and troubleshoot deployments from testing environments all the way to production.
- Interface with other engineering teams to ensure that features are added in a structured and coherent way.
- Translate generic product requirements into trackable tickets.
- Mentor other engineers in the team in software engineering best practices
- Identify process improvements and help the team to work more efficiently
- Lead communities of practice across software engineering to drive awareness and use of new and leading-edge technologies
- Add to team culture of diversity, equity, inclusion, and respect
- Formal training or certification on software engineering concepts and applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Advanced knowledge in at least one major programming language: Go, Python and/or Java
- Experience with RESTful APIs
- Proficiency in automation and continuous delivery methods
- Proficient in all aspects of the Software Development Life Cycle (SDLC).
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Practical experience in developing cloud native applications with any cloud provider.
- Knowledge of banking / finance.
- Familiar with databases (SQL or NoSQL).
- Experience with client/server software architectures & networking, or microservice architectures.
- Experience using orchestration tools such as Kubernetes or Mesos.
- Experience with streaming architectures and tools (e.g. Kafka)