As a Lead Software Engineer at JPMorgan Chase within the Consumer and Community Banking's Personalization and Insights 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.
Requirements
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced in one or more programming language(s): Java, C++, python
- High-throughput, low-latency micro service development using public cloud services.
- High throughput stream processing using Kinesis, Flink
- High volume data processing using tools such as DuckDB, Spark EMR etc.
- 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.). Experience with agile methodologies and knowledge of SDLC including CI/CD, Application Resiliency, and Security is needed.
- Experience in containers (docker ecosystem), container orchestration systems [Kubernetes, ECS], DAG orchestration [Airflow, Kubeflow etc]
- Hands-on experience with AWS managed services such as EKS, ECS ECS2, ECS Fargate
- Experience with recommendation and personalization systems
- Developing software in a well-managed Software development environment such as Banking
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
Other
- Adds to team culture of diversity, opportunity, inclusion, and respect