Design, develop, and maintain embedded software for microcontroller and microprocessor-based systems.
Work with RTOS platforms like ThreadX, FreeRTOS, and embedded Linux for system-level programming.
Develop and port device drivers for interfaces such as UART, I2C, SPI, PCIe, and USB.
Perform board bring-up activities including bootloader development, hardware-software integration, and system debugging.
Implement and manage IPC mechanisms including message queues, shared memory, semaphores, and synchronization primitives.
Handle interrupt management, kernel timing, and multithreading in embedded environments.
Collaborate with hardware teams and use lab instruments (Oscilloscopes, Waveform Analyzers, Lauterbach) for debugging and validation.
Optimize system performance and ensure reliability and scalability of embedded solutions.
Primary Skills
Strong proficiency in C/C++ for embedded systems.
Expertise in RTOS (ThreadX, FreeRTOS) and Linux kernel internals .
Deep understanding of ARM architectures (ARMv7/ARMv8).
Experience with device driver development and hardware abstraction layers .
Knowledge of IPC , multithreading , mutexes , and interrupt handling .
Secondary Skills
Familiarity with scripting languages (Python, Bash) for automation and testing.
Experience with version control systems (Git).
Exposure to CI/CD pipelines for embedded software.
Understanding of secure boot, firmware updates, and system security.
Knowledge of embedded testing frameworks and methodologies.
Qualifications
Bachelors or Masters degree in Electronics, Computer Engineering, Embedded Systems , or related field.
Certifications in Embedded Systems or RTOS (preferred but not mandatory).
Strong analytical and problem-solving skills.
Excellent communication and teamwork abilities.
Job Classification
Industry: IT Services & ConsultingFunctional Area / Department: Engineering - Software & QARole Category: Quality Assurance and TestingRole: Post Silicon Test EngineerEmployement Type: Full time