Embedded Software Engineer - CAN/SPI/Linux

9 - 11 years

9 - 11 Lacs

Posted:2 weeks ago| Platform: Foundit logo

Apply

Skills Required

CI/CD pipelines

Work Mode

Remote

Job Type

Full Time

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.

Mock Interview

Practice Video Interview with JobPe AI

Start Job-Specific Interview
cta

Start Your Job Search Today

Browse through a variety of job opportunities tailored to your skills and preferences. Filter by location, experience, salary, and more to find your perfect fit.

Job Application AI Bot

Job Application AI Bot

Apply to 20+ Portals in one click

Download Now

Download the Mobile App

Instantly access job listings, apply easily, and track applications.

coding practice

Enhance Your Skills

Practice coding challenges to boost your skills

Start Practicing Now
Maimsd Technology logo
Maimsd Technology

Technology / Software

Silicon Valley

RecommendedJobs for You

Mumbai, Maharashtra, India

Mumbai, Maharashtra, India

Delhi, Delhi, India

Kolkata, West Bengal, India