Don Grout


Unity and AutoCAD Software Developer

Montreal, QC, Canada
403-660-5542
dongrout@yahoo.com
www.linkedin.com/in/dongrout
dgsoftware.itch.io

Technologies

  • Unity
  • AutoCAD
  • Visual Studio
  • C#/.NET & WPF
  • AutoLISP
  • Android
  • Java
  • HTML & CSS
  • Bootstrap & Joomla

Skills

  • Strong attention to detail
  • Critical thinking and problem-solving
  • Adaptable, flexible, and quick to learn
  • Effective team player and independent worker

Experience

Unity VR Developer

Developed VR simulation training software for teaching and assessing nursing clinical skills, building modular systems for realistic patient interactions and procedural workflows. Created simulations for IV insertion, suctioning, and auscultation, optimizing multiplayer performance and accessibility, and collaborating with medical experts to ensure clinical accuracy.

Built VR training simulations for operating large mining equipment with modular content systems, detailed performance tracking, and hidden "Easter egg" interactions to enhance engagement.

Unity Apps Developer

Designed 3D home modeling tools for assembling custom houses with modular rooms, intuitive wall editing, and drag-and-drop placement of doors and windows. Updated UI for streamlined furniture browsing and manufacturer catalog integration.

Unity Games Developer

Independently design and develop games for Android, VR, and WebGL platforms, combining classic recreations with original experiences focused on intuitive gameplay, creative mechanics, and immersive VR adaptations.

AutoCAD Software Developer

Led PROCAD 2D development, handling features, customization, licensing, and automated builds. Created 3D metadata tools, OpenGL viewers, and custom AutoCAD enhancements to streamline drafting workflows. Later provided CAD customization services, standardizing environments, automating model updates, and delivering user training and support.

The Most Amazing...

... software I create brings graphics to life through intuitive and immersive interaction.

