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

Don
Grout
Unity and AutoCAD Software Developer
Montreal, QC, Canada
403-660-5542
Technologies
Skills
- Attention to detail
- Problem-solving & critical thinking
- Adaptable & flexible with a readiness to learn
- Work in a team or independently
Availability
- Full-time / Part-time
- Employee / Contractor
Experience
Unity VR Developer
Developing a virtual training platform for nursing.
Developed software to train personnel in VR on how to inspect and use large mining equipment. The levels of difficulty ranged from completely guided, to varying visual prompts, to open world with no help. Metrics were tracked to provide a report upon completion or failure. Created a system to help design the experience right in VR. Also placed Easter eggs to add a little extra fun that the client enjoyed.
Unity Apps Developer
Worked on software in which users could design their house and decorate with furniture from manufacturers. Was tasked with simplifying creating rooms with doors, windows, along with peaked and curved walls. Also updated the UX for placing furniture and the redesigning UI menu system.
Unity Games Developer
In my free time, I enjoy creating games. Usually they are recreations of classic or mobile games with some originals. The games are made to play on WebGL, Android and VR platforms.
AutoCAD Software Developer
Was the sole developer on 2D software for piping drafting, creating new features and providing user support. Also developed a viewer on the 3D software for plant modeling. Went on to providing customization services for companies to streamline their drafting process.
The Most Amazing...
Professional Roles
-
Microsoft Windows Developer
- Using either WPF or Winforms framework, writing applications ranging from simple quick utilities to full stand-a-lone programs utilizing object-oriented methods
- Providing user interfaces that are easy for the user to understand and simple to use
- Develop applications to extract & compare data between different formated types of spreadsheets as well as SQL databases and produce reports
- Comparison of data provided in easy to read formats with colour coded highlighting and displayed as either graphs, tables or exported to Excel spreadsheets
- Developed applications to backup files into folders based on the current month. After files were burnt to a disc, another application would let you search and browse an archive of disc contents allowing you to quickly locate which disc a file was located on.
- Created utilities for system maintenance that would transfer files via FTP, monitor the number of licenses in use, watch for files being left open after work hours, track the hardware and specific software versions installed on machines and email out reports
- Music player that you select a folder on your computer to play all the music from
- Developed a user interface to make it easy to edit videos using FFMPEG
- Created an application to rename digital photos according to the date & time that the picture was taken instead of having them sequentially numbered
- My very first work related program was written in C for the DOS system. It was a mining simulator to find the optimum operation under capacity and power restrictions.
-
AutoCAD Software Developer
- Worked on the PROCAD 2D software as the sole developer and was responsible for developing new features, maintaining existing code and providing user support.
- Customization was also done to suit the specific needs of clients. The customization code was placed along side of the normal code and was unlocked with a unique client key code.
- Controlled licensing of the software with CrypKey and the software installation 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.
- Worked with the 3D piping software team to develop the metadata code to model components from the SQL database into AutoCAD.
- Developed a 3D viewer using OpenGL to view the model components in both Windows stand-a-lone programs and AutoCAD-based programs.
- Developed custom open drawing dialog which shows drawings organized according to project along with a preview of the drawing. This makes it easy for users to quickly find drawings without having to navigate a complex network path.
- Templating models where a model from a previous project is copied, moved to new coordinates, labeling and tags updated to quickly create a model in a new project
- Create reporting tools that can quickly scan hundreds of drawings and generate reports on the data
- Automating the plotting procedure to determine the client, drawing type, drawing size and output printer to automatically set the correct pen settings and page setup required. Inserting any engineering stamps or date stamps required before printing and removing them after the drawing has been printed. Also providing the ability to batch plot a number of drawings.
- Developed a system that ran overnight where models that were modified during the day are cleaned up with unused layers purged and settings reset to default. AutoCAD models would be incorporated into a Navisworks 3D model for walk-through viewing and uploaded to a client's FTP site so they can see the progress being made.
- Develop commands that take a number of tasks and incorporate them into a single command
- Develop and maintain a library of blocks and the commands to place them to ensure that they go on the correct layer and orientation according to the corporate drafting standards
- Custom commands are created in AutoLISP if possible. This keeps the code in an easy to edit format by any developer and also provides the most compatibility for the commands to work on all future versions of AutoCAD.
-
AutoCAD Systems Management & Support
- Providing AutoCAD and related 3rd party CAD applications support. 3rd party apps like PROCAD, Bentley AutoPlant and ProStructures.
- Customization, setup and configuring of the CAD systems to maintain standard settings
- Organize the CAD environment and network folder structure of project folders
- Standardize company custom menus, layering system, blocks and plotting procedures
- Develop and maintain custom commands to enhance and simplify the drafting process
- Set in place a system for templating models to reduce time on similar projects
- Developed a system for automatically cleaning AutoCAD models and generating a Navisworks plant model on a nightly basis
- Develop and run AutoCAD related training sessions
- Write documentation and work instructions on the use of custom AutoCAD tools
- Install CAD software and their latest updates on drafting computers
-
AutoCAD Drafter
- While employed in the Electrical Department, drafting experience included CAD drafting of cable tray, lighting, power, grounding and MCC layouts in plan view, elevations and details
- Worked in the mechanical, piping, structural and geotechnical departments as required.
- Following standard layering conventions and using externally referenced drawings
- Some interesting projects included hotel floor plans, dam cut & fill calculations and determining the optimal cutting layout for a faceted diamond roof.
- Also finding a container's center of gravity for a drop test onto its corner was a unique task. The calculation was precise enough that the container balanced on it's corner for a moment before tipping over during the test.
-
Unity Apps & VR Developer
Training & Inspection Software
- Developed a VR training simulation for switching out an electrical circuit breaker rack. Users have to select the correct PPE, check area for hazards, communicate with a switchman for orders and finally perform the racking out. The system had 3 levels of training from being fully guided, to partially guided, and finally to an open world. The open world let users perform tasks in any order but they failed if performed out of order. The racking was performed with real physical equipment and a sensor attached so they would see it moving in the virtual world.
- Creating a virtual reality experience for inspecting large mining equipment. Made the controls for users to teleport around the equipment, inspecting parts, identifying hazards and interacting by opening doors. To aid the users, arrows were placed on the ground to guide them to the next inspection location. Also a robot was animated to demonstrate the controls and inspection procedure. This was with the Oculus Rift system while a stripped down version was created for the Oculus Go.
Home Decorating Software
- Creating software to easily model houses in 3D. Implemented the method that each room was standalone, created on it's own and then all rooms put together like a puzzle to form the house. Focused on generating walls with commands to easily place and modify them. Implemented wall dragging to move and stretch them into position along with real-time dimensions displayed. Corners were drawn to automatically match up walls at different angles and with different thicknesses. Walls could have a sloping top line and could curve inwards or outwards. Window and door openings were improved for placement and duplication, again using dragging techniques.
- The detailed manipulation of the walls required lots of triangulation calculations. A generic library was used for the creating the openings on a flat 2D surface but then faceting and extra triangulation was required to curve the surface. Also the wall needed to be made from 2 pieces for the inside and outside, end lengths extended so nice corners were created, and thicknesses shaved off to prevent interference from overlapping walls.
-
Unity Games Developer
When I have some spare time, I enjoy creating small games and posting them on https://dgsoftware.itch.io for people to play. Mostly I've recreated classic games like Pong, Breakout, Asteroids, Space Invaders, Diamond Mine and Tetris. The Asteroids and Space Invaders games are interesting as they are created from vector lines and voxel cubes which break apart differently when destroyed.
I have also recreated some mobile games like Unblockable and Ballz-alike. They are relatively easy games to make but with different game mechanics. My Versus 2D2PG is a collection of 2D games for 2 players to be played with gamepad controllers.
I also enjoy taking computer games and putting them into VR. The Unity Tower Defense Template is a really immersive experience when played in VR. You can play with a view of the entire map or put yourself right down in the action with the battle all around you. My Shooting Gallery is fun to play on the computer but better played in VR. I'm hoping to one day bring it to Android with lots of new features and gameplay.
-
Android App Developer
- Aurora alarm clock that goes off when the Aurora Borealis reaches high levels
- Automatically enable mobile data when WIFI is present
- Beats per minute calculator where you tap the screen to do the calculation
- Book reader lets you read text files and keeps track of where you are in the file
- Calculator that converts between many units including currency exchange rates
- Clock app that displays a clock using rotating bitmaps
- DG Software app that is a conversion of a website into app form
- Games development using OpenGL code that is the same as the Windows version
- Mobile data toggle to quickly toggle your data on or off
- Music player that you select a folder on your phone to play all the music from
- PC to clipboard apps that let you transfer data between the PC and the Android
- Recent apps widget that displays all your app icons sorted by the most recent used
-
Website Developer
- Designed and developed the internal company intranet on the Joomla website system and editing PHP code, CSS styles and the MySQL database
- Automated the process of updating many parts of it by linking to company Excel spreadsheets and AutoCAD drawings. This allowed employees to continue their normal work flow while the website updated itself from their data.
- Added features to display user classified ads, calendars, event & staff photos, contests & polls
- Contests like a reverse wine draw where employees could see in real time the results of the draw taking place
- Reading external websites to bring in data like the latest medal standings from the Olympics sporting event
- Updated & customized the site as per user ideas and suggestions
- Provide overall maintenance on an ongoing basis
- Setting up simple web sites for company and personal use either from scratch or by using a template and supplied graphics
- Written using HTML, CSS and JavaScript and organized to allow easy updating by the owner using Notepad instead of relying on outside support
-
Graphical Interface Developer
- 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 tool to scan the screens and generate reports of required information. Created AutoCAD commands to make the cleanup process a lot easier and quicker. Batch processing was done on the screens to automate many of the changes.
Employment History
UbiSim | |
---|---|
Unity VR Developer | Dec 2020 to Present Montreal, QC (remote) |
Roles: Unity VR Developer Responsibilities included:
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:
Tools and technologies used: Unity 3D, C#, Unreal, HTC Vive and Oculus Rift. |
Picture This Today | |
---|---|
Unity Developer | May 2018 to Aug 2019 Apr 2017 to Sept 2017 Victoria, BC (remote) |
Roles: Unity 3D Developer Responsibilities included:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Tools and technologies used: AutoCAD, AutoLISP, and OASyS DNA SCADA. |
Avitrax Website Design | |
---|---|
Website Developer | Feb 2004 Calgary, AB |
Roles: Website Developer Responsibilities included:
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:
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:
Tools and technologies used: AutoCAD, AutoLISP and C. |
Education History
YouTube | |
---|---|
Jason Weimann, Infallible Code, Code Monkey, Dapper Dino & FReality | 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)