Embedded Software Engineer - CAN/SPI/Linux
Maimsd Technology Bangalore
Job Description
Job Responsibilities:
Embedded Software Development:
- Design and develop robust embedded C++ software for ARM-based industrial gateways.
- Develop and maintain Linux-based systems using Yocto Project.
- Implement multithreaded applications and effectively utilize design patterns for maintainability and scalability.
- Develop CLI/SSH-based diagnostic commands for system health monitoring and troubleshooting.
Industrial Protocol Integration:
- Implement and integrate various industrial communication protocols such as CAN, Modbus RTU, Modbus TCP/IP, and SNMP.
Peripheral Driver Development:
- Develop and implement drivers for embedded peripherals including I2C, SPI, and UART.
System Architecture and Integration:
- Design and implement comprehensive embedded systems architecture, ensuring seamless hardware-software interaction and low-level system integration.
CI/CD and Agile Development:
- Implement and maintain CI/CD pipelines utilizing tools like Jenkins, GitLab CI, and GitHub Actions.
- Actively participate in agile development processes, including sprint planning, code reviews, and testing.
Linux Application Development:
- Develop applications for ported SBCs (e.g., Raspberry Pi, BeagleBone, NXP i.MX).
- Integrate web servers and RESTful APIs for remote management solutions in embedded systems.
Debugging and Testing:
- Utilize various debugging tools (GDB, JTAG, serial debugging) and command-line services for thorough testing and troubleshooting.
- Develop and implement comprehensive testing strategies for embedded systems.
HMI Development (Desired):
- Design and implement HMIs (graphical user interfaces, touchscreens) using frameworks like TouchGFX, Qt, or LVGL for Embedded.
Qualifications:
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.
- 9-11 years of experience in embedded software development.
- Strong proficiency in Embedded C++ programming.
- Extensive experience with ARM-based microcontrollers and Linux-based embedded systems (Yocto preferred).
- Proven experience with multithreading, IPC (Inter-Process Communication), and design patterns.
- Hands-on implementation experience with industrial protocols (CAN, Modbus RTU, Modbus TCP/IP, SNMP).
- Strong understanding of embedded systems architecture and low-level system integration.
- Experience with CI/CD pipelines and agile development methodologies.
- Proficient in using debugging tools (GDB, JTAG, serial debugging).
- Experience with baremetal programming.
- Experience with web server and RESTful API integration in embedded systems.
Maimsd TechnologyBangalore
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...
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
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...