Skip to main content

Sr. embedded linux software engineer

Posted 20 days ago

xpertis talentOak Park (IL)

SENIORITY

Lead

Apply (opens in a new tab)

About the role

Sr. Embedded Linux Software Engineer locations : CA, ILKey Responsibilities • Design, develop, and maintain embedded software applications using modern C/C++. • Develop software for embedded Linux platforms and control systems. • Collaborate with product owners to define requirements, create specifications, and document development activities. • Work closely with system architects, hardware engineers, and software developers to ensure successful system integration. • Develop communication, networking, and data management applications for embedded devices. • Design and implement communication interfaces using protocols such as Modbus, CAN, MQTT, TCP/IP, and REST APIs. • Develop and maintain software for microcontroller platforms including STM32, ESP32, or similar architectures. • Create robust software solutions emphasizing reliability, stability, fault tolerance, and maintainability. • Specify, develop, and execute unit tests, integration tests, and automated test procedures. • Participate in code reviews, software design reviews, and technical discussions. • Troubleshoot software, communication, and integration issues across embedded environments. • Develop software architecture and system designs using object-oriented principles and UML modeling. • Support Agile development activities including sprint planning, backlog refinement, and task estimation. • Mentor junior engineers and provide technical leadership on software projects. • Maintain software repositories and development workflows using Git. • Prepare technical documentation, test reports, and release notes. • Collaborate with global engineering teams, manufacturing facilities, and product management organizations. • Stay current with advancements in embedded software technologies, Linux development, networking, and cybersecurity. • Identify opportunities to improve software performance, reliability, and development processes. • Support collaboration between global and local engineering teams, including manufacturing and development organizations. Required Skills and Qualifications Qualifying candidate will need to be open to a training period in Germany, likely will be 3-6 trips there for 2/3 weeks a time within their first 6 months. • Bachelor's degree in Computer Engineering, Computer Science, Software Engineering, Electrical Engineering, or related field. • 5+ years of software development experience focused on embedded systems or industrial applications. • Strong proficiency in modern C/C++ and object-oriented programming. • Experience developing software applications under Linux. • Understanding of object-oriented design (OOD), software architecture, and design patterns. • Experience with multithreaded and concurrent application development. • Familiarity with networking fundamentals and embedded communication systems. • Experience developing and executing unit and integration tests. • Proficiency with Git version control. • Experience working in Agile development environments. • Familiarity with Jira and Confluence. • Strong analytical, troubleshooting, and problem-solving abilities. • Excellent verbal and written communication skills. • Ability to work independently and within a global cross-functional team. • Technical leadership or mentoring experience. Preferred Skills and Qualifications • 8+ years of embedded software development experience. • Experience with distributed systems and embedded servers. • Experience developing applications using Qt and QML. • Experience with industrial communication protocols including Modbus and CAN. • Experience developing software for STM32, ESP32, or similar microcontroller platforms. • Understanding of real-time systems and fail-safe software design principles. • Experience with automated testing frameworks and CI/CD pipelines. • Experience with UML modeling and software architecture documentation. • Experience with MQTT, REST APIs, and cloud-connected applications. • Experience with Microsoft Azure, IoT platforms, databases, AI, or edge computing solutions. • Experience with cybersecurity principles and secure software development practices. • Experience with data analytics and data-driven product development. • Relevant certifications in Linux, Embedded Systems, Software Testing, Functional Safety, Cybersecurity, Agile Development, Azure/AWS, Qt, or Industrial Networking (CAN, Modbus, MQTT) are considered an asset.

Before you apply

Applying takes about a minute. These four things decide how fast it moves after that.

Your profile is current

It's what we read first. Occupations, seniority and locations matter more than a long history.

Two examples you can talk through

Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.

A number in mind

What you're on now and what would make you move. We negotiate better when we know both.

Your notice period

Employers plan around it, and it's the question that stalls offers most often.

Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.

More like this