Linux C++ Software Developer/Engineer
Job Description
Our client, a leading company in the development and manufacturing of cutting-edge ultrasonic technologies for industrial purposes, is currently in search of a Linux C++ Software Developer/Engineer.
Job Description
- Develop the software UI and platform for a fleet of ultrasonic quality inspections tablets
- Develop backend software for storage, post-processing and analysis of inspection data
- Integrate our ultra-sonic processing algorithms with UI and hardware
- Develop network protocols and file formats for synchronizing data
- Collaborate on the design and implementation of core components of the application stack and operating system integration
- While most code base is currently using Modern C++20. They encourage using the right tool for the job, and this includes Golang and Rust for some new applications
Responsibilities
- Work with cross-functional teams to integrate hardware and software into a robust product
- Capture system requirements and design solutions
- Develop network communication protocols and data exchange formats
- Write tests and documentation for new features
- Perform other duties as assigned by the Project Manager
- Integration of the OS Platform and Application stack into an appliance configuration
- Develop and apply test plans including Unit Testing, and Integration Testing where appropriate to mitigate risks
- Perform root cause analysis of issues, and propose solutions to improve system reliability
Skills and Qualifications
- 3+ years of programming experience
- Bachelor’s degree in Software Engineering, Computer Science or related experience
- Systems or Server-side programming experience with any of C++, Golang, Rust
- Experience with database programming, relational database design, document database design, caching
- Solid knowledge of API architecture and implementation
- Strong focus on reliability and high availability in production environments
- Excellent communication and documentation skills
- Experience developing on Linux, such as Ubuntu or Redhat
- Fluent with Git and common workflows
- Basic system administration (troubleshooting, backup, recovery, boot tools) knowledge with Linux Systems
Preferred Qualifications
- Cross-platform GUI experience with a toolkit such as QT, GTK, WxWidgets, Slint, etc.
- Modern C++20 or greater is desirable, as well as usage of CMake for build scripts
- Experience with inter-process communication, and multi-threaded applications
- Experience with Yocto and Device Tree
- Containerization with Docker or Podman
- Experience with machine-to-machine messaging protocols such as MQTT, AMQP or OPC/UA
- Understanding of messaging serialization technologies such as Protobuf or Avro
- CI/CD tooling experience (Github Actions, Jenkins, Gitlab)
- Experience with writing code that can compile on multiple platforms
- Knowledge of Modern Web Application Frameworks is a plus
- Devops related experience with configuration management, log management, fleet management or high availability would be an asset
PLEASE : send your resume by email : LM@forgeconsult.com
Forge Consulting is a growth-oriented organization determined to enable our people to realize their potential. Our office culture fosters a friendly, open-minded workplace where employees are encouraged to find balance with their personal and work life. As a member of a dynamic, energy driven team, each employee is eager to learn, valued for their contributions, and approaches each day excited to grow themselves and the company further.