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.
- Mentor junior engineers on patterns and best practices.
- 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.
- Experience using Java.
- Experience with distributed systems and cloud technologies (AWS, GCP, Azure, etc.)
- Experience with micro services/RESTful API, relational/NoSQL databases, data modeling and data ingestion frameworks.
- Hands-on experience with data streaming and messaging frameworks (Kafka, Spark, etc.).
- Understanding of dependency injection frameworks (Spring / Spring Boot, etc.).
- Understanding of containers (Dockers, Kubernetes, Helm, etc.).
- Understanding of Infrastructure-as-Code and related tools.
Preferred qualifications, capabilities, and skills
- Cloud certification.
- Practical cloud native experience.
- Experience using Python.
- In-depth knowledge of the financial services industry and their IT systems.