C++ Software Engineer

Randstad
Peoria, United States of America
yesterday

Role details

Contract type
Internship / Graduate position
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
$ 125K

Job location

Peoria, United States of America

Tech stack

Board Bringup
Application Frameworks
Automation of Tests
Azure
C++
Software Quality
Code Review
Computer Engineering
Continuous Integration
Software Debugging
Software Design Patterns
Linux
Device Drivers
Memory Management
Embedded C
Middleware
Embedded Software
Ethernet
Github
Python
Non-Volatile Memory
Performance Tuning
Software Architecture
Cloud Services
Software Engineering
Software Requirements Analysis
Software Systems
Multithreading
GIT
Information Technology
Software Version Control

Job description

Lead the design, development, and ownership of the application framework and middleware across autonomy applications

  • Define and influence software architecture for scalable, reliable, and maintainable autonomy systems

  • Serve as a technical leader within the team, setting coding standards, best practices, and design patterns

  • Mentor and guide junior and mid-level engineers through design reviews, code reviews, and technical coaching

  • Ensure software quality through automated testing, CI/CD pipelines, performance optimization, and documentation

  • Support requirements generation and architecture decisions and tradeoffs

  • Support functional safety software design and validation process

  • Lead debugging and root-cause analysis for complex issues observed in simulation, HIL, or field deployments

  • Collaborate with cross-functional teams to integrate hardware and software solutions

Requirements

The ideal candidate brings deep hands-on experience in embedded software development and can work through requirements definition, including clear documentation., Strong expertise in C++ (required); proficiency in Python

  • Proven experience designing and maintaining large-scale, production software systems

  • Deep understanding of Linux-based development, multithreading, memory management, and performance optimization

Desired Skills:

  • Experience in development of device drivers, hardware diagnostics, non-volatile memory interfacing, board initialization, & communication networks such as J1939/CAN/Ethernet

  • Experience with industry-standard tools such as Git, GitHub, and Azure for version control, collaboration, and cloud services

  • Familiarization with core robotics principles

Soft Skills Required:

  • Strong code review, design documentation, and technical communication skills

  • Working within a team that is spread out across multiple locations

Education & Experience Required:

  • Years of experience: 7+ years of professional experience with a strong focus on embedded C/C++ development

  • Degree requirement: Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or related field or equivalent experience

Apply for this position