C/C++ Software Developer
One-Way Automation Inc.
Edmonton, AB

One-Way Automation, Edmonton based private company providing custom software design and development services with specialization in OPC UA and C/C++, looking for candidates to work on next generation industrial automation and IIoT software development projects:

  • Data communication middleware applications utilizing OPC UA;
  • Embedded OPC UA Servers;
  • SCADA/HMI applications.
  • Web based GUI to configure those applications.

Infrastructure, methodologies and tools used by the team:

  • Project management: Atlassian Jira and Confluence;
  • Programming languages:
  • For embedded applications: C or C+;
  • Backend services (REST and others): C++ or C#;
  • Desktop applications: C++ with Qt;
  • Web frontend: JavaScript.
  • Some Python, Bash, Windows batch scripting.
  • Development environment:
  • IDE: Microsoft Visual Studio 2017, 2015, with Visual GDB extension;
  • Version Control System: Git based (GitLab);
  • Unit testing frameworks: Catch2 or googletest for C++ code; NUnit for C# code;
  • Automated nightly build and continuous build: TeamCity;
  • Virtualization tools: Hyper-V and VirtualBox;
  • Remote communication and collaboration tools: Skype for Business, TeamViewer;

Key requirements:

  • Expertise on most of the listed above technologies;
  • C++ or C is a must to have;
  • Experience on architecture, design, development and unit testing of industrial automation client-server applications (examples: OPC UA Servers/Clients, embedded software; real time applications; HMI, SCADA, communication applications; device drivers; historians);
  • Experience on OPC UA is highly desirable (you can read some information about OPC UA at the OPC Foundation web site: opcfoundation.org)
  • Experience on industrial communication protocols such as Modbus, Siemens S5/S7 etc. is desirable.
  • Portfolio of completed commercial software development projects.

Education: University degree in computer science, computer engineering, or a related field.

Expected duration of contracts varies depending on projects, from a few months to a year and longer.

Work from your home office.

Job Type: Contract


  • C++: 1 year (Required)


  • Bachelor's Degree (Required)


  • Edmonton, AB (Preferred)