Job Overview
The Simulation HPC Engineer will be a thought leader on architecture and development within the development team responsible for the compute platform for the Research Systems group. As a systematic asset manager, Arrowstreet must identify investable trading strategies and implement them quickly and with the highest quality. Having a robust, scalable, and performant general compute platform is thus of critical importance.
A key focus of this role is on the portfolio simulation capability where we quantify the effect of different investment strategy variations (e.g., new instruments, different entry and exit criteria, different trading cost estimates, etc.), so the ideal candidate will possess a deep understanding of large computer systems, code parallelization, data structure memory layout, and financial instruments. There is as much consideration to the implementation of software features requested by the Quantitative Research team as there is to the robust and efficient execution of the financial processes across large HPC clusters.
Responsibilities
Design, develop, and support compute platforms both on premise and on AWS
Work closely with members of the Research group to review and define requirements for systems that simulate the impact of a large number of variations to the primary investment strategies
Develop design proposals for innovative technical solutions that meet the business requirements with high performance, scalability, and maintainability, primarily using Python, C#, and/or Rust
Lead technical design discussions within the team to gather feedback, discuss the merits and risks of different approaches, and reach consensus on the target architecture
Manage software projects from end-to-end including requirements gathering, design, development, testing, project management, and support functions
Provide guidance to other team members on development tasks
Promote high quality code via code reviews
Provide production support for the platform to prevent disruptions to investment processes
Qualifications
Bachelor’s degree in Computer Science, Computer Engineering, or a related discipline
Extensive experience working with large, high-performance, distributed systems
Excellent software architecture design skills
Thorough understanding of computer systems architecture, operating systems, I/O and memory
Experience designing and developing complex production systems in Python or another object-oriented language
Proven experience with developing cloud native solutions on public cloud, preferably AWS
A passion for software development and a desire to learn new technologies
Understanding of financial mathematics and trading strategies is very desirable
Experience working with k8s is a plus
Data Engineering experience is a plus
Enjoy analytical problem solving
Attention to detail, drive, energy, enthusiasm and maturity
We maintain a friendly, team-oriented environment and place a high value on professionalism, attitude and initiative.