Embedded Software Engineer - Can / SPI / Linux
Maimsd Technology Bangalore
Job Description
Embedded Software Engineer - CAN / SPI / Linux
A highly experienced Senior Embedded Software Engineer is sought to lead the development of Linux-based ARM industrial gateways. You will be responsible for designing, implementing, and optimizing complex embedded software, focusing on performance, reliability, and security.This role requires a deep understanding of embedded Linux, C++ development, industrial protocols, and hardware-software integration. You will also be instrumental in driving CI/CD initiatives and ensuring the quality and efficiency of the software development lifecycle.
Key Responsibilities:
- Embedded C++ programming skills will be applied to design and develop robust embedded software for ARM-based industrial gateways.
- Linux system development proficiency is required to develop and maintain Linux-based systems using Yocto Project.
- Multithreaded application development expertise will be utilized to implement multithreaded applications and employ design patterns for maintainability and scalability.
- Diagnostic command development abilities are necessary to develop CLI/SSH-based diagnostic commands for system health monitoring and troubleshooting.
- Industrial communication protocol implementation skills are crucial for integrating protocols such as CAN, Modbus RTU, Modbus TCP/IP, and SNMP.
- Peripheral driver development expertise will be used to implement drivers for embedded peripherals such as I2C, SPI, and UART.
- Embedded systems architecture design skills are required to design and implement architectures, ensuring seamless hardware-software interaction and low-level system integration.
- CI/CD pipeline implementation and maintenance capabilities are essential, utilizing tools like Jenkins, GitLab CI, and GitHub Actions.
- Agile development process participation is expected, including sprint planning, code reviews, and testing.
- Linux application development skills will be used to develop applications for ported SBCs (e.g., Raspberry Pi, BeagleBone, NXP i.MX).
- Web server and RESTful API integration abilities are required for remote management.
- Debugging and testing skills are necessary, utilizing tools like GDB, JTAG, serial debugging, and command-line services for troubleshooting.
- Embedded systems testing strategy development will be a key responsibility.
Desired Skills (HMI Development):
- HMI development experience in designing and implementing graphical user interfaces and touchscreens using frameworks like TouchGFX, Qt, or LVGL for Embedded is highly desired.
Technical Skill Requirements:
- Strong proficiency in Embedded C++ programming is mandatory.
- Extensive experience with ARM-based microcontrollers and Linux-based systems (Yocto preferred) is required.
- Proven experience with multithreading, IPC, and design patterns is essential.
- Hands-on experience with industrial protocols including CAN, Modbus RTU, Modbus TCP/IP, and SNMP is a must.
- Strong understanding of embedded systems architecture and low-level system integration is critical.
- Experience with CI/CD pipelines and agile development methodologies is required.
- Proficiency in using debugging tools such as GDB, JTAG, and serial debugging is necessary.
- Experience with baremetal programming is a key skill.
- Experience with webserver and RESTful API integration is also required.
Education:
- A Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field is required.
General Requirements:
- Employment Type: This is a full-time, permanent position.
Maimsd TechnologyBangalore
Job Description
Embedded Software Engineer - RTOS
A highly skilled and experienced Senior Embedded Software Engineer is sought to join our dynamic team. You will be responsible for designing, developing, and implementing robust and efficient...
Erbity Private LimitedBangalore
We are seeking a skilled Embedded Software Engineer with strong expertise in C/C++ development, ASPICE-compliant software design, and software verification using VectorCast.
The ideal candidate will be responsible for deriving system and software...
Maimsd TechnologyBangalore
Job Description
Lead Embedded Software Engineer - Linux Kernel
We're looking for a highly experienced and driven Lead Embedded Software Engineer to spearhead the development of our advanced Linux-based ARM industrial gateways. In this pivotal role...