Seeking a Console Software Engineer for a Direct Hire opportunity in Franklin Park, IL.
Responsible for the performance of professional work in research, development, design, testing, analysis, production, construction, maintenance, or operation of company product lines. Significant latitude is given to work within the team to develop superior designs and innovative solutions as well as improve the development processes.
- Works closely with Product Management to collaborate on requirements and recommended implementations.
- Provides expert guidance to project teams and participates as a key functional team member as part of the integrated project team.
- Designs and codes software to meet requirements.
- Follows industry standard practices of conducting design reviews, code walk-throughs, unit level testing, and integration testing.
- Works closely with the Software Quality Assurance team to test, troubleshoot, resolve, and release production software.
- Ensures prompt response to production and customer issues.
- Applies intensive and diversified knowledge of engineering principles in broad areas of assignments and related fields.
- Maintains liaison with individuals and units within the organization, and with outside vendors and other sources, with responsibility for acting independently on technical matters related to product and process development.
- Assumes full technical responsibility for interpreting, organizing, executing and coordinating assignments.
- Plans and develops engineering projects concerned with unique or challenging designs which have an important effect on major company initiatives.
- May supervise subordinates or individual researchers or consultants on specific objectives.
- Minimum B.S. in Computer Science, Software Engineering, Computer Engineering, or related discipline
- 5+ years of experience working with embedded filesystems.
- 5+ years of experience in C and C++ programming skills and experience.
- 5+ years of experience with "bare-metal" microcontrollers
- Experience using Qt, Linux system APIs, MQTT, DBus, STL.
- Experience developing using embedded Linux
- Able to effectively navigate and work in a Yocto Linux target environment.
- Capable of using git for software version control.
- Able to write and maintain unit tests using Google Test/Mock.
- Knowledge of kernel interfaces at a userspace level and interacting with Linux kernel drivers.
- Proven history of being successful within an agile team-oriented environment.
- Confident team player motivated by a fast-paced environment.
- Operate efficiently within Agile/Scrum-based SW development
ADDITIONAL DESIRED SKILLS
- Familiarity with Jira and Jenkins.
- 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++.
- Experience in Python/shell.