Work Flexibility: Hybrid
What will you do
- Design, develop, test, and debug embedded software using C/C++ for Linux-based platforms.
- Develop and maintain software for real-time and resource-constrained environments.
- Collaborate with hardware engineers to integrate and validate new designs.
- Optimize system performance, memory usage, and power efficiency.
- Work with cross-functional teams to define system requirements and software architecture.
- Perform code reviews, documentation, and unit testing to ensure software quality.
- Debug and resolve issues at system, driver, and application layers.
What You need:
Basic Qualifications:
- Bachelor’s/Master’s degree in Electronics, Computer Engineering, or related field.
- 4+ years of experience in embedded software development.
- Strong proficiency in C and C++ programming.
- Experience with Linux (user space development).
- Knowledge of communication protocols (UART, SPI, I2C, CAN, Ethernet, etc.).
- Familiarity with real-time operating systems (RTOS) and multithreaded programming.
- Strong debugging skills using GDB, JTAG, oscilloscopes, and logic analyzers.
- Version control experience with Git.
Preferred Qualification:
- Experience with Yocto, Buildroot, or custom Linux distributions.
- Knowledge of ARM, x86, or RISC-V architecture.
- Exposure to Docker, CI/CD pipelines, and automated testing.
- Familiarity with Python scripting for test automation.
- Experience in automotive, IoT, networking, or medical devices.
- Strong problem-solving and analytical thinking and strong communication skills
Travel Percentage: 20%