Professional Roles

  • Microsoft Windows Developer

    • Developed applications using WPF and WinForms frameworks, ranging from quick utilities to full standalone programs, applying object-oriented programming principles.
    • Designed intuitive, user-friendly interfaces to ensure ease of use and clarity.
    • Built applications to extract, compare, and report on data from various formats, including spreadsheets and SQL databases, with outputs in graphs, tables, or Excel exports.
    • Implemented color-coded highlighting to make data comparisons clear and easy to interpret.
    • Created a file backup application that organized files into monthly folders and an archive browser to quickly locate which disc contained a specific file.
    • Built system maintenance utilities for tasks such as FTP file transfers, license usage monitoring, open file detection, hardware/software inventory tracking, and automated email reporting.
    • Developed a folder-based music player that plays all audio files from a selected directory.
    • Designed a simple video editing interface leveraging FFMPEG to streamline basic editing tasks.
    • Created a utility to rename digital photos based on the actual date and time they were taken instead of default sequential numbering.
    • Wrote an early mining simulator in C for DOS to optimize operations under capacity and power constraints.
  • Unity Apps & VR Developer

    Nursing Simulation Training Software

    • Developed over 100 VR simulation features for nursing education, focusing on medical procedures (e.g., IV insertion, auscultation, NG tube suctioning) and patient interactions across adult and pediatric scenarios.
    • Built modular Unity systems using the Model/View design pattern, applied to control panels, wrist menus, EHR interface, Hook UIs, and supply cart interactions.
    • Implemented dynamic VR UI components such as tooltips, wrist-mounted menus, floating labels, and checklist systems to guide users through clinical workflows.
    • Engineered complex medical equipment mechanics, including IV infusion pumps, blood culture sampling, NG tube attachment systems, and suction regulators with real-time physics behaviors.
    • Integrated hardware feedback and sensors to synchronize physical object manipulation (e.g., IV bags, blood pumps) with virtual interactions and animations.
    • Diagnosed and resolved critical VR multiplayer synchronization issues, cross-platform exceptions (Meta Quest VR and PC VR), and real-time state desynchronizations.
    • Collaborated closely with medical experts and instructional designers to align scenario designs with real-world nursing protocols and best practices.
  • Industrial Training Simulations

    • Developed a VR training simulation for electrical circuit breaker maintenance, requiring users to select proper PPE, perform hazard checks, coordinate with a switchman, and complete a full racking procedure.
    • Designed a progressive learning system with three training modes: fully guided, semi-guided, and open-world, where task sequence errors resulted in failure, reinforcing real-world safety protocols.
    • Integrated real-world physical equipment with VR via sensors, allowing users to see and control live equipment movement within the simulation.
    • Built a VR inspection experience for large mining equipment, enabling users to teleport around machinery, inspect components, identify hazards, and interact with moving parts like doors.
    • Enhanced user navigation with guided visual cues and an animated robot demonstrating inspection procedures.
    • Optimized performance for both Oculus Rift, Oculus Quest and Oculus Go VR hardware, tailoring controls and visuals for platform capabilities.
  • Home Design Visualization Software

    • Developed 3D home modeling software where individual rooms were created as modular, standalone components and assembled like a puzzle to form complete house layouts.
    • Built a wall generation system with intuitive drag-and-stretch controls, enabling users to place, modify, and resize walls in real time, with dynamic dimensions displayed.
    • Engineered smart corner handling to automatically align walls at varying angles and thicknesses, including support for sloped and curved wall designs.
    • Improved the placement and duplication of windows and doors with real-time snapping and dragging mechanics for a smoother user workflow.
    • Designed and implemented complex triangulation algorithms to handle wall surface faceting, curved geometry, and clean joins between internal and external wall layers.
    • Customized a generic 2D triangulation library for 3D use cases, including extending end lengths for seamless corners and adjusting wall thicknesses to prevent rendering conflicts.
  • Unity Games Developer

    • Develop and publish small games on https://dgsoftware.itch.io, focusing on both original creations and recreations of classic titles like Pong, Breakout, Asteroids, Space Invaders, Diamond Mine and Tetris.
    • Design a highly customizable, modern version of Othello, supporting 2-4 players (human or bots), adjustable board dimensions (8x8 to 16x16), randomized tile blockouts, and speed-based Dash Mode with timed turns.
    • Experiment with innovative design techniques, including vector-line and voxel-based versions of Asteroids and Space Invaders, featuring dynamic destruction effects.
    • Revive and modernize older games, such as Alien Invasion, a resurrection of a 1999 space shooter, and create new original titles like Tank vs Tank, a head-to-head tank battle game.
    • Develop educational games like Mathscape, a multiplayer dungeon escape game that challenges players' math skills in a collaborative environment.
    • Recreate mobile games such as Unblockable and Ballz, adapting mechanics for fresh gameplay experiences.
    • Adapt traditional game genres into VR experiences, including the Unity Tower Defense Template (playable from a full-map or first-person perspective) and a Shooting Gallery optimized for immersive 2D and VR play.
  • Android App Developer

    • Developed a variety of Android applications, ranging from utilities to entertainment tools.
    • Created an Aurora alarm clock app that alerts users when Aurora Borealis activity reaches high levels.
    • Built utilities including a mobile data auto-enabler when Wi-Fi is present, a quick mobile data toggle, and a beats-per-minute calculator activated by tapping the screen.
    • Designed a simple text file book reader with automatic bookmarking functionality.
    • Developed a multi-unit converter, including real-time currency exchange rates.
    • Built a custom clock app displaying time using rotating bitmap graphics.
    • Converted a website into a mobile app with the DG Software app.
    • Created OpenGL-based games, using the same graphics codebase shared with Windows versions for cross-platform consistency.
    • Developed a music player that plays all tracks from a selected folder on the device.
    • Built PC-to-clipboard apps to quickly transfer data between a PC and an Android device.
    • Designed a recent apps widget displaying app icons sorted by most recent usage for faster access.
  • Website Developer

    • Designed and developed an internal company intranet using the Joomla CMS, customizing PHP code, CSS styles, and the MySQL database.
    • Automated content updates by linking the site to company Excel spreadsheets and AutoCAD drawings, allowing employees' daily workflows to seamlessly update website data.
    • Added features such as user-posted classified ads, interactive calendars, event and staff photo galleries, contests, and polls.
    • Built live contests like a real-time reverse wine draw, and integrated external data feeds, such as Olympic medal standings, directly into the site.
    • Regularly updated and customized the intranet based on user feedback and evolving company needs, providing ongoing maintenance and support.
    • Also created simple external websites for company and personal use, either from scratch or by adapting templates and supplied graphics.
    • Developed sites using HTML, CSS, and JavaScript, structured for easy manual updates by non-technical users with basic tools like Notepad.
  • AutoCAD Software Developer

    • Sole developer for PROCAD 2D, responsible for designing new features, maintaining legacy code, providing user support, and customizing solutions tailored to client needs through a secure keycode system.
    • Managed licensing with CrypKey and installation workflows with InstallShield; automated builds and distribution by integrating SourceSafe versioning, compilation, and installer creation.
    • Developed metadata-driven modeling tools to import and visualize SQL database components directly in AutoCAD, collaborating closely with the 3D piping software team.
    • Created a standalone and AutoCAD-integrated 3D viewer using OpenGL, enhancing visualization of complex model components.
    • Built a custom Open Drawing Dialog system to organize project files with visual previews, improving navigation across large drawing repositories.
    • Designed model templating tools to copy previous projects, reposition models, and automatically update labels and tags for rapid project setup.
    • Developed reporting tools capable of scanning hundreds of drawings and generating engineering reports from extracted data.
    • Automated plotting processes by dynamically determining pen settings, page layouts, and inserting/removing client-specific stamps based on project metadata; included batch plotting support.
    • Implemented an overnight processing system that cleaned models (purged unused layers, reset settings), generated updated Navisworks walkthroughs, and uploaded progress files to client FTP sites.
    • Created a suite of custom AutoLISP and native commands to automate repetitive drafting tasks, improving efficiency and ensuring compatibility with future AutoCAD versions.
    • Maintained a corporate block library with embedded placement rules to ensure all inserted elements complied with drafting standards for layer control and orientation.
  • AutoCAD Systems Management & Support

    • Provided support for AutoCAD and third-party CAD applications such as PROCAD, Bentley AutoPlant, and ProStructures.
    • Customized, configured, and maintained CAD systems to uphold consistent standards and settings across projects.
    • Organized the CAD environment, including project folder structures and networked file systems.
    • Standardized company-wide custom menus, layering systems, block libraries, and plotting procedures.
    • Developed and maintained custom commands to streamline and simplify drafting workflows.
    • Implemented a templating system to accelerate model creation for similar projects.
    • Built an automated nightly system to clean AutoCAD models and generate updated Navisworks plant models.
    • Designed and conducted training sessions on custom AutoCAD tools and workflows.
    • Authored detailed documentation and work instructions to support end users and promote consistency.
    • Installed and updated CAD software across drafting workstations.
  • AutoCAD Drafter

    • Drafted cable tray, lighting, power, grounding, and MCC layouts in plan views, elevations, and detailed drawings for the Electrical Department.
    • Provided drafting support for the Mechanical, Piping, Structural, and Geotechnical departments as needed.
    • Maintained standard layering practices and utilized externally referenced (xref) drawings to ensure consistency across projects.
    • Contributed to a range of unique projects, including hotel floor plans, dam cut-and-fill calculations, and optimizing cutting layouts for a faceted diamond-shaped roof.
    • Performed precision calculations to determine the center of gravity for a container drop test, resulting in a successful balance on its corner before tipping as intended.
  • Graphical Interface Developer

    • Modernized graphical user displays by converting legacy SCADA system screens to updated platforms.
    • Imported old screens into Catalyst's Myriad application, retagged dynamic elements, and exported them to AutoCAD for cleanup and final translation into the OASyS DNA system.
    • Developed tools to automate the process, including a screen-scanning utility that generated detailed reports and custom AutoCAD commands to streamline cleanup tasks.
    • Implemented batch processing workflows to accelerate large-scale screen conversions and reduce manual effort.

