Firmware (Platform / BSP software, Device Drivers, etc.) design and implementation, Unit test and debug, and Board Bring-up
Develop Firmware and APIs for communication with other services
Develop Firmware solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle
Create/improve documentation to demonstrate solutions using flow flowcharts, layouts, diagrams, charts, code comments, and clear code
Work on new product development and maintain existing products
Conduct and participate in design review meetings of hardware/software/product to identify the impact on software development and provide feedback
Root-cause problems, assess risks and identify issues and solutions to achieve project objectives
Understand product goals, ensure cross-team collaboration & realize consistent high-quality solutions for all deliverables
Plan and estimate work for feature development
Grow engineering teams by interviewing and hiring
Mentor junior and mid-level engineers by providing advice, coaching, and educational opportunities
Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations
Performance optimizations using Linux C-groups
Requirements/Qualifications:
Bachelors or Masters in Computer Science/ Software engineering with 10 to 12 years of experience in the development and maintenance of Firmware/customization in embedded Linux domain and RTOS (ex: FreeRTOS)
The ideal candidate should have hands-on development expertise with RTOS and Linux.
Proficient in C with development experience on RTOS and embedded Linux platforms.
Knowledge of scripting languages like Unix Shell, python, etc.
Work experience in ARM (NXP, STM, Renesas Micro Controllers)
Work experience using IDEs like IAR EWARM, Keil Vision IDE, etc.
Understanding of hardware schematics and communication protocols like SPI, I2C, and UART
Experience in integrating/customizing open-source packages with embedded Linux platforms
Excellent in code analysis, debugging (using tools like gdb, Valgrind, PDB, TraceMalloc, JTAG, etc.), problem-solving, and communication
Knowledge in multi-threaded programming, synchronization
Ability to work in a challenging environment
Experience in developing/integrating/porting components/applications for hardware targets like NXP-IMX8 etc.,
Experience in IoT / Process Control based development
Know to handle HW instruments like oscilloscope, DMM, etc.
Knowledge of open-source components and RTOS
Knowledge in customizing/configuring Linux kernel for industrial automation platforms
Experience in Linux build systems: Open embedded, Yocto (Poky)