Rob Wray, Java Developer in Edmonton, AB, Canada
Rob Wray

Java Developer in Edmonton, AB, Canada

Member since March 26, 2021
Robert has over 30 years of experience programming, with 25 years developing object-oriented Java programs. As a professional mechanical engineer specializing in fluid dynamics, finite element analysis, and mathematics, he has developed simulations and used computer-aided design principles to improve industrial and lab-scale manufacturing processes. Robert has developed software to interact with novel sensor technologies, including X-ray machines, colorimeters, PLCs, and laser-based sensors.
Rob is now available for hire



  • Java 20 years
  • Computational Fluid Dynamics (CFD) 20 years
  • Applied Mathematics 20 years
  • Mechanical Engineering 20 years
  • MATLAB 20 years
  • .NET 15 years
  • SOLIDWORKS 11 years
  • PLC 11 years


Edmonton, AB, Canada



Preferred Environment

Java, MATLAB, LabVIEW, SOLIDWORKS, R, Excel VBA, Modbus Protocol, Mechanical Engineering, Computational Fluid Dynamics (CFD), .NET

The most amazing...

...Java calculation I've written is a 2D FFT with a selectable domain that allowed me to speed up the calculation hundredfold.


  • Control Engineer

    2021 - PRESENT
    • Conducted HVAC factory witness tests with clients.
    • Wrote programs and developed graphics for Distech PLCs.
    • Troubleshot issues and developed fixes for programs in the field involving industrial heating and cooling.
    Technologies: Distech
  • Research Engineer

    2002 - 2019
    InnoTech Alberta
    • Created a Java program that uses a 2D Fast Fourier Transform (FFT) key performance indicator (KPI) on mill panels before pressing to reduce sanding and raw materials used.
    • Created 4D Monte Carlo simulations of material flow through mill processes allowing estimation of production given processing, equipment, and downtime changes using Delmia Quest framework.
    • Developed PLC ladder logic, visual programming, and other software to control lab and industrial-scale manufacturing equipment for testing, prototyping, and production purposes resulting in the proving and certification of equipment.
    • Analyzed and reported on roughly 100 projects. Acted as quality manager for ISO 17025 accredited lab for destructive testing of mechanical properties. Evaluated precision and accuracy by leading inter-lab testing of multiple international labs.
    • Developed MATLAB software to analyze density information from 3D CAT scan voxels and 2D X-ray pixels.
    • Fixed the LabView program for automation of pyrolysis testing at the University of Alberta. Allowed researchers to continue with experiments without software freezes or incorrect operation of the schedule.
    • Created an online calibration using C# .NET for an X-ray system, which reduced downtime for calibrations by over 90%.
    • Developed data mining framework using VB.NET, Crystal Reports, and MS SQL Server for an OSB plant.
    Technologies: Java, .NET, MATLAB, LabVIEW, Mechanical Design, Simulations, Modbus Protocol, PLC, Data Analysis, ISO 17025, Delmia Quest, Test-driven Development (TDD), MySQL, IIS SQL Server
  • Research Assistant

    1999 - 2000
    National Research Council Canada
    • Simulated airflow and air stagnation for indoor environments, including portable classrooms, offices, and housing meeting the R-2000 housing standard.
    • Developed an MS Excel program to solve networked airflow for HVAC systems for R-2000 housing standard.
    • Obtained the Award of Excellence for participation in the COPE project. Served as a research assistant during two four-month co-op work terms.
    Technologies: Crypto, Excel VBA, Java, Computational Fluid Dynamics (CFD), Data Analysis, Data Visualization, Sensor Data
  • Java Programmer

    1999 - 1999
    Government of Canada
    • Updated Fortran code using object-oriented Java. Estimated the amount of water flowing in and around the Milk river that crosses the Canada-United States border, which determined the US financial obligations to Canada under NAFTA.
    • Constructed and imaged Windows XP and standard software on roughly 90 computers in one week.
    • Acted as a helpdesk for a team of 90 people for PC software and hardware issues.
    • Acted as temporary email administrator during the administrator's two-week vacation. Solved mail issues and troubleshot and fixed lost connectivity issue due to overheated router.
    • Served as a Java programmer during a four-month co-op work term.
    Technologies: Java, Mechanical Engineering, Fortran, Windows
  • Mechanical Engineering Technician

    1997 - 1997
    • Optimized oven temperature versus glass to metal seal quality.
    • Created a 3D model and prototype for jig holding glass and metal during heating.
    • Assisted with quality assurance of Six Sigma process for manufacturing airbag glass to metal seals.
    • Served as a mechanical engineering technician during a four-month co-op work term.
    Technologies: Mechanical Engineering


  • Mat Height Profiling of Strand-based Panel Manufacturing

    Java software was developed to read laser-based distance information that measures pre-pressed mats' height before being compressed into panels. The software identified the boundaries of mats and determined how consistently material is distributed. Roughly 100,000 measurements are taken per mat in the mat-forming line before pressing into 4x8 foot panels.

    A 2D FFT is used in real-time to determine the macroscopic waves and create a key performance index (KPI) for waviness. Images and statistical information are created and display to control room staff so that changes to forming can be adjusted as part of the 24 hours, seven days a week manufacturing process.

    Statistical information for each panel is then sent to MS SQL Server or MySQL, where it can be accessed by other mill staff using other software. The software allows continual feedback on impacts of actions mill staff take to improve panel consistency and reduce waste by reducing the sanding needed per panel. Significant shifts in panel statistics can set off alarms to control room staff to alert them to unexpected changes such as material bridging or equipment failure.

  • Press Monitoring Application!AlX374sf_hzWhOR81sf6SGIIemBadA?e=Td4yI5

    Developed a roughly 30,000-line .NET 4.0 program with real-time graphing, monitoring, dashboard, internationalization, and archival solution for data collected by pressure, temperature, and distance sensors. Created native connections to Alley-Bradley and Siemens PLC as well as any Modbus capable PLC. A task manager was developed to help ensure responsiveness when polling. Unit conversions were handled as a part of all in-program specified calculations. Microsoft Prism 4 was used with WPF to separate model, view, and view model program aspects. Unity was used for the dependency injection container. Adding and removing modules with different functionality could be done with few code changes and little impact on other modules' functionality. All data could be exported to MS Excel or image format. Previously defined settings and data could be read and written in a forward and backward compatible manner. Internationalization was completed for English, French, and German by using an XML translation file for each module and language combination. In this way, future translators only need one XML file to create further translations that could be done in a regular text editor. All session state was saved to XML.

  • Colorimeter Data Acquisition!AlX374sf_hzWhOR7BDrMl2fs2sh52Q?e=N3lwZD

    Developed a small Java program to read serial information from an undocumented BK H500-ND RGB Analyzer. Information was read using RS-232 through a serial connection on the handheld colorimeter. We used JUnit 4 and code from the Hamcrest website ( to test and simplify the application. Running averages and standard deviations were calculated for the RGB samples and HSL values. Values could be saved to a file for later analyses. A GUI was developed for user interaction.

  • Image Segmentation for Visual Identification

    Developed a Java program that took images from a video feed and then segmented the images based on the ideas presented in the paper Image Segmentation Using Local Variation by P. Felzenszwalb and D. Huttenlocher (1998). Recognizable shapes were then determined for use in tracking object movement or assisting with the motion of the vehicle to which the video camera was attached.

  • NAFTA Calculation of Hydrological Cycle

    Developed Java code using existing Fortran code and NAFTA requirements to update water flow calculation and use between Canada and the United States. Hydrological measurements and human water use were utilized to calculate the net amount of water transferred to the United States.

  • Finite Differences Simulation for Lyocell Process

    Developed a Java application to simulate the Lyocell manufacturing process for pulling a wood cellulose mixture into solid fibers. The temperature, density, thread tension, thread speed, heat conductivity, drag coefficient, drag force, kinematic viscosity, shear viscosity, elongation viscosity, NMMO concentration, aperture diameter, and filament phase were varied to help determine if filaments would form without breaking and if so, what the expected filament diameter would be.


  • Languages

    Java, Excel VBA, VB.NET, C#.NET, XML/XSLT, XSLT, SQL, XML, HTML, JavaScript, Bash Script, Bash, R, Fortran, CSS
  • Frameworks

    .NET, NUnit, JUnit, Classic ASP, ASP.NET
  • Libraries/APIs

    API Development, REST APIs
  • Tools

    SOLIDWORKS, MATLAB, LabVIEW, Microsoft Unity, Git, Mercurial, Subversion (SVN), Prism, GitLab, Google Analytics
  • Paradigms

    Mechanical Design, Model View Viewmodel (MVVM), RESTful Development, Test-driven Development (TDD)
  • Platforms

    Windows, Linux, Windows XP, Drupal 8, Linux Mint, Unix, Amazon Web Services (AWS)
  • Storage

    XML Parsing, SQL Server 2000, Google Cloud, MySQL, IIS SQL Server
  • Other

    Modbus Protocol, Mechanical Engineering, Computational Fluid Dynamics (CFD), Applied Mathematics, Simulations, PLC, ISO 17025, FFT, Sensor Data, Continuous Monitoring, Audio, Sampling, Material Handling, APIs, Technical Research, Digital Signal Processing, DSP, Industrial & Manufacturing, Machinery, Industrial Equipment, Finite Element Analysis (FEA), Data Analysis, Statistics, Manufacturing, Data Visualization, Internal Audits, Siemens PLC, Allen-Bradley PLCs, Graphing, Internationalization, Image Segmentation, Object Recognition, Color Grading, Risk, Delmia Quest, Command-line Interface (CLI), Windows 10, Technical Reports, Writing & Editing, Libraries, ANSYS, Crypto, Security Clearance, Government Contracting, Electrical Design, Electrical Engineering, Safety, Artificial Intelligence (AI), Water Resources, Materials Science, RS-232, Serial Port, MOSFET, Circuit Design, Gentoo, Unix Shell Scripting, Distech, Chemicals


  • Specialization Degree in Mathematics
    2001 - 2002
    University of Alberta - Edmonton, Alberta, Canada
  • Bachelor's Degree in Mechanical Engineering
    1996 - 2001
    University of Alberta - Edmonton, Alberta, Canada


  • Dante Level 3 Certification
  • Level II (Secret) Security Clearance
    OCTOBER 2020 - DECEMBER 2026
    Government of Canada
  • ISO 17025:2017 What's New or Different
    MARCH 2019 - PRESENT
    CALA Training
  • Electrical Work Practice
    Cenovus Energy, Inc.
  • WHMIS After GHS for Workers
    Canadian Centre for Occupational Health and Safety
  • Workplace Hazardous Materials Information System (WHMIS)
    JULY 2014 - PRESENT
    Danatec Educational Services, Ltd.
  • T57-13 CALA Internal Auditor
    CALA Training
  • ISO/IEC 17025:2017 Foundation Training Course
    Ashbrooke Quality Assurance
  • BerkeleyX: CS188.1x Artificial Intelligence
    edX, Inc.
  • Circuits and Electronics 6.002x
    JUNE 2012 - PRESENT
    Massachusetts Institute of Technology (MITx) | via edX
  • Professional Mechanical Engineer

To view more profiles

Join Toptal
Share it with others