Job Description
Summary
We have an opportunity to impact your career and provide an adventure where you can push the limits of what's possible.
As a Lead Software Engineer at JPMorgan Chase within the Corporate and Investment Banking - Liquidity and Account Solutions team, you are an integral part of an agile team that works to enhance, build, and deliver trusted market-leading technology products in a secure, stable, and scalable way. As a core technical contributor, you are responsible for conducting critical technology solutions across multiple technical areas within various business functions in support of the firm’s business objectives.
Job responsibilities
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Develops secure high-quality production code, and reviews and debugs code written by others
- Works closely with Solution & Technical Architects, Senior Engineers to develop the best technical design and approach for new product development.
- Manages daily activities of the development team with scrum & agile approach and instill best practices for software development and documentation, assure designs meet requirements, and deliver high-quality work on tight schedules.
- Identifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
- Leads evaluation sessions with external vendors, startups, and internal teams to drive outcomes-oriented probing of architectural designs, technical credentials, and applicability for use within existing systems and information architecture
- Leads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologies
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years of applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced in Java 17+ with Spring Boot with deep understanding of architectural concepts, issues and trends.
- Experience of creating thread-safe concurrent code in Java or another JVM based language
- Hands-on experience with event driven architecture and distributed messaging technologies (e.g. Kafka)
- Experience with Docker and running Production workloads on Kubernetes
- Experience using and designing schemas/data structures in SQL and NoSQL databases (e.g. Oracle, PostgreSQL, MongoDB and Cassandra)
- Proficiency in automation and continuous delivery methods
- Proficient in all aspects of the Software Development Life Cycle
- Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Demonstrated proficiency in software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
- In-depth knowledge of the financial services industry and their IT systems
Preferred qualifications, capabilities, and skills
- Ability to work independently and in a team & Proficient at researching innovative solutions for challenging technical problems.
- Willingness to research, pick up and learn new technologies, frameworks and tools.
- Looking for someone who brings a lot of positive energy.
- Experience with caching technologies, e.g. Redis
- Hands on experience with C++, Rust or Golang
- Knowledge of data serialisation formats (e.g. Google Protocol Buffers, Apache Avro and Parquet)
- Experience with gRPC
- Certified Kubernetes knowledge (e.g. CKAD)
- Certified public cloud technology knowledge (e.g. AWS)
Skills
- AWS
- C++
- Communications Skills
- Database Management
- Development
- Java
- Leadership
- Rust
- Software Engineering
- SQL