Software Developer

Year    Gandhinagar, GJ, IN, India

Job Description

THINK. TECH. TRADE


Posted 1 day 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.

Beware of fraud agents! do not pay money to get a job

MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Job Detail

  • Job Id
    JD3410689
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Gandhinagar, GJ, IN, India
  • Education
    Not mentioned
  • Experience
    Year