Employment History

UbiSim
Unity VR Developer

Dec 2020 to Apr 2025

Montreal, QC (remote)

Roles: Unity VR Developer

Responsibilities included:

  • Developing virtual training platform for nursing.

Tools and technologies used: Unity 3D, C# and Oculus Quest & Rift.

ICOM Productions
Unity & Unreal VR Developer

Nov 2018 to Apr 2020

Calgary, AB

Roles: Unity & Unreal VR Developer

Responsibilities included:

  • Developing virtual training for switching out an electrical circuit breaker rack.
  • Developing virtual inspection of large mining equipment.
  • VR controls for inspecting, teleporting & interacting with objects.

Tools and technologies used: Unity 3D, C#, Unreal, HTC Vive and Oculus Rift.

Picture This Today
Unity Developer

Apr 2017 to Aug 2019

Victoria, BC (remote)

Roles: Unity 3D Developer

Responsibilities included:

  • Creating software to easily model houses in 3D.
  • Focused on generating walls with commands to easily place and modify them.

Tools and technologies used: Unity 3D, C# and WebGL.

ICOM Productions
Unity VR Developer

May 2018 to Jun 2018

Calgary, AB

Roles: Unity VR Developer

Responsibilities included:

  • Developing virtual inspection of large mining shovel.
  • VR controls for inspecting, teleporting & interacting with objects.
  • Animated robot demoing the process.

