We are looking for a Senior C/C++ Software Engineer who can work independently and also collaborate within a small engineering team (2–4 people). The role involves full lifecycle software development on Linux systems, including high‑level application development and low‑level device driver development.
This is a hands‑on technical role requiring strong ownership, deep system knowledge, and comfort working close to hardware.
Key Responsibilities
- Design, develop, and maintain software using C++ (C++20 or newer) and C on Linux platforms
- Develop and maintain Qt desktop applications using Qt Widgets (not QML) and C++ STL
- Work both independently and as part of a small engineering team (2–4 people)
Participate in the full software development lifecycle, including:
- Software requirements analysis
- Creation of Software Requirements Specifications (SRS)
- Creation of Software Design Specifications (SDS)
- Development of pre‑installation and post‑installation test procedures
Analyze legacy systems to:
- Understand existing architectures, interfaces, and constraints
- Identify how new software must interface with legacy systems
- Gather and document functional, performance, and interface requirements
- Define constraints and dependencies imposed by legacy hardware or software
Additional Responsibilities
- Translate legacy system findings into clear, actionable requirements for new solutions
- Design and implement Linux device drivers, particularly for PCI‑based hardware
- Build and manage software using Make and CMake
- Use version control systems (Git preferably) for source code management
- Debug, optimize, and validate software across application and system levels
Must‑Have Technical Skills
Expert C++ developer
- C++20 or newer
- Strong experience with the C++ STL
Qt framework experience
- Application development using Qt (QT 6 and above would be an asset)
- Application development using Qt Core and Qt Widgets
Strong C programming skills
- Low‑level and system programming
Linux device driver development
- Especially PCI device drivers
Build systems
- Make
- CMake
Version control
- Git (preferred)
Full software development lifecycle experience
- Requirements analysis
- Software Requirements Specification (SRS)
- Software Design Specification (SDS)
- Pre‑installation and post‑installation test procedures
Additional Skills
- Strong ability to analyze existing/legacy systems and extract technical requirements
- High attention to detail when documenting interfaces, constraints, and behaviors
- Able to work independently with minimal supervision
- Comfortable collaborating in a small, focused team (2–4 engineers)
- Strong sense of ownership and accountability
Assets
- VME architecture experience for I/O operations
- PLC programming experience
- Any vendor or IEC 61131‑3 languages considered an asset
- Experience with hardware–software integration
- Experience in performance‑critical or real‑time systems
Looking for meaningful work? We can help
Raise is an established hiring firm with over 65 years of experience. We believe strongly in making the world a better place through work, which is why we’re a certified B Corporation and donate 10% of our profits to charity.
We strive to build teams that reflect the diversity of the communities we work in. We encourage all qualified applicants to apply, including people from traditionally underrepresented groups such as women, visible minorities, Indigenous peoples, people identifying as LGBTQ2SI, veterans, and people with visible/nonvisible disabilities.
We have a dedicated webpage for accommodations where you can learn more about what we offer, and request accommodation: https://raise.jobs/accommodations/
In order to submit candidates for roles, our clients will sometimes require personal information to confirm the identity of applicants and their legal status to work. Raise will never ask you for personal or banking information unless you have been selected for a job. If you are ever unsure about the legitimacy of this or another job posting by Raise (or have any other questions), please contact us at +1 800-567-9675 or hello@raiserecruiting.com
#IMW