Gordon Cannard, Software Developer in Fredericton, NB, Canada
Gordon Cannard

Software Developer in Fredericton, NB, Canada

Member since November 3, 2021
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.
Gordon is now available for hire

Portfolio

Experience

Location

Fredericton, NB, Canada

Availability

Part-time

Preferred Environment

Visual Studio 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.

Employment

  • 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 APIs, 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

Experience

  • 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.

Skills

  • Languages

    Python, Groovy, Java, Octave, JavaScript
  • Frameworks

    Swagger, Flask
  • Libraries/APIs

    REST APIs
  • Tools

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

    Automated Testing, Testing, Microservices, Agile Project Management, Data Science
  • Platforms

    Docker, Visual Studio Code, Windows
  • 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, Remote Sensing, Code Review
  • Storage

    PostgreSQL

Education

  • Bachelor's Degree in Electrical Engineering
    2007 - 2012
    University of New Brunswick - Fredericton, NB, Canada

Certifications

  • Machine Learning
    FEBRUARY 2017 - PRESENT
    Coursera
  • Certified Senior Survey Technologist
    APRIL 2015 - PRESENT
    Alberta Society of Surveying and Mapping Technologies

To view more profiles

Join Toptal
Share it with others