C++ Engineer - Shanghai
We have a current opportunity to join a global trading firm as a C++ Engineer on a permanent basis. The position will be based in Shanghai, China.
Responsibilities:
Low-Latency System Development:
- Design, develop, and optimize low-latency trading systems to ensure minimal delay in trade execution.
- Implement techniques such as lock-free programming, single instruction multiple data (SIMD) operations, and prefetching to reduce latency.
Performance Optimization:
- Continuously analyze and enhance the performance of existing systems.
- Utilize profiling tools to identify bottlenecks and optimize code for speed and efficiency.
Algorithm Implementation:
- Develop and implement trading algorithms that can operate at high speeds and handle large volumes of data.
- Ensure algorithms are robust, efficient, and capable of adapting to market changes in real-time.
System Monitoring and Maintenance:
- Monitor the performance and health of trading systems.
- Implement automated monitoring solutions to detect and resolve issues promptly.
Collaborative Development:
- Work closely with quantitative researchers, traders, and other engineers to translate trading strategies into efficient code.
- Participate in code reviews and provide constructive feedback to peers.
Research and Innovation:
- Stay updated with the latest advancements in C++ programming, low-latency techniques, and financial markets.
- Experiment with new technologies and methodologies to improve system performance and reliability.
Documentation and Reporting:
- Maintain comprehensive documentation of system architecture, code, and processes.
- Report on system performance, issues, and improvements to stakeholders.
Requirements:
Technical Skills:
- Proficiency in C++: Extensive experience with modern C++ (C++11/14/17/20) and familiarity with low-level programming concepts.
- Low-Latency Programming: Expertise in techniques for reducing latency, such as lock-free programming, SIMD instructions, and cache optimization.
- Concurrency and Multithreading: Strong understanding of concurrent programming paradigms and multithreading.
- Algorithm and Data Structures: Deep knowledge of algorithms and data structures, with a focus on performance optimization.
Experience:
- High-Frequency Trading: Previous experience in developing systems for high-frequency trading or other performance-critical applications.
- Financial Markets: Understanding of financial markets, trading strategies, and market microstructure.
- System Design: Proven experience in designing and implementing complex software systems.
Analytical Skills:
- Problem-Solving: Exceptional problem-solving skills and the ability to think critically and creatively.
- Performance Analysis: Ability to analyze system performance and identify areas for improvement.
Educational Background:
- Degree in Computer Science or Related Field: Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Quantitative Skills: Strong mathematical and statistical skills, often demonstrated through coursework or competitive programming.
- Communication: Excellent communication skills to collaborate effectively with team members and stakeholders.
- Teamwork: Ability to work well in a team-oriented environment and contribute to collective goals.
- Adaptability: Flexibility to adapt to changing requirements and technologies.
Additional Qualifications:
- Certifications: Relevant certifications in C++ programming, financial markets, or related areas.
- Publications: Contributions to research papers, open-source projects, or industry conferences.
FAQs
Congratulations, we understand that taking the time to apply is a big step. When you apply, your details go directly to the consultant who is sourcing talent. Due to demand, we may not get back to all applicants that have applied. However, we always keep your CV and details on file so when we see similar roles or see skillsets that drive growth in organisations, we will always reach out to discuss opportunities.
Yes. Even if this role isn’t a perfect match, applying allows us to understand your expertise and ambitions, ensuring you're on our radar for the right opportunity when it arises.
We also work in several ways, firstly we advertise our roles available on our site, however, often due to confidentiality we may not post all. We also work with clients who are more focused on skills and understanding what is required to future-proof their business.Â
That's why we recommend registering your CV so you can be considered for roles that have yet to be created.Â
Yes, we help with CV and interview preparation. From customised support on how to optimise your CV to interview preparation and compensation negotiations, we advocate for you throughout your next career move.