Skip to content
← All work

An industrial materials manufacturer · 2020 – 2021

Legacy shop-floor C++ applications folded into one MES

A suite of separate proprietary C++ programs converted to C# and absorbed into a single manufacturing execution system spanning HR through machine control.

Context

The plant ran on a collection of independent proprietary C++ applications, each covering one slice of the operation, each with its own window and its own conventions, and each requiring institutional knowledge to operate.

The problem

Bring the entire manufacturing cycle under one system — HR, ERP, MRP, and controlling the machines themselves — without asking the people on the floor to relearn their jobs on day one.

What I did

  • Converted the C++ programs to C# one at a time and pulled each into a single master project, so the estate shrank continuously instead of in one high-risk cutover.
  • Designed the unified interface around the operators rather than around the old module boundaries, because the fastest way to lose a shop floor is to ship something harder to use than everything it replaced.
  • Built a per-user layout system that persists an operator's interface state and reloads it from any networked terminal, so their setup follows them to whichever station is free.
  • Stood up the Azure DevOps environment, migrated source control to Git including submodules, and trained the department on both.

Outcome

One system covering the entire manufacturing cycle in place of many, with per-user layouts that follow operators between terminals, and a department trained on modern source control and CI.