Embedded Software Engineer - Can / SPI / Linux

9 - 11 years

12 - 19 Lacs

Posted:1 month ago| Platform: Naukri logo

Apply

Work Mode

Work from Office

Job Type

Full Time

Job Description

We are seeking a highly experienced Senior Embedded Software Engineer to lead the development of our Linux-based ARM industrial gateways. You will be responsible for designing, implementing, and optimizing complex embedded software, focusing on performance, reliability, and security. This role requires a deep understanding of embedded Linux, C++ development, industrial protocols, and hardware-software integration. You will also be instrumental in driving our CI/CD initiatives and ensuring the quality and efficiency of our software development lifecycle. 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. 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 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.

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

Annapurneshwari Nagar, Bengaluru/Bangalore