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.

Details

Position Type
On-Site
Location
Windsor ON
Reference Id
201718