Sr. Embedded Linux Software Engineer
locations : CA, IL
Key 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.