- London, England, United Kingdom
- Permanent, Full time
- Credit Suisse -
- 20 May 19
Senior RDx Platform Developer # 130458
Securitized Products and Enterprise Risk Technology operates horizontally across Global Markets businesses. Within this organization, the Enterprise Data & Analytics (EDA) group operates the core common risk technology components that support Global Markets by providing on-demand risk aggregation, and tools to effectively allocate capital, support trading decision-making, and provide oversight across GM. The EDA group owns and develops the core technologies which enable the front-to-back applications that are used across Global Markets for risk management and regulatory reporting. These technologies enable traders, product controllers, and risk managers across the businesses to analyze and report on massive amounts of risk and P&L data. Given the criticality of the business processes using the EDA software, the reliability and predictability of the software is just as critical as the processes that depend upon it.
The EDA DevOps team is creating a state-of-the-art release management system that automates testing across many development teams. Core to the system's design is the idea that software must be successfully gate tested prior to promoting it to an environment. To automate this, the system analyzes the dependencies across architectural components to ensure the appropriate gate tests are run (with the appropriate configuration). This involves not only creating dynamic build chains to compile software, but also includes running tests that ensure the runtime compatibility between components across temporal contexts.
To help ensure the correctness of the automated testing, the testing workflow has been formalized in its design and implementation using Petri Nets coded in Java.
We are looking for a Java developer with hands-on experience implementing systems using Petri Nets.
- Hands-on development and design using primarily Java and Credit Suisse's proprietary languages
- Design enhancements to, and maintain, the release management system using Petri Nets
- Design enhancements to, and maintain, the dependency management sub systems within release management system
- Optimize the system's performance based on analyzing the existing bottlenecks. This includes both the automated system and human workflows involved in using the system
- Actively collaborate with a globally-dispersed development team
- Design enhancements to, and maintain, Credit Suisse's proprietary Petri Net engine
- Advanced Degree, educated with a mathematical / computational degree or similar (Engineering or Physics, for example)
- Enthusiastic self-starter with strong interpersonal skills, fluent in spoken and written English
- Prior experience implementing Petri Nets within a production system
- Strong understanding and practical experience in graph theory
- Strong Java 8 development skills, including knowledge of streams, lambdas and Maven dependency management
- Experience in test-driven development of distributed system, with Continuous Integration
- Strong experience with rapid application development, including the use of RESTful APIs
- Experience developing, profiling and maintaining multi-threaded/asynchronous applications
- Ability to collaborate in a global team environment on application design and feature enhancements
- Flexible and adaptable, being willing to move focus between components and projects easily
- Willingness to maintain code written by other people
- Experience with dependency management with NPM and/or MSBuild
- Experience with TeamCity and Linux OS
Closing Date: 28 May 2019
Credit Suisse is committed to providing equal employment opportunities, regardless of ethnicity, nationality, gender, sexual orientation, gender identity, religion, age, civil partnership, marital or family status, pregnancy, disability or any other status that is protected as a matter of local law.