Search by job, company or skills

M

Embedded Software Engineer - CAN/SPI/Linux

9-11 Years
Save
new job description bg glownew job description bg glow
  • Posted a month ago
  • Over 50 applicants
Quick Apply

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.

More Info

About Company

At MaimsD Technology, we empower businesses through innovative IT services, strategic hiring solutions, and talent development. Headquartered in Bangalore, India, with a growing presence in Georgia, USA, we deliver scalable recruitment and staffing support across the globe. Our expertise lies in IT hiring, backed by deep industry insight and a rich talent network that spans from entry-level roles to executive leadership. We also offer tailored services including RPO, SOW-based hiring, contract staffing, and executive search — designed to meet the evolving needs of both startups and enterprises. Driven by passion, guided by experience, and committed to excellence — we are your partner in building teams that drive success.

Job ID: 120605089

Similar Jobs

Bengaluru, Pune

Skills:

C++Arm ControllerLinuxCanMultithreadedCI/CD