- C#.NET
- WPF
- Unity
- AutoCAD
- AutoLISP
- ObjectARX
- Android
- Java
- OpenGL
Don
Grout
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.
-
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.
-
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.
-
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) |
ICOM Productions | |
---|---|
Unity & Unreal VR Developer | Nov 2018 to Apr 2020 May 2018 to Jun 2018 Calgary, AB |
Picture This Today | |
---|---|
Unity Developer | May 2018 to Aug 2019 Apr 2017 to Sept 2017 Victoria, BC (remote) |
Integrated Geomatics | |
---|---|
AutoCAD Software Developer | Jan 2017 to Jun 2018 Calgary, AB |
University of Calgary Ballroom Dance Club | |
---|---|
Website Developer | Oct 2016 to May 2018 Calgary, AB |
Accalia Accounting Ltd. | |
---|---|
Microsoft Windows Developer | Jun 2016 to Aug 2016 Calgary, AB |
Vista-Mustang JV Corporation | |
---|---|
Website Developer | Nov 2015 to Feb 2018 Calgary, AB |
Longhorn Geomatics Limited | |
---|---|
AutoCAD Software Developer | Nov 2015 Calgary, AB |
Vista-Mustang JV Corporation | |
---|---|
AutoCAD Systems Management & Support, AutoCAD & Windows Software Developer, and Website Developer | Nov 2009 to Nov 2015 Calgary, AB |
Wood Group Mustang / IMV Projects Inc. | |
---|---|
AutoCAD Systems Management & Support, and AutoCAD Software Developer | Dec 2007 to May 2009 Calgary, AB |
Upside Engineering | |
---|---|
AutoCAD Systems Management & Support | Feb 2006 to Dec 2007 Calgary, AB |
Cimarron Engineering | |
---|---|
AutoCAD Systems Management & Support | Oct 2005 to Jan 2006 Calgary, AB |
Catalyst Realtime | |
---|---|
Graphical Interface Developer | Jan 2005 to Jul 2005 Calgary, AB |
PROCAD Software | |
---|---|
AutoCAD Software Developer, and AutoCAD Systems Management & Support | Jul 1999 to Mar 2008 Calgary, AB |
Education History
YouTube | |
---|---|
Jason Weimann, Infallible Code, Code Monkey, Dapper Dino & FReality | Ongoing Online |
Unity Certified Professional: Programmer | |
---|---|
Unity Technologies | Oct 2020 Calgary, AB |
Android Developer | |
---|---|
Udacity | Dec 2016 to Feb 2017 Online |
Web Design for Everybody (Basics of Web Development and Coding) | |
---|---|
Coursera | Jul 2016 to Aug 2016 Online |
Software Product Management | |
---|---|
Coursera | Feb 2016 to May 2016 Online |
Programming Mobile Applications for Android Handheld Systems | |
---|---|
Coursera | Jul 2015 to Aug 2015 Online |
Advanced ObjectARX | |
---|---|
Autodesk University | Oct 2004 San Francisco, CA |
Computer Science Courses | |
---|---|
Athabasca University | Oct 1998 to Jun 2001 Calgary, AB |
An Intro to Programming in C | |
---|---|
Saskatchewan Institute of Applied Science & Technology | Oct 1992 to Dec 1992 Saskatoon, SK |
Computer Aided Design & Manufacturing Engineering Technology | |
---|---|
Saskatchewan Institute of Applied Science & Technology | Sept 1987 to May 1989 Saskatoon, SK |
Languages
- English (Fluent/Native)
- French (Beginner)
- Spanish (Beginner)