Posted 6 months ago

Location – Gurgaon

We are currently seeking a skilled C++ Developer to join our dynamic team and contribute to
the development and optimization of our trading systems.

Requirements:

  • Proven experience in C++ development, preferably in a low-latency or HFT environment.
  • Strong understanding of raw sockets and experience with packet capture and analysis.
  • Proficiency in multithreading and synchronization mechanisms in C++.
  • Expertise in memory management, including the use of smart pointers and custom memory
    pools.
  • Knowledge of cache coherency and techniques to optimize cache performance.
  • Familiarity with motherboard and CPU architecture, and how it impacts system performance.
  • Experience with CPU flags and their usage in software optimization.
  • Strong problem-solving skills and the ability to work in a fast-paced, high-pressure
    environment.
  • Excellent communication skills and the ability to work collaboratively in a team.
    Preferred Qualifications:
  • Experience with high-frequency trading systems and financial markets.
  • Knowledge of network protocols and performance optimization techniques.
  • Familiarity with profiling and benchmarking tools.

    Responsibilities:

    1. Raw Sockets:
  • Develop and maintain software components that use raw sockets for packet capture and
    analysis.
  • Optimize raw socket performance to minimize packet loss and latency.

    2. PCAP Analysis:
  • Implement solutions for capturing and analyzing network traffic using PCAP.
  • Utilize tools like libpcap and Tcpdump to filter and process specific packet types.

    3. Multithreading:
  • Design and implement multithreaded applications to enhance system performance and
    scalability.
  • Manage thread lifecycle and synchronization to ensure efficient parallel processing.

    4.Cross Thread Safety:
  • Ensure thread safety in shared data structures using synchronization mechanisms.
  • Implement best practices for cross-thread communication and data sharing.

    5.Memory Management:
  • Efficiently manage dynamic memory allocation and deallocation.
  • Utilize smart pointers and other C++ techniques to optimize memory usage and minimize
    fragmentation.

    6. Cache Coherency:
  • Write cache-friendly code to optimize performance in multicore systems.
  • Implement techniques to reduce cache misses and false sharing.

    7. Custom Memory Pool Programming:
  • Develop custom memory pools to enhance memory management efficiency.
  • Integrate custom memory pools with existing code and third-party libraries.

    8. Motherboard and CPU Architecture:
  • Understand and leverage the key components of motherboard and CPU architecture to
    optimize system performance.
  • Utilize advanced CPU features like SIMD, multithreading, and out-of-order execution.

    9.CPU Flags and Optimization:
  • Optimize software performance using CPU flags such as SSE, AVX, and FMA.
  • Profile and benchmark code to measure and improve performance based on CPU-specific
    instructions.

Apply Online