Embedded Software Engineer
- Location
- Bengaluru, India
- Employment
- Full Time
- Work model
- On-Site
- Level
- Mid
- H-1B history
- 51 approvals (FY2023)
- Posted
Skills
About this role
Job Description: We are seeking an experienced and motivated Software engineer to design, develop and test software for our real-time MCU’s. The ideal candidate will have deep expertise in embedded C/C++ programming and a strong understanding of embedded systems. This role requires close collaboration with hardware and application engineers to deliver robust, high-performance solutions that powers mission critical data centres, AI Servers and a wide array of Industrial applications.
Key Responsibilities
Software development: Design and develop high-quality, real-time software for TI ASM MCU families like AM1x and AM2x for a broad range of applications in segments like appliances, factory automation, datacenter, robotics & drones and edgeAI. Hardware-Software Integration: Work closely with hardware design teams to integrate firmware with new capabilities, validate system functionality and participate in board bring-up. Driver development: Write and maintain device drivers for the MCU internal peripherals and external communication interfaces (e.g., UART, I2C, SPI, CAN). Debugging and optimization: Use debugging tools like JTAG emulators, oscilloscopes and logic analysers to troubleshoot firmware, hardware, and system-level integration issues. Optimize firmware for performance, memory footprint, and power consumption. Validation and testing: Develop and execute comprehensive test plans and automated test scripts to ensure the software meets all functional and performance requirements. Customer Support: Provide technical support to application engineers and customers, assisting with firmware-related issues and implementation guidance. Documentation: Create and maintain technical documentation, including design specifications, firmware architecture, and test procedures. Continuous Improvement: Participate in code reviews and contribute to the improvement of software development methodologies and processes.