SCADA Developer

May 2020- September 2020


















About Guelph’s Water

what makes guelph’s water different 


Guelph Water Services is responsible for supplying clean and potable water to the residents of Guelph. This is made possible by twenty-one groundwater wells and a shallow groundwater collector system called the Glen Collector. The Glen Collector is a series of underground permeable pipes that work to move groundwater from the Arkell Spring Grounds – located in the Township of Puslinch – to be treated and used by the city of Guelph.

Guelph is the largest Canadian city whose drinking water supply relies almost exclusively from groundwater. The water quality is excellent, and requires much less treatment than other cities with higher-risk water sources such as rivers or lakes. The ground acts as a filter with low levels of naturally occurring fluoride, and the City uses ultraviolet technology and added chlorine that is monitored at multiple stages to ensure the water coming out of your tap is as clean and safe as possible.

This process is one that happens 24/7, where the team at the City of Guelph’s Water Services division is always on call to respond to guarantee that the city’s residents have the access they need. The standards they set are consistently higher than the laws and regulations they operate under, and they are constantly looking for ways to improve. We have their dedication and hard work to thank for our great quality drinking water!

The Arkell Springs Project

During my time with the City of Guelph’s Water Services I worked closely with the SCADA (Supervisory Control and Data Aquisition) team. This team is responsible for the monitoring and control of all pumping stations in the City and for the HMI that operators use to interact with equipment.

The project assigned to me was to create new code to control the Arkell Springs Wellfield, which is made of six pumping stations and a diversion chamber. Along with the control code, I also had to produce usable HMI and extensive documentation for each site. 

Prior to this position, I had some academic experience with writing assembly-level code in a micro computing course, where I learned the basics of 68k assembly. This provided me with some reference when I began to learn how to develop in ladder logic, an entirely new language that had a similar structure and execution as 68k.

Intuitive hmi

The user interface that the operators interact with. This communicates with the PLCs – which are wired to the equipment – to allow for control.

Ladder logic

The “backend” code that handles the input and output of the site’s control. Program instructions are laid out similarly to a circuitry diagram.


The hardware that houses code. Each site has one controller that hooks up to all the equipment and communicates with the HMI for control.

My Project Goals


problem solving

I wanted to develop my independent problem solving skills, to allow me to more quickly learn new skills in the workforce. I aimed to use the opportunity of programming for control systems to encourage me to think of software development in more concrete terms, as real-world solutions to real-world problems. In this way, I could think of a software system as consisting of independently functioning pieces of a whole, each with their own function and rules, rather than a singular structure that I built from scratch.

Developing software for control systems gives me a great opportunity to exercise my problem-solving skills because of the strict operating parameters and verifiable results. I’d know if I was getting better with problem solving if troubleshooting became more productive, and I felt more comfortable when errors occurred.


visual literacy

One of my responsibilities of this term is to create the HMI needed for the on-site operators to interact with my software, and in turn, the equipment. The visual component of this required me to interpret AutoCad drawings of the site and turn it into a usable interface that is intuitive enough that the operators will immediately know how to navigate. I hoped to use this opportunity to learn exactly what it takes to make an “intuitive” HMI of a complex process.

I could do this by looking at other site’s drawings and example HMIs to see the thought processes behind each deliberate choice, to see the logic behind choices that I would not have made. Doing so allowed me to shift my focus from an aesthetically pleasing UI to one that is based in usability. Focusing on making the screens straightforward and easy to follow helped me design with a specific purpose in mind rather than making them simply visually pleasing.

Id know my success on this part based on whether someone unfamiliar with the SCADA control system could conceivably find the data needed to answer an inquiry or interact with the equipment within a reasonable amount of time. 



When making a software system of this size, it is important that you also produce the documentation needed to maintain and understand every function it provides. In this position, I produced large documents called PLNs – documents that outline every operation guideline and expectation for a site. There are strict guidelines to how this must be written to ensure continuity with all sites, and it is my job to stay within these parameters while still concisely communicating everything needed. In doing so, I strengthened my written communication skills by being able to produce professional documentation for users both extremely familiar, and brand new to the software system.

I did this by closely following the PLN guidelines using the examples given to me, and trying to incorporate the answers to the questions that I had when I was tasked with using the PLN. In this way, the documentation remains succinct enough for veterans to get exactly the information needed, but helpful enough that novices are able to figure things out on their own. Overall, any edits were made with a light hand to ensure continuity amongst all sites.

I could measure success based on if my documentation answers any possible question about how the software controls the system, while remaining to the point and easily navigated.


Did I achiEve my goals?

After completing my work term with the City of Guelph, I can confidently say that I thoroughly improved my independent problem-solving skills. After the adjustment and training period, I worked independently and kept diligent notes of common problems I came across and, in doing so, could recognize patterns and common shortcomings. When a new issue appeared, I used these patterns to quickly diagnose the root of the problem or rule out easy solutions. By the end of the term I could iterate through the development cycle with minimal assistance and felt much more confident with my troubleshooting ability.

I had a lot of experience creating intuitive HMI during my work with the City of Guelph. When I began, I was largely concerned with the visual aspect; I always wanted things to line up perfectly and keep labelling consistent. By the end of my term I realized that the most important thing was clarity and usability, which sometimes meant compromising on the aesthetics. My final project was the most complicated, and the screen was more crowded than I would’ve liked. My first thought was to make everything into popups to simplify, but I decided to keep everything on the overview screen so that an operator could immediately diagnose issues and see all necessary data. This decision reflected a big change in thinking for me; I no longer based my decisions on my opinions but thought about how I could visually build my software in a way that best suits the clients.

Before my term working with the City of Guelph, I didn’t fully grasp the scope of necessary documentation for a technical piece of software. For each project of six, I produced over seventy pages of documentation outlining the function and interaction of each piece of equipment at the site. I now recognize the importance of making an outline to follow when making multiples of a similar project, so that users can navigate more intuitively to find the answers they need. Each “Process Control Narrative” was preceded by a detailed table of contents and followed the same ordering of modules so that operators looking to compare sites or find similar information would immediately know where to look. By the end of the term, I had successfully created documentation for each site that adhered to the company’s strict guidelines, while suggesting edits to answer questions that I came across during my development. After doing so, I can confidently say that my technical writing skills have thoroughly improved and I now have a better understanding of how cohesive documentation is formatted in a useful and navigable way.

new marketable skillS

  • PLCLadder Logic Development
  • User Interface Design and Implementation
  • Project Documentation Writing Skills
  • Experience with Querying and Modifying Databases
  • Factory Acceptance Testing Experience

Building My New Resume

Thanks to my time at Guelph, I am confident in my skills to produce quality tested code and documentation. This position gave me the chance to work independently on a large project that I’m proud of, and will definitely boost my resume.

I successfully wrote working control code for six sites, further strengthening my development skills. I also developed the UI, further expanding my knowledge of working with multiple interlocking pieces of software to create a reliable interactive product. Once complete, completed factory acceptance testing to ensure both pieces I created were functioning perfectly, making the changes as needed, and adding the documentation to the growing library that I had written. 

Overall, I can say confidently that my time with the City of Guelph’s SCADA team at Water Services provided me with invaluable experience and knowledge that will help me not only with future job searches, but in my academic career. They provided me with a steep but surmountable learning curve that taught me how to pick up skills “on the job”, something that will aid me in quick learning for years to come.

I’d like to thank them for their time and guidance, and thank the University of Guelph for the opportunity. I will continue to look back on my time with the SCADA team fondly, and I wish them all the best with their future projects.

contact me

Click the link to be brought to my updated resume page where you can find contact information and when I’ll be looking for job opportunities.