What are the responsibilities and job description for the Lead Software Engineer - Java/Spark/AWS position at JPMorgan Chase?
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 - Java/Spark/AWS at JPMorgan Chase within the AI/ML Data Platforms 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
- 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 applied experience
- Advanced in one or more programming language(s) including Java
- Experience across the data lifecycle spark-based Frameworks for end-to-end ETL, ELT & reporting solutions using key components like Spark SQL & Spark Streaming. Strong knowledge of multi-threading and high volume batch processing.
- Should be good in performance tuning on for Java/Python and Spark
- Experience building complex distributed systems using Java(11/17) on AWS
- Deep knowledge of AWS product/services and Kubernetes/container technologies and how they are best used for specific workloads.
- Good understanding of established patterns, such as stability patterns/anti-patterns, event-based architecture, CQRS and process orchestration.
- Extensive hands-on experience in building out applications on AWS across multi AZ, multi region and multi-cloud vendor environments.
- Experience in building out real-world architectures that business engineering teams buy into and build their application around
- An excellent understanding of modern engineering practices to take advantage of key benefits of Public Cloud (e.g. auto-scaling)
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Understanding of Big Data stack (Spark/Iceberg)
- Data pipelines management
- Datalakes knowledge