Project Description
Client Technology team has over 100 personnel. It is led by a team of highly experienced finance professionals across multiple disciplines with a platform that is considered an industry leader in trading analytics, risk analysis and operational robustness.
This job opening represents an exciting opportunity to join a rapidly growing business with institutional backing and a proven track record in delivering a suite of financial services to a market-leading standard. The successful individual will be able to combine their industry experience with a vision for further development in a dynamic and supportive environment.
We are looking for an enthusiastic and passionate Software Engineer to join an established development team responsible for trade lifecycle, to contribute to the growth of our platform. Our team also handles outbound trade flow to prime brokers and administrators. Our team also forms a key part of the onboarding process for new clients. We would expect the developer to be involved in new integration projects for prospective and existing clients. As our business grows there is a greater need for automation. We would expect the developer to work on our applications that interface with our central position keeping system, especially in areas such as instrument automation. In the longer-term, the successful applicant will be able to work on our other applications that interface with our central position keeping system around trade flow and external connectivity to a wide variety of execution platforms.
Responsibilities
• Design, develop, and maintain code that meets requirements, is high quality, efficient, reusable and performs efficiently and effectively to provide a great customer experience.
• Incorporate standards and best practices, including performance, security, scalability, testability, and maintainability.
• Participate in code reviews to spot issues around architecture, performance, security, and more.
• Help maintain code quality, organization, and automatization.
• Contribute to design patterns and coding standards while being mentored.
• Troubleshooting interface software and debugging application codes.
• Developing and implementing front-end architecture to support user interface concepts.
• Monitoring and improving front-end performance.
• Documenting application changes and developing updates.
Skills
Must have
• Programming: Scala (5+ years' experience)
• Libraries: Scalaz/Cats/Reactive streams/FS2/Slick/Guava/Mockito
• Experience with Java will be highly valued
• Frameworks: Spring/Spring Boot/Micro-services architecture
• Database: SQL & MS SQL Server, JDBC
• Other: Maven or sbt, Git, CI/CD, REST services, TDD, Junit or ScalaTest, IntelliJ
• Working with operational teams
• Good understanding of functional programming
• Experience in the development and support of a critical production environment with a devops mind-set
• Capable and confident with scripting in a Unix environment
• Comfortable working with large volumes of data (XML/JSON)
• Ability to communicate clearly with project stakeholders
• Able to multitask and prioritise well
• Must be a self-starter who will work well in a busy team and within a dynamic environment
Nice to have
• Libraries: Scalaz/Cats/Reactive streams/FS2/Slick/Guava/Mockito
• Containerization and Cloud: Docker, Kubernetes, AWS
• Financial Technologies: FIX protocol/Fpml/QuickFixJ
• Financial knowledge and understanding of the trade lifecycle would be considered an advantage
• Understanding of Murex and trade interfaces would be considered an advantage
• Understanding of affirmation platforms such as MTM, Omgeo, IceLink would be beneficial
Languages
English: C1 Advanced