We are seeking a highly skilled C & C++ Developer with deep expertise in data memories, memory management, and storage optimization. The ideal candidate should have strong low-level programming skills, hands-on experience in managing dynamic/static memory, and an understanding of how data structures interact with hardware-level memory systems.
Key Responsibilities:
- Design, develop, and optimize applications in C and C++ with a strong focus on memory efficiency.
- Implement memory allocation, deallocation, and optimization strategies.
- Work on cache optimization, RAM utilization, and storage management for high-performance applications.
- Debug and resolve memory leaks, buffer overflows, and segmentation faults.
- Optimize data structures and algorithms for efficient memory usage.
- Collaborate with system architects to ensure efficient hardware-software memory interaction.
- Conduct profiling and benchmarking of applications to enhance performance.
- Ensure code quality, reliability, and adherence to best practices in memory management.
- Work closely with QA teams to identify and resolve memory-related bugs.
- Stay updated with modern memory management techniques and C/C++ standards.
Required Skills & Qualifications:
- Bachelor’s degree in Computer Science, Software Engineering, or related field.
- Strong proficiency in C and C++ (C++11/14/17 preferred).
- Solid understanding of pointers, dynamic/static memory allocation, and garbage collection concepts.
- Expertise in low-level memory operations and optimization.
- Experience with multithreading, synchronization, and concurrency control.
- Familiarity with profiling tools (e.g., Valgrind, gdb, AddressSanitizer, Perf).
- Hands-on experience with data structures, operating systems, and compiler internals.
- Strong debugging and problem-solving skills.
- Knowledge of embedded systems or system programming (a plus).
- Experience with real-time systems and embedded programming.
- Familiarity with memory hierarchies (L1/L2/L3 cache, DRAM, SSD, etc.).
- Knowledge of networking protocols or storage systems.
- Exposure to Linux kernel programming or driver development.
- Understanding of parallel computing and GPU memory models.
Job Type: Full-time
Work Location: In person