Embedded C/C++ Engineer
Location :: Onsite. Milpitas, CA
Duration :: Long Term
Job Description:
Notes:
None of the profiles you shared today have relevant embedded software experience. Although some candidates mention “Embedded SW” in their projects, it appears to be in the context of application development or automation test scripting rather than true embedded software development.
Please look for keywords such as Embedded C, Embedded C++, Embedded Operating Systems (QNX, Linux), multithreading applications, kernel development, algorithms, device-level programming, etc., as this role specifically requires embedded software development within the medical device domain.
Job Summary
We are seeking a highly skilled Embedded C/C++ Engineer with strong experience in algorithm development and optimization for real-time embedded systems. The ideal candidate will design, implement, and optimize algorithms for resource-constrained environments while ensuring high performance, reliability, and scalability across embedded platforms.
Key Responsibilities
Embedded Software Development
- Design, develop, and maintain embedded software in C/C++ for microcontrollers and embedded processors.
- Implement efficient, real-time, and memory-optimized firmware solutions.
- Develop low-level drivers, middleware, and application-layer software.
- Work with RTOS or bare-metal systems.
Algorithm Development & Optimization
- Design and implement signal processing, control, mathematical, or data-processing algorithms.
- Convert high-level algorithms (MATLAB/Python models) into optimized embedded C/C++ implementations.
- Optimize algorithms for speed, memory footprint, and power efficiency.
- Perform fixed-point implementation and numerical stability analysis when required.
System Integration
- Interface with hardware peripherals (SPI, I2C, UART, CAN, Ethernet, ADC/DAC, PWM).
- Collaborate with hardware engineers for board bring-up and debugging.
- Support integration with sensors, actuators, and communication modules.
Performance & Quality
- Conduct profiling, debugging, and performance tuning.
- Perform unit testing, integration testing, and system validation.
- Ensure compliance with coding standards (MISRA C/C++ if applicable).
- Participate in code reviews and technical design reviews.
Collaboration
- Work closely with algorithm engineers, system architects, and product teams.
- Contribute to requirement analysis, effort estimation, and documentation.
- Support production deployment and field issue resolution.
Required Qualifications
- Bachelor’s or Master’s degree in Electronics, Electrical Engineering, Computer Engineering, Computer Science, or related field.
- 3–8+ years of experience in embedded C/C++ development.
- Strong proficiency in:
- Embedded C/C++
- Data structures and algorithm design
- Real-time systems and multitasking concepts
- Debugging tools (JTAG, oscilloscopes, logic analyzers)
- Experience with microcontrollers (ARM Cortex-M/A, STM32, NXP, TI, etc.).
- Solid understanding of memory management and performance optimization.
Preferred Qualifications
- Experience with DSP, signal processing, control systems, or image processing algorithms.
- Familiarity with MATLAB/Simulink model-based development.
- Experience with RTOS (FreeRTOS, ThreadX, Zephyr, etc.).
- Knowledge of communication stacks (TCP/IP, BLE, CAN, Modbus).
- Experience in automotive (AUTOSAR), medical, IoT, robotics, or industrial domains.
- Familiarity with CI/CD, Git, and embedded build systems (Make/CMake).
Key Competencies
- Strong analytical and mathematical problem-solving skills
- Ability to translate theoretical algorithms into optimized embedded implementations
- Attention to detail and structured coding approach
- Good communication and documentation skills
- Ability to work in cross-functional teams
Best Regards
Thanks,
Abdul Samad