Professional Experience

CD
Work History and Experience

Chris Dielschnieder

SOFTWARE DEVELOPER

WORK HISTORY


Software Developer

Kvale Consulting | Aug 2024 - Oct 2026 | Regina, SK

Kvale is an engineering consultancy with a focus on data analytics and clients in agriculture, mining, energy, and government. I needed to create unique solutions tailored to the needs of each client based on industry and project.

These are some of the most interesting:

  1. Aveva PI API to Esri Integrator Desktop App
    • Linking industrial data with ArcGIS GeoEvent visualization
    • Access PI web API to fetch client data points by timed intervals
    • Monitor received data for changes to build payload
    • Send payload data to target endpoint GeoEvent for visualization
    • Read more about the PI Data Integrator project build
    • Tech: TypeScript, Node Fastify, Vue.js, Electron, Prisma, PrimeVue, MsSQL
  2. ArcGIS Geo-Chemical Data Script Loader
    • Loading bulk spreadsheet data to integrate with ArcGIS maps
    • Identify unknown spreadsheets using markers like names or spacings
    • Extract and parse data. Insert cleaned data into a relational database
    • Pass relational data into ArcGIS visualization and map tools
    • Tech: Python
  3. Esri Portal-to-Portal Cloner Desktop App
    • Copying portal artifacts across environments
    • Utilize Esri Python and REST APIs to copy artifacts into different Portal environments
    • Modify different API/Python versions to work around API deficiencies
    • Create Tkinter GUI for engineers to run clone tool as desktop executable
    • Tech: Python
  4. John Deere API to ArcGIS GeoEvent Windows Service
    • Fetching API data and sending it to ArcGIS GeoEvent visualizer
    • Access John Deere web API to fetch client data points by timed intervals
    • Run fetch by timed interval inside Windows service
    • Send data to ArcGIS GeoEvent
    • Tech: C#, .NET

Software & Hardware Development Intern

Lytehorse Labs | May 2022 - Aug 2022 | Regina, SK

Lytehorse was trying to become a player in electric vehicles with their flagship product, an electric ATV. They wanted a dynamometer for testing it. They had some prototyped hardware and my job was to develop some software to get it running.

Read more about the Dyno project build.

This was my first experience working with multiple facets of engineering - software, hardware and electrical elements. Getting to work with so many pieces of technology was an excellent experience. I even had to learn how to solder properly.

Since I was the only developer on the project I had to make all decisions:

  • How to structure the code
  • How to set up the GUI for user interaction
  • How to integrate safety features
  • And more...

My responsibilities all revolved around the Dyno.

  • Primary task #1 was to develop native software using Python.
    • Using serial protocol, Python signalled Arduino. Arduino then signalled electric motor controllers on the machine.
    • Tools used included Tkinter for GUI; multi-threading and TCP socket APIs for asynchronous communication.
  • Primary task #2 was to develop logic for Arduino microcontroller in C language. This handled communication between user and machine using serial.
    • Two-way serial communication meant Arduino accepted input from both Python and motor controller systems simultaneously.
    • Arduino signal directions: received serial input from Python, received serial input from motor controller, sent out appropriate serial output responses.

Front-End Development Intern

54e Dev Studios | Jan 2022 - May 2022 | Regina, SK

  • Overall job was to develop new client-side features for company's internal content management system using React and TypeScript.
  • Primary task was to fulfill supervisor-assigned tickets, and to assign new tickets to myself when required. Tasks included:
    • Adding/removing elements such as buttons, checkboxes, radios, etc., along with required operating logic.
    • Adding new pages to CMS for entirely new functionality, e.g. adding an '/items' page.
  • Secondary task was to make the CMS mobile-friendly.
    • After noticing that many CMS pages were not responsive, I overhauled as many pages as possible, making them functionally responsive on mobile.
    • Many staff were using the CMS under non-responsive conditions, so this improvement benefited staff positively.
  • Additional tasks included monitoring build pipeline for errors, and assuring smooth merge of all my pull requests.

Full-Stack Development Intern

Raven Industries | May 2021 - Aug 2021 | Regina, SK

  • Overall jobs were to develop new client-side features on ground control driving simulator for autonomous vehicle OMNiDRIVE, as well as to increase back-end systems test coverage.
  • Primary task #1 was to create client-side components using React:
    • Creating components within the simulator to expand simulator functionality.
    • Main React task was to add a new expandable panel UI, along with the connecting logic to make it operational.
    • Other small tasks included adding small UI items such as buttons.
  • Primary task #2 was to write unit tests for back-end vehicle systems using Python:
    • Unit testing for internal systems meant deep-diving into code used for driving an autonomous vehicle.
    • I was able to increase the test coverage by 10%.

Front-End Development Intern

SaskTel | Jul 2020 - Dec 2020 | Regina, SK

  • Overall job was to develop and test new client-side features for company website sasktel.ca across multiple environments i.e. Testing, Pre-Prod, Prod.
  • Primary task was to fulfill supervisor-assigned tickets. Assigned items included:
    • Adding small UI features to pages, e.g. buttons, using Angular and vanilla JS.
    • Test that features worked across multiple environments, i.e. Test, Pre-prod, Prod.
  • Secondary tasks included investigating and fixing bugs reported by QA testers.

Front-End Developer

Virtual High School | Jun 2017 - Sep 2018 | Bayfield, ON

  • Overall job was to develop new client-side features for company's internal content management system using Vue and JavaScript.
  • Primary task was to develop interactive educational tools, such as matching drag-and-drop games, which were used in school's courses.
    • These were used to supplement the regular course materials, and were dropped into pages by teachers during course creation.
  • Secondary task #1 was to write test coverage for all client-side logic.
    • Set up test suite using Mocha, Karma, and Chai.
    • Improved test coverage from zero to cover 100% of all client-side logic.
  • Secondary task #2 was to act as maintainer for project documentation. Docs were generated using JSDoc.