Software Engineering
Role details
Job location
Tech stack
Job description
Designing and developing software for all derivatives systems and Business users including, Front Office, Operations, Middle Office, and Regulatory Reporting utilizing Java technologies (Spring boot, Spring batch, Spring data and Spring security). Applying enterprise design patterns; and refactoring legacy monolithic Java applications into Microservices and RESTful API services. Integrating Spring boot applications using Spring Data with SQL server or PostgreSQL. Performing cloud migration of applications to AWS or Azure adhering to enterprise security standards. Performing file management and writing scripts in Linux operating system. Writing CI/CD build specifications with Maven (dependency management and build tool) and GIT (source control); following SDLC process (Agile or Waterfall) methodology for projects. Conducting integration tests and providing release and deployment support for applications. Creating Linux shell scripts for batch and deployment automation. Utilizing JIRA for task and issue management. Developing, testing and implementing the agreed solution into production, following the Bank's Policies and Procedures. Troubleshooting IT issues and problems, coming up with clear action plans to resolve such issues. Acting as IT lead for large software development projects and coordinating with other teams for business analysis and testing. Partnering with subject matter experts (SME) to translate project objectives and requirements into a detail technical requirement document with timelines, task lists and next step. Working closely with Business users and the Planning team to document, define and track project technical requirements, milestones and deliverables for software and application development projects. Using software and applications such as JIRA to organize the work assignments of key technical projects, and communicating to all project participants in a clear and concise way. Interacting closely with project managers, internal constituents, and external vendors to design and develop software systems. Liaising with the various vendors to learn their systems, and look for software development improvements to enhance existing software applications. Working on any Investment Banking and Markets (IB&M) initiatives requiring software development assistance.
Requirements
Education: Bachelor's Degree in Applied Computer Science, Computer Engineering, or a related field (or foreign equivalent degree).
Experience: 5 years of software development experience with Java technologies (Spring boot, Spring batch, Spring data and Spring security); applying enterprise design patterns; refactoring legacy monolithic Java applications into Microservices and RESTful API services for minimum 1 project; integrating Spring boot applications using Spring Data with SQL server or PostgreSQL; performing cloud migration of applications to AWS or Azure adhering to enterprise security standards; performing file management and writing scripts in Linux operating system; writing CI/CD build specifications with Maven (dependency management and build tool) and GIT (source control); following SDLC process (Agile or Waterfall) methodology for projects; conducting integration tests and providing release and deployment support for applications; creating Linux shell scripts for batch and deployment automation; utilizing JIRA for task and issue management; and 1 year of experience must include developing applications in the banking or financial services industry.
Benefits & conditions
Other: Required to work nights, weekend and non-business hours for production support and project deployments.
Other: Position requires employment in-office 4 days per week and remotely 1 day per week.
Wage: $145,642 to $170,000 U.S. dollars per year