09 Sep
|
Meril
|
Tamil Nadu
Position: Senior Software Engineer – Real-Time Systems Location: Chennai Experience: 5 Years Notice Period: Max 30 days Role Overview We are looking for a Senior Software Engineer specializing in Real-Time Systems to design and build high-performance software for a complex, hardware-integrated product. The ideal candidate is first and foremost a strong C++ software engineer with experience building reliable, multithreaded, performance-sensitive systems. You should be comfortable working close to hardware and developing software where latency, timing, concurrency and deterministic behavior matter. Experience with robotics, embedded systems, medical devices, or other hardware-integrated products is a bonus . Key Responsibilities Design, develop and maintain production-quality software in modern C++ . Build high-performance, low-latency and real-time software components. Develop multithreaded and concurrent software with predictable behavior and performance. Design clean, modular, maintainable software architectures and APIs. Work on software components that interface with hardware, sensors, actuators and other system components. Analyze and improve application performance, latency, memory usage, and CPU utilization. Diagnose complex software issues involving concurrency, timing, resource management, and system performance. Develop robust error handling, fault management, logging and diagnostic capabilities. Write unit tests, integration tests and automated software validation. Participate in architecture, design, and code reviews. Collaborate with systems, hardware, controls, test and other software engineering teams. Contribute to engineering best practices around coding standards, testing, CI/CD, debugging and software quality.
Required Qualifications BS/MS in Computer Science, Computer Engineering, Electrical Engineering or a related technical discipline or equivalent practical experience. 5 years of professional software development experience. Strong proficiency in modern C++ , preferably C++17/20 or later. Strong understanding of: Object-oriented software design Data structures and algorithms Multithreading and concurrency Memory management and resource ownership Templates and STL Modern C++ design patterns and idioms Experience developing software on Linux . Experience developing performance-sensitive, low-latency, or real-time software. Robust software debugging and problem-solving skills. Experience diagnosing race conditions, deadlocks, memory issues, and performance bottlenecks. Strong understanding of software testing and maintainable software architecture. Ability to work effectively across software and hardware-oriented engineering teams. Preferred Qualifications Experience in one or more of the following areas is a plus: Real-time operating systems or real-time Linux PREEMPT_RT, QNX, or similar real-time environments Hardware/software interfaces Embedded software development Robotics or industrial automation Medical-device or surgical-robotics software Sensors, actuators, or motor-control systems Inter-process communication and shared-memory systems CAN, EtherCAT, Ethernet, SPI, I2C, UART, or similar communication interfaces Performance profiling and system-level debugging What We Value We are looking for engineers who have strong software engineering fundamentals and can build software that is reliable, understandable, maintainable and performant. Experience developing embedded software, robotics systems or other software that interacts with physical hardware is a strong bonus .
📌 Senior Software Engineer (Tamil Nadu)
🏢 Meril
📍 Tamil Nadu