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
- Works at code level with Java while leading a team of developers and provides regular coaching, conduct code and design reviews
- Works directly with business, quant and technology teams to articulate new technology requirements and solve business problems
- Collaborates with other members of a globally distributed team to brainstorm new ideas / solutions, and provide mentoring and technical expertise to the team
- Develops specific enhancements and build new solutions to fulfill business objectives related to new business requirements
- Owns the end-to-end process of feature deliveries through the full SDLC process, including requirements gathering, development, unit and integration testing, packaging, deployment, and support
- Work closely with other technology teams to ensure that required changes are made in other systems
- Ensures technology solutions meet business and client requirements, that they are robust and supportable
- Documents release procedures and support notes for deliverables to enable proper support by our production management groups
- Provides third level production support on a rotation basis – analyze issues observed in production, provide detailed analysis and recommendations to production management groups, and identify opportunities to improve the production system
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Proficient in all aspects of the Software Development Life Cycle and tools including Git/Bitbucket, Jira, Jenkins, Gradle, Maven
- Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, Security, Test-Driven Development (TDD), and using tools such as JUnit and mocking frameworks
- Hands-on coding experience in Java, and understanding of Java Core concepts including object-oriented design, memory management, multi-threading/concurrency, and new language features up to Java 17 while leading team of Software Engineers
- Expertise in Java technologies/frameworks such as Spring/Spring Boot, and REST based services
- Expertise in designing and implementing scalable microservice architectures with high resiliency capabilities
- Proficiency in Unix/Linux environments, ability to navigate the system, investigate processes and logs
- Expertise in Databases, relational, and No-SQL and JVM performance analysis including profiling, heap dump analysis, thread dump analysis, and GC tuning
- Demonstrated ability in supporting production environments, responding to user concerns, and taking ownership of production issues while working in a third level advanced support capacity
Preferred qualifications, capabilities, and skills
In-depth knowledge of the financial services industry and their IT systems
Knowledge of cloud compute platforms, including AWS.
Hands-on coding experience in C++ or C#