Principal High Performance Compute Engineer
Job Overview
The High Performance Compute 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.
#J-18808-Ljbffr