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
- Builds cloud native applications consistent with micro-service architecture principles leveraging domain driven design and micro-services architecture principles, identifying bounded contexts and service interactions – e.g. asynchronous events and RESTful API decisions
- Develops fully automated CI / CD pipelines, supports software solutions that are customer focused & highly secure and deploys on a Private Cloud Kubernetes platform
- Collaborates to design solutions including activity flows, and logical data models
- 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
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years of applied experience
- Hands-on experience designing and developing applications based on domain driven design with clearly defined service boundaries & contracts that support multiple versions with backward compatibility
- Advanced in one or more programming languages - Java, Spring Framework
- Practical cloud native experience
- Demonstrated proficiency in development tools and frameworks – GIT, JaCoCo, Hibernate, Apache Maven, Jenkins
- Good understanding of Oracle or other SQL databases
- Proficiency with mocking frameworks in JUnit testing - JMockit, Mockito, etc.
- Practical knowledge of application tools - Sidecar, Circuit breaker, traffic shifting, Ingress, Egress, etc.
- Hands-on implementation knowledge of managing asynchronous communication using Kafka
- Advanced understanding of agile methodologies such as CI/CD, Applicant Resiliency, and Security
- Demonstrated proficiency in software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
Preferred qualifications, capabilities, and skills
- Hands-on experience with Application Programming Interface Tools– GraphQL Elastic, S3, Docker, Kubernetes, Cucumber
- In-depth knowledge of the financial services industry and their IT systems