Search by job, company or skills

M

Embedded Software Engineer - CAN/SPI/Linux

9-11 Years
new job description bg glownew job description bg glownew job description bg svg
  • Posted a month ago
  • Over 50 applicants
Early Applicant
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

Job Type:
Function:
Employment Type:
Open to candidates from:
Indian

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