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 of applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- In-depth knowledge of the financial services industry and their IT systems
- Advanced knowledge of one or more software, applications, and architecture disciplines
- Ability to evaluate current and emerging technologies to recommend the best solutions for the future state architecture
- Proven expertise in Java programming with a strong grasp of object-oriented principles and design patterns.
- Hands-on experience with Spring Boot & Spring Webflux for developing scalable and efficient backend applications
- Proficiency in Kubernetes for container orchestration and management of microservices
- Experience with Apache Kafka for real-time data streaming and event-driven architectures
- Strong skills in SQL and relational databases, including design, querying, and optimization
Preferred qualifications, capabilities, and skills
- Familiarity with GraphQL for building efficient and flexible APIs
- Experience with Java Message Service (JMS) for messaging and integration in distributed systems
- Knowledge of Spring Batch for handling large volumes of data and batch processing tasks