Sr. embedded linux software engineer

Xpertis Talent
Chicago, IL, United States
11 days ago
Apply on www.thejobnetwork.com
Prepare application

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours

Tech stack

Testing (Software) Agile Methodology Artificial Intelligence Amazon Web Services Microsoft Azure C++ (Programming Language) Cloud Computing Communications Protocols Cyber Security Databases Computer Engineering Software Design Patterns
+25 more
Linux Distributed Systems Linux on Embedded Systems Embedded Software Modbus Message Queuing Telemetry Transport (MQTT) Networking Basics Object-Oriented Software Development Software Architecture Qt Modeling Language (QML) Qt (Software) Software Engineering Systems Integration UML Multithreading Real Time Systems Software Application Programming Integration Tests Solid Principles Information Technology Atlassian Tools Data Analytics Multiaccess Edge Computing Restful APIs Software Version Control

Job description

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.

Requirements

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

Benefits & conditions

  • 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

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.thejobnetwork.com
Prepare application

Good distractions

Loading talks and stories from around this role…