Job Description
As a Software Engineer, you will be part of a cross-functional team, working on developing high-quality, maintainable software solutions to meet our clients' needs. You will continue to expand your technical skills and contribute to process improvements, while also taking ownership of key tasks and responsibilities within the project. You will use programming languages such as Java and associated frameworks (e.g., Spring/Spring Boot, JUnit, Hibernate, etc.) to develop software that aligns with client requirements. You will follow best engineering practices and help ensure they are applied throughout the team. Additionally, you may have the opportunity to contribute to Front-End development as needed. You will also create clear and effective documentation to ensure the best experience for our client’s users.
Qualifications
* Experience of working in a Scrum Team and an Agile environment
* Solid software engineering background covering SOLID principles with Java experience.
* Solid experience with Test-Driven Development (TDD) principles, writing unit and integration tests to ensure code quality, and maintaining a reliable testing suite to support continuous integration and delivery.
* Some experience with Apache Kafka, including working on distributed messaging systems for real-time data processing and managing Kafka-based solutions.
* Experience developing REST-based APIs.
* Some experience with SQL is required, and exposure to SQL stored procedures and indexes is preferred.
* Knowledge with DevOps principles and CI/CD tools (such as Jenkins, Ansible, Packer, Docker).
* Some experience with Docker, Kubernetes or OpenShift for containerisation and orchestration of applications.
* Knowledge of developing solutions on cloud platforms such as AWS, Azure, with familiarity in services such as serverless functions, databases, storage, and compute resources is desirable.
* Some front-end development experience is desirable.
* Financial Services or Capital Markets experience with FIX protocol is preferred.
* Ability to effectively coordinate with stakeholders, ensuring clear communication and alignment with project goals.