Responsibilities
- Design, develop, and maintain full-stack applications using Java, Scala, Angular, and related technologies.
- Collaborate directly with business stakeholders to understand requirements and translate them into robust technical solutions.
- Own the full software development lifecycle, from analysis and design through implementation, testing, deployment, and production support.
- Analyze existing systems, identify areas of technical complexity or inefficiency, and drive improvements.
- Build scalable, maintainable, and well-tested solutions using modern engineering practices.
- Contribute to architecture discussions and technology decisions.
- Work effectively with globally distributed teams across multiple regions and time zones.
- Promote high standards of software quality, testing, operational stability, and technical excellence.
Requirements
- 3-5 years of experience developing enterprise applications using Java technologies.
- Strong hands-on experience with the Spring ecosystem.
- Experience with automated testing frameworks such as JUnit, Cucumber, JBehave, Concordion, or similar tools.
- Experience working with relational databases such as DB2, Sybase, or equivalent platforms.
- Working knowledge of Git, Bitbucket, Jenkins, and Unix/Linux environments.
- Experience with software development lifecycle (SDLC) methodologies and delivery best practices.
- Strong communication skills and experience collaborating with global teams.
- Bachelor's degree in Computer Science, Engineering, or a related discipline.
Nice to Have
- Experience with Angular, TypeScript, and modern JavaScript frameworks.
- Experience with Scala development.
- Experience in financial services, capital markets, securities financing, or trading platforms.
- Experience working with distributed, high-availability, business-critical systems.
- Familiarity with cloud technologies and modern platform engineering practices.
- Exposure to AI-assisted software development tools and workflows.
- Experience contributing to architecture decisions and technical leadership within development teams.