Gordon Cannard, Developer in Fredericton, NB, Canada
Gordon is available for hire
Hire Gordon

Gordon Cannard

Verified Expert  in Engineering

Bio

Gordon is a professional software developer and Python expert who provides high-quality deliverables. Passionate about well-tested and reliable documented back-end solutions, Gordon has proven experience with REST APIs, microservice architecture, automated testing, continuous integration, GIS technologies, and LiDAR processing.

Portfolio

Teledyne CARIS
Python, Docker, Docker Compose, Git, Subversion (SVN), Swagger, PostgreSQL...
Opus Stewart Weir
Geographic Information Systems, LiDAR, Unmanned Aerial Vehicles (UAV)...
Leading Edge Geomatics
LiDAR, Java, Geographic Information Systems

Experience

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Jenkins, Docker, Python, Pytest, Flask, Swagger, Git, LiDAR, Geographic Information Systems

The most amazing...

...professional experience I've had was to design, write, and deliver a live Python training course, traveling internationally to help clients automate their work.

Work Experience

Software Developer

2018 - 2021
Teledyne CARIS
  • Wrote Python standards, setting internal requirements for project structure, style, and development tooling. Provided mentorship to junior colleagues by reviewing all Python code written by the testing, technical support, and projects departments.
  • Designed REST APIs for new software products. Wrote documentation in the Open API Swagger specification and developed test suites to validate API implementation.
  • Developed a Python training course and provided live training to clients, generating enthusiastic feedback. Designed training exercises to build intuition on how to solve complex problems in small, easy-to-understand steps.
Technologies: Python, Docker, Docker Compose, Git, Subversion (SVN), Swagger, PostgreSQL, Jenkins, Groovy, REST API, Microservices, Pytest, Technical Writing, Projects, Jira, Confluence, GIS

Project Technologist

2013 - 2018
Opus Stewart Weir
  • Developed an innovative procedure for producing as-built floor plans faster and more accurately using handheld LiDAR scanners and SLAM algorithms. This product has generated significant revenue for the organization.
  • Increased department efficiency by creating Python scripts to automate labor-intensive tasks. Restructured the storage of large LiDAR datasets used in pipeline design to significantly reduce time spent searching for and downloading data.
  • Created deliverable products from terrestrial, mobile, and aerial LiDAR and UAV data.
  • Provided cost and workload estimates for proposed projects and advised project managers on integrating LiDAR into their projects.
Technologies: Geographic Information Systems, LiDAR, Unmanned Aerial Vehicles (UAV), Simultaneous Localization & Mapping (SLAM), Photogrammetry, Python

LiDAR Analyst

2011 - 2013
Leading Edge Geomatics
  • Wrote code in Java for statistical analysis of aerial LiDAR forestry data to remotely estimate timber yields.
  • Wrote Java scripts to apply corrections to LiDAR attributes, saving project rework.
  • Processed geospatial data for use in mapping and 3D-terrain visualization. Used filtering techniques to classify large point clouds and applied vectors to aerial imagery for feature identification.
Technologies: LiDAR, Java, Geographic Information Systems

Application for Managing and Executing API Scripts

A web application for managing scripts that integrates with an existing desktop solution. Hooks triggered by events in the desktop application cause registered scripts to be executed, allowing administrative users to control workflow automation for their organization.

I was the project technical lead, providing the high-level concept of the winning bid, organizing the development process, and representing the team in meetings with the client. I wrote responses to tender requirements during the bidding process, designed and developed REST interfaces for the microservice components, and ensured the work completely satisfied client needs.

Testing Plugins for Microservice APIs

Developed Pytest plugins for testing REST APIs of a GIS-database solution that manages bathymetric data and geographic features. These plugins implemented the deployment of services and databases in a Docker environment during the test startup and provided tools for generating and accessing test data.

These plugins made it much easier to perform integration testing whenever new features were added. Packaging these plugins and hosting them internally could make these versions separate from source code and installable wherever the tools could be of use.

Lidar Processing Automation with Jira API Integration

A set of Python scripts for automating a Lidar data processing workflow, generating reports, and updating records in Jira. I was the project technical lead that designed the solution, coordinated the application development, and conducted code reviews.

Scripts would run in a Jenkins pipeline, triggered by Jira webhooks. They would manage data processing through command line applications while reading and updating information in Jira through its API. Generated reports in Excel format would also be attached to relevant Jira issues.
2007 - 2012

Bachelor's Degree in Electrical Engineering

University of New Brunswick - Fredericton, NB, Canada

FEBRUARY 2017 - PRESENT

Machine Learning

Coursera

APRIL 2015 - PRESENT

Certified Senior Survey Technologist

Alberta Society of Surveying and Mapping Technologies

Libraries/APIs

REST API

Tools

Pytest, Git, Jira, Jenkins, Docker Compose, Subversion (SVN), Confluence, MATLAB, GIS

Languages

Python, Groovy, Java, Octave, JavaScript

Frameworks

Swagger, Flask

Paradigms

Automated Testing, Testing, Microservices, Agile Project Management

Platforms

Docker, Visual Studio Code (VS Code), Windows

Storage

PostgreSQL

Other

LiDAR, Technical Writing, Projects, APIs, Geographic Information Systems, Unmanned Aerial Vehicles (UAV), Simultaneous Localization & Mapping (SLAM), Photogrammetry, Back-end, Electrical Design, Electronics, Robotics, Embedded Systems, Machine Learning, Neural Networks, Data Science, Remote Sensing, Code Review

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring