Home
Jobs

Embedded Software Engineer - Can / SPI / Linux

9 - 11 years

9 - 11 Lacs

Posted:9 hours ago| Platform: Foundit logo

Apply

Skills Required

Work Mode

Remote

Job Type

Full Time

Job Description

Embedded Software Engineer - CAN / SPI / Linux

Senior Embedded Software Engineer

Key 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 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 industrial communication protocols such as

    CAN, Modbus RTU, Modbus TCP/IP, and SNMP.

  • Peripheral Driver Development:

  • Develop and implement drivers for embedded peripherals such as

    I2C, SPI, and UART.

  • System Architecture and Integration:

  • Design and implement embedded systems architecture, ensuring seamless hardware-software interaction and low-level system integration.
  • CI/CD and Agile Development:

  • Implement and maintain

    CI/CD pipelines

    using tools like Jenkins, GitLab CI, and GitHub Actions.
  • 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.
  • Debugging and Testing:

  • Utilize debugging tools (GDB, JTAG, serial debugging) and command-line services for testing and troubleshooting.
  • Develop and implement 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.

Required Skills and Experience

  • 9-11 years of experience in embedded software development.

  • Strong proficiency in

    Embedded C++ programming.

  • Extensive experience with

    ARM-based microcontrollers and Linux-based systems (Yocto preferred).

  • Proven experience with

    multithreading, IPC, and design patterns.

  • Hands-on 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

    webserver and RESTful API integration.

Qualifications

  • Education:

    Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.

General Requirements

  • Employment Type:

    Full Time, Permanent
  • Working Mode:

    Regular
  • Notice Period:

    Immediate - 15 Days

Candidate Self-Assessment Checklist:

To help us better understand your qualifications, please provide details for the following:

Total Years of Experience (excluding testing, documentation, and management):

  • Embedded C: [Years]
  • Embedded C++ Development: [Years]
  • Microcontrollers, RTOS, and Linux-based Platforms: [Years]
  • Specific controller families you've worked with (e.g., STM32, PIC, Infineon): [List specific families]

Experience in Specific Areas:

  • Embedded C/C++ programming with RTOS (e.g., FreeRTOS, Zephyr): [Years]
  • Linux-based systems (e.g., Yocto, Ubuntu for embedded): [Years]

Bare Metal Programming:

  • Have you worked with low-level BareMetal programming (e.g., memory management, I/O configuration, setting up interrupts, timers) [Yes/No]
  • Describe your experience in bare metal development or working with peripherals directly: [Your response]

Multithreading and IPC:

  • Do you have experience with multithreading (e.g., thread synchronization, mutexes, condition variables) and IPC (e.g., message queues, semaphores, shared memory) [Yes/No]
  • Provide examples of projects where you've used these techniques, especially in RTOS or Linux: [Your response]

Peripherals Experience:

  • Please list the peripherals you have worked with (e.g., UART, SPI, I2C, ADC, RS485, CAN): [List peripherals]

Industrial Protocol Experience (Modbus RTU, MODBUS TCP/IP):

  • Do you have hands-on implementation knowledge of Modbus RTU and Modbus TCP/IP [Yes/No]
  • If yes, specify the years of experience: [Years]

Web Server / RESTful API Integration in Embedded Systems:

  • Have you developed or integrated a web server or worked with RESTful APIs for remote management or data exchange in embedded systems [Yes/No]
  • Please mention any cloud services (e.g., AWS, Azure) or communication protocols (e.g., HTTP/HTTPS) you've worked with: [Your response]

Linux Application Development on Ported SBCs:

  • Do you have experience with Linux application development on ported SBCs (e.g., Raspberry Pi, BeagleBone, NXP i.MX) [Yes/No]
  • Please describe your experience in developing applications for Linux-based embedded systems: [Your response]

HMI Development:

  • Have you designed or worked with HMIs (graphical user interfaces, touchscreens) in embedded systems [Yes/No]
  • Describe the frameworks or libraries you've used (e.g., TouchGFX, Qt, LVGL for Embedded), and how you integrated them into your embedded projects: [Your response]

Debugging, Testing, and Continuous Integration:

  • Do you have experience with debugging tools (e.g., GDB, JTAG, serial debugging) and command-line services for testing and troubleshooting embedded systems [Yes/No]
  • How do you approach debugging, testing, and continuous integration in embedded environments [Your response]

Mock Interview

Practice Video Interview with JobPe AI

Start Multithreaded Interview Now
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
Maimsd Technology

Technology / Software

Silicon Valley

50-100 Employees

585 Jobs

    Key People

  • Alice Johnson

    CEO
  • Bob Smith

    CTO

RecommendedJobs for You

Bengaluru, Karnataka, India

Delhi, Delhi, India