Messina Group is seeking Embedded Software Engineers for a client in Franklin Park, IL. This is a long-term contract role (6-12 months+).
GENERAL
Essential Duties and Responsibilities:
Work with the SW engineering organization to implement and develop C and C++ applications within a Linux environment for ARM based targets. This includes the ability to interact with, understand, and debug C and C++ Linux applications using strong development knowledge.
PRIMARY
Essential Duties and Responsibilities:
- Experience with "bare-metal" microcontrollers
- Experience in C and C++ development
- Develop content in a Linux environment.
- Familiar with Git
- Capability to make tradeoffs between speed/ram/flash/elegance on a limited platform
- Experience using Qt, Linux system APIs, MQTT, DBus, STL.
- Write and debug applications for current and future products.
- Write and maintain unit tests using Google Test/Mock.
- Work in Debian based Yocto Linux target environment.
- Operate efficiently within Agile/Scrum based SW development
- Work closely with other internal groups to help with with SW development needs and requirements.
- Apply engineering principles in broad areas of assignments and related fields.
- Assume full technical responsibility for interpreting, organizing, executing, and coordinating assignments.

Embedded Software Engineer
Learn about our Information Technology (IT) Talent Acquisition services here.
Embedded Software Engineer | Contract
Franklin Park, IL
Messina Group is seeking Embedded Software Engineers for a client in Franklin Park, IL. This is a long-term contract role (6-12 months+).
GENERAL
Essential Duties and Responsibilities:
Work with the SW engineering organization to implement and develop C and C++ applications within a Linux environment for ARM based targets. This includes the ability to interact with, understand, and debug C and C++ Linux applications using strong development knowledge.
PRIMARY
Essential Duties and Responsibilities:
- Experience with "bare-metal" microcontrollers
- Experience in C and C++ development
- Develop content in a Linux environment.
- Familiar with Git
- Capability to make tradeoffs between speed/ram/flash/elegance on a limited platform
- Experience using Qt, Linux system APIs, MQTT, DBus, STL.
- Write and debug applications for current and future products.
- Write and maintain unit tests using Google Test/Mock.
- Work in Debian based Yocto Linux target environment.
- Operate efficiently within Agile/Scrum based SW development
- Work closely with other internal groups to help with with SW development needs and requirements.
- Apply engineering principles in broad areas of assignments and related fields.
- Assume full technical responsibility for interpreting, organizing, executing, and coordinating assignments.
REQUIRED SKILLS AND ABILITIES
- Strong C and C++ programming skills and experience.
- Able to effectively navigate and work in a Linux environment.
- Knowledge of kernel interfaces at a userspace level and interacting with Linux kernel drivers.
- Capable of using git for software version control.
- Proven history of being successful within an agile team-oriented environment.
- Confident team player motivated by a fast-paced environment.
ADDITIONAL DESIRED SKILLS
- Knowledge of a variety of embedded filesystems.
- Experience with volts-hertz induction motor experience
- Familiarity with a variety of Linux distributions.
- Familiarity with Jira and Jenkins.
- Experience with Qt Creator and/or GCC for cross compiling environments.
- Understanding of what a BSP is, how it applies to a development process, and what goes into managing one.
- Strong understanding of software design patterns and how, why, and when to apply them.
- Ability to learn existing architecture quickly.
- Experience developing within RTOS using C and C++.
- Fluent in Python, and shell.