Tools and technologies used: Unity 3D, C#, Android, Oculus Rift and Oculus Go.

Integrated Geomatics
AutoCAD Software Developer

Jan 2017 to Jun 2018

Calgary, AB

Roles: AutoCAD Software Developer

Responsibilities included:

  • Automating the workflow through development of custom software solutions.

Tools and technologies used: AutoCAD, AutoLISP, Visual C#, HTML, CSS, Python and ArcGIS.

University of Calgary Ballroom Dance Club
Website Developer

Oct 2016 to May 2018

Calgary, AB

Roles: Website Developer

Responsibilities included:

  • Backing up the website.

Tools and technologies used: cPanel, WordPress, phpMyAdmin, MySQL, HTML and CSS.

Accalia Accounting Ltd.
Microsoft Windows Developer

Jun 2016 to Aug 2016

Calgary, AB

Roles: Microsoft Windows Developer

Responsibilities included:

  • Developing a payroll calculator application.

Tools and technologies used: Visual C#, HTML, CSS.

Vista-Mustang JV Corporation
Website Developer

Nov 2015 to Feb 2018

Calgary, AB

Roles: Website Developer

Responsibilities included:

  • Maintaining their intranet website.
  • Posting articles, updating pages, ensuring automated updates are running.

Tools and technologies used: Joomla, HTML, CSS, JavaScript, PHP, MySQL, Visual C#, and Microsoft Office Excel.

Longhorn Geomatics Limited
AutoCAD Software Developer

Nov 2015

Calgary, AB

Roles: AutoCAD Software Developer

Responsibilities included:

  • Meeting with a client and developing custom drafting tools.

Tools and technologies used: AutoCAD and AutoLISP.

Vista-Mustang JV Corporation
Engineering Applications Specialist

Nov 2009 to Nov 2015

Calgary, AB

Roles: AutoCAD Systems Management & Support, AutoCAD & Windows Software Developer, and Website Developer

Responsibilities included:

  • Providing AutoCAD, ProStructures and IMV PID support.
  • Customizing said systems to meet ongoing users requirements.
  • Develop and maintain custom commands for controlling layers, inserting blocks, initializing drawings, templating models, and other miscellaneous functions.
  • Develop programs for users to simplify batch plotting, accessing Navisworks plant models, extracting line list information and editing isometric revisions.
  • Develop commands and programs for the support team to clean models, upload line lists to the database, maintain model lists, monitor the computer system, generate reports on the models and upload models to client's FTP site.
  • Created a menu system to organize all the custom commands as well as maintain standard system settings.
  • Developed a system for automatically cleaning AutoCAD models and generating a Navisworks plant model on a nightly basis.
  • Designed and developed the internal company intranet on the Joomla website system.
  • Automated the process of updating many parts of it by linking to company Excel spreadsheets and AutoCAD drawings.
  • Provided overall maintenance on an ongoing basis.
  • Updated & customized the site as per user ideas and suggestions.
  • Added features for displaying user classified ads, calendars, event & staff photos, contests, polls and sporting event updates.

Tools and technologies used: AutoCAD, AutoLISP, Visual C#, Bentley AutoPlant, Bentley ProStructures, SQL Server, Joomla, HTML, CSS, JavaScript, PHP, MySQL, and Microsoft Office Excel.

Shok Dance
Website Developer

Sep 2013 & May to Jun 2010

Calgary, AB

Roles: Website Developer

Responsibilities included:

  • Meeting with a client to setup a website based on a client supplied template and graphics.
  • The website had to be easy to update and maintain by the owner instead of relying on outside support.
  • A few years later, provided consultation when the company decided to come up with a new website design using the Wix web development platform.

Tools and technologies used: HTML, CSS, and JavaScript.

Wood Group Mustang / IMV Projects Inc.
Engineering Applications Specialist

Dec 2007 to May 2009

Calgary, AB

Roles: AutoCAD Systems Management & Support, and AutoCAD Software Developer

Responsibilities included:

  • Involved with AutoCAD development within the company.
  • Work closely with users on support related issues.
  • Provide 2nd level AutoCAD support.
  • Involvement with development and maintenance of company wide custom menu system.
  • Implementation of custom tools to enforce corporate drafting standards.
  • Develop ad-hoc AutoCAD based applications for projects as needed.
  • Develop and maintain custom solutions utilizing the PROCAD family of products.
  • Develop and maintain custom solutions utilizing the Bentley AutoPlant family of products.
  • Write documentation and work instructions on the use of various AutoCAD products and custom tools.
  • Develop and run AutoCAD related training sessions.

Tools and technologies used: AutoCAD, AutoLISP, Visual C#, Visual Basic, Bentley AutoPlant and PROCAD 2D.

Upside Engineering
CAD Support Technician

Feb 2006 to Dec 2007

Calgary, AB

Roles: AutoCAD Systems Management & Support

Responsibilities included:

  • Supply technical support for the CAD software and fix problems that are encountered.
  • Install CAD software and their latest updates on drafting computers.
  • Organize the CAD environment and network folder structure.
  • Set up project folders for drafting files and plotting.
  • Customization of CAD programs as required.

Tools and technologies used: AutoCAD and AutoLISP.

Cimarron Engineering
CAD Support Technician

Oct 2005 to Jan 2006

Calgary, AB

Roles: AutoCAD Systems Management & Support

Responsibilities included:

  • Providing AutoCAD and related 3rd party CAD applications support.
  • Customization, setup and configuring of the CAD systems.

Tools and technologies used: AutoCAD and AutoLISP.

Catalyst Realtime
Graphical Interface Developer

Jan 2005 to Jul 2005

Calgary, AB

Roles: Graphical Interface Developer

Responsibilities included:

  • Convert graphical user displays from older SCADA systems to newer versions. The process involved importing the old screens into Catalyst's Myriad application. Then dynamic elements were tagged and the screen exported to AutoCAD. Once in AutoCAD, cleanup was performed and then the final screen is translated to the OASyS DNA system.
  • Programmed a number of tools for the conversion process. A tool was written to scan the screens and generate reports of required information. A collection of AutoCAD commands were created to make the cleanup process a lot easier and quicker. Batch processing was done on the screens to automate many of the changes.

Tools and technologies used: AutoCAD, AutoLISP, and OASyS DNA SCADA.

Avitrax Website Design
Website Developer

Feb 2004

Calgary, AB

Roles: Website Developer

Responsibilities included:

  • Worked on the RentFaster.ca website.
  • Developed the functionality so that listings could be bookmarked into a favorites list and then viewed later.
  • Also worked on saving search preferences so that after a search was made, going back to the previous page would restore the last search options.

Tools and technologies used: HTML, CSS, JavaScript, PHP, and MySQL.

PROCAD Software
AutoCAD Software Developer

Jul 1999 to Mar 2008

Calgary, AB

Roles: AutoCAD Software Developer, and AutoCAD Systems Management & Support

Responsibilities included:

  • Maintain existing and develop new features for 2D piping software. Customization was also done to suit the specific needs of clients. Provided technical support to users for the 2D drafting software via e-mail and the phone.
  • Design and develop new features for 3D piping software. The application included both stand-a-lone programs and AutoCAD-based programs that interact with a SQL database. The modeling software reads dimensional data from the database and then creates 3D models in both AutoCAD and OpenGL. User interfaces had to be designed so that editing the model was natural to the user.
  • Controlled licensing of the software with CrypKey. Created the installation for the software using InstallShield. Automated the process of getting the latest source file versions from SourceSafe, compiling the programs, building the installation, and having a folder ready to burn to CD for distribution.

Tools and technologies used: AutoCAD, AutoLISP, ObjectArx, C++, Visual C#, InstallShield, CrypKey, SQL Server, and OpenGL.

AGRA Monenco
AutoCAD Technologist

May 1989 to Jul 1999

Saskatoon, SK

Roles: AutoCAD Drafter, and AutoCAD Systems Management & Support

Responsibilities included:

  • AutoCAD drafting in the electrical department of cable tray, lighting, power, grounding and MCC layouts in plan view, elevations and details.
  • Also aided in the mechanical, piping, structural and geotechnical departments as required.
  • Helped to implement a standard layer system used throughout all departments.
  • Writing custom drafting commands.
  • Automated the plotting procedure by reading drawing data for all required info. Plotted drawings are date and time stamped with this info being used to log plots made for clients.
  • Some interesting projects included hotel floor plans, dam cut & fill calculations, and determining the optimal cutting layout for a faceted diamond roof. Finding a container's center of gravity for a drop test onto its corner was a unique task. Also writing a mining simulator to find the optimum operation under capacity and power restrictions proved challenging.

Tools and technologies used: AutoCAD, AutoLISP and C.

Education History

YouTube
git-amend, Code Monkey & Jason Weimann

Ongoing

Online

Videos on clean coding practices, Unity development and VR news.

Unity Certified Professional: Programmer
Unity Technologies

Oct 2020

Calgary, AB

Tests the core skills needed to contribute to the technical execution of a project from conception through launch, and beyond. Highlight to employers that you are adept at coding solutions to tricky problems and demonstrate that you possess professional-level skills to script user interactions, integrate visual and audio assets, implement application state logic, simulate physics, debug code, and optimize performance.

Android Developer
Udacity

Dec 2016 to Feb 2017

Online

Online courses that cover user interface, user input, multi-screen apps, networking, data storage, UX design, material design, Java programming, intermediate app development and advanced app development.

Web Design for Everybody (Basics of Web Development and Coding)
Coursera

Jul 2016 to Aug 2016

Online

Auditing an online specialization on web design that covers how to write syntactically correct HTML5 and CSS3, and how to create interactive web experiences with JavaScript. Courses include Introduction to HTML5, Introduction to CSS3, Interactivity with JavaScript, and Advanced Styling with Responsive Design.

Software Product Management
Coursera

Feb 2016 to May 2016

Online

Auditing an online specialization on software product management using the Agile software practices. Courses include Introduction to Software Product Management, Software Processes and Agile Practices, Client Needs and Software Requirements, Agile Planning for Software Products, and Reviews & Metrics for Software Improvements.

Programming Mobile Applications for Android Handheld Systems
Coursera

Jul 2015 to Aug 2015

Online

An 8 week online course that teaches the design and implementation of Android applications for mobile devices. Covered activities, intents, permissions, fragments, data, multimedia, graphics and sensors.

Advanced ObjectARX
Autodesk University

Oct 2004

San Francisco, CA

A course on custom object support for the property palette, tool palette and custom palettes.

Computer Science Courses
Athabasca University

Oct 1998 to Jun 2001

Calgary, AB

Courses taken by correspondence: Computer Graphics, Linear Algebra I, Object-oriented Programming with C++, Computer Programming in C, Introduction to Computer Programming (Java), and Systems Analysis and Design.

An Intro to Programming in C
Saskatchewan Institute of Applied Science & Technology

Oct 1992 to Dec 1992

Saskatoon, SK

An evening course on programming in C.

Computer Aided Design & Manufacturing Engineering Technology
Saskatchewan Institute of Applied Science & Technology

Sept 1987 to May 1989

Saskatoon, SK

Subjects taken: CAD/CAM Systems, CAD Drafting, CAD Modeling, CAD/CAM Systems Management, Electronics, PC Board Design, Mechanical Design, Fluid Mechanics, Building Structures, Finite Element Analysis and Strength of Materials.

Languages

  • English (Fluent/Native)
  • French (Beginner)
  • Spanish (Beginner)