Search

Sr. embedded linux software engineer

PublishedPublished: 6/14/2022
Technology

Job Description

Sr. Embedded Linux Software Engineer

\n

locations : CA, IL

\n

Key Responsibilities

\n

• Design, develop, and maintain embedded software applications using modern C/C++.

\n

• Develop software for embedded Linux platforms and control systems.

\n

• Collaborate with product owners to define requirements, create specifications, and document development activities.

\n

• Work closely with system architects, hardware engineers, and software developers to ensure successful system integration.

\n

• Develop communication, networking, and data management applications for embedded devices.

\n

• Design and implement communication interfaces using protocols such as Modbus, CAN, MQTT, TCP/IP, and REST APIs.

\n

• Develop and maintain software for microcontroller platforms including STM32, ESP32, or similar architectures.

\n

• Create robust software solutions emphasizing reliability, stability, fault tolerance, and maintainability.

\n

• Specify, develop, and execute unit tests, integration tests, and automated test procedures.

\n

• Participate in code reviews, software design reviews, and technical discussions.

\n

• Troubleshoot software, communication, and integration issues across embedded environments.

\n

• Develop software architecture and system designs using object-oriented principles and UML modeling.

\n

• Support Agile development activities including sprint planning, backlog refinement, and task estimation.

\n

• Mentor junior engineers and provide technical leadership on software projects.

\n

• Maintain software repositories and development workflows using Git.

\n

• Prepare technical documentation, test reports, and release notes.

\n

• Collaborate with global engineering teams, manufacturing facilities, and product management organizations.

\n

• Stay current with advancements in embedded software technologies, Linux development, networking, and cybersecurity.

\n

• Identify opportunities to improve software performance, reliability, and development processes.

\n

• Support collaboration between global and local engineering teams, including manufacturing and development organizations.

\n


\n

Required Skills and Qualifications

\n

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.

\n

• Bachelor's degree in Computer Engineering, Computer Science, Software Engineering, Electrical Engineering, or related field.

\n

• 5+ years of software development experience focused on embedded systems or industrial applications.

\n

• Strong proficiency in modern C/C++ and object-oriented programming.

\n

• Experience developing software applications under Linux.

\n

• Understanding of object-oriented design (OOD), software architecture, and design patterns.

\n

• Experience with multithreaded and concurrent application development.

\n

• Familiarity with networking fundamentals and embedded communication systems.

\n

• Experience developing and executing unit and integration tests.

\n

• Proficiency with Git version control.

\n

• Experience working in Agile development environments.

\n

• Familiarity with Jira and Confluence.

\n

• Strong analytical, troubleshooting, and problem-solving abilities.

\n

• Excellent verbal and written communication skills.

\n

• Ability to work independently and within a global cross-functional team.

\n

• Technical leadership or mentoring experience.

\n


\n

Preferred Skills and Qualifications

\n

• 8+ years of embedded software development experience.

\n

• Experience with distributed systems and embedded servers.

\n

• Experience developing applications using Qt and QML.

\n

• Experience with industrial communication protocols including Modbus and CAN.

\n

• Experience developing software for STM32, ESP32, or similar microcontroller platforms.

\n

• Understanding of real-time systems and fail-safe software design principles.

\n

• Experience with automated testing frameworks and CI/CD pipelines.

\n

• Experience with UML modeling and software architecture documentation.

\n

• Experience with MQTT, REST APIs, and cloud-connected applications.

\n

• Experience with Microsoft Azure, IoT platforms, databases, AI, or edge computing solutions.

\n

• Experience with cybersecurity principles and secure software development practices.

\n

• Experience with data analytics and data-driven product development.

\n

• 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.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...