Design Engineer at Martinrea · Ontario, Canada

Hi, I'm Mark.
Full-stack developer.

McMaster Computer Science alumnus building web applications end to end, from the database schema to the UI. I lean towards the back end — APIs, databases and the infrastructure under them — but I'm happy anywhere in the stack, and I love mentoring the people around me.

Mark Hutchison
Years coding
10+
Years as a Teaching Assisstant
3
At Martinrea since
2024

01 — About

Who I am

I'm a McMaster University Computer Science graduate who has been writing code since long before university. I love the web — front end and back end — but given the choice I'll always reach for the back end, because I enjoy the logic of designing systems that are correct, fast and easy to reason about.

Today I'm a Design Engineer at Martinrea, where I work across React, Python and C++ as well as the infrastructure underneath: Proxmox, PostgreSQL, Redis and plant-floor networking. Along the way the role has grown into teaching, mentoring and leading as much as writing code.

Outside of work you'll find me at tech conferences, museums, conventions, or putting together a costume. I try never to lose sight of the community around me, both in what I build and in what I do.

  • Back-end development

    Go (Echo), Python (Django), Node.js (Express, Fastify), C# and C++ services.

  • Front-end development

    React, Next.js, Svelte and Angular; Tailwind and shadcn/ui; server templates like Blade and htmx.

  • Data & protocols

    PostgreSQL, MySQL, SQLite, MongoDB and Neo4j. REST APIs, GraphQL, WebSockets and WebTransport.

  • Enterprise infrastructure

    Plant-floor networks, server hardware, virtualization and Linux sysadmin work alongside development.

02 — Experience

Where I've worked

  1. Design Engineer at Martinrea

    – Present

    Joined through the McMaster alumni network to build an internal software platform with a close friend. The work spans React, Python and C++ on the application side and Proxmox, PostgreSQL and Redis underneath. Martinrea has been challenging and rewarding, and has grown my skills as a teacher, mentor and leader as much as a developer.

    • React
    • Python
    • C++
    • PostgreSQL
    • Redis
    • Proxmox
  2. Full Stack Developer at Izzy Software

    –

    My first role after graduating. Built features on a platform handling sensitive data, using Angular on the front end, C# on the back end and in-depth SQL for the data layer.

    • Angular
    • C#
    • SQL
  3. Teaching Assistant at McMaster University

    –

    TA from second year onward. For two and a half years on CS1MD3 — Introduction to Programming in Python I managed the course server, generated ideas for tests and exams, and made sure no student question on Piazza or Discord went unanswered. In my final semester I moved to CS2DB3 — Databases, teaching tutorials and grading assignments.

    • Python
    • SQL
    • Teaching
  4. Software Engineer at FYELABS

    –

    Hired as a Go back-end engineer and grew into a full-stack role, picking up Vue and React along the way. Also built a Laravel project with Blade templates, broadening my toolkit further.

    • Go
    • React
    • Vue
    • Laravel
  5. Freelance Web Developer as Jazzmoon

    –

    Designed, built and maintained affordable websites for members of the local community. Worked directly with clients and handled everything from Cloudflare DNS and domain registration to Linux server administration.

    • Full stack
    • Linux
    • Cloudflare
  6. Guest Experience Leader at McDonald's

    –

    Balanced customer-facing responsibilities with regular crew duties, including the extra COVID-19 measures. Built multitasking and communication skills I still use every day.

03 — Skills

What I work with

Rated by how much I've actually shipped with each one: from tools I know well enough to evaluate, up to the ones I use every day. I pick up new technology often, so this list keeps growing.

Languages

  • PythonUsed regularly
  • C++Used in a few projects
  • GoUsed in a few projects
  • JavaUsed in a project
  • RustUsed in a project
  • C#Used in a project
  • JavaScript
  • TypeScript
  • PHP

Web

  • ReactUsed regularly
  • AngularUsed in a project
  • Next.js
  • Svelte
  • Tailwind
  • shadcn/ui
  • Django
  • Echo
  • Express
  • Fastify
  • htmx
  • REST
  • WebSockets
  • WebTransport

Data

  • SQLUsed in a few projects
  • MongoDB / NoSQLUsed in a project
  • Graph (Neo4j, GraphQL)Used in a project
  • PostgreSQL
  • MySQL
  • SQLite
  • Redis
  • MongoDB
  • Neo4j

Infrastructure

  • Linux / UnixUsed regularly
  • GitUsed regularly
  • Proxmox
  • Plant-floor networking
  • Server hardware
  • Cloudflare DNS

04 — Education

Education

2019 — 2023

Bachelor of Applied Science, Computer Science

McMaster University · Hamilton, ON

Four years of undergrad, most of it during the COVID-19 pandemic. Tough at times, but a lot of fun — and where I started teaching.

2015 — 2019

Secondary School Diploma with SHSM

Acton District High School · Acton, ON

Took every information technology course on offer and graduated with a Specialist High Skills Major (SHSM). Also where I competed in Skills Canada.

05 — Projects

Things I've built

A few personal and academic projects. More on GitHub.

SawThat? game screenshot

SawThat?

McMaster capstone: a modern take on the Scene It? DVD trivia game, with a Go back end running the game over WebSockets.

BTD6 AutoPlay banner

BTD6 AutoPlay

Started as a small Python image-recognition script to play a game; grew into my introduction to Rust and OCR models.

Spaceship Simulator render

Spaceship Simulator

C++ / OpenGL piloting simulator with procedurally generated planets, asteroids and quests, built for a computer graphics course.

Hashi puzzle board

Hashi JS

The classic Hashi bridge-building puzzle, also from the p5.js challenge series.

2048 game board

2048

Java implementation of 2048 for a software specification course.

Skills Canada website

Skills Canada 2019

A website built in two days for the Skills Canada national coding competition.

06 — Beyond the code

Recent moments

Conferences, museums and the odd costume. Click a photo to enlarge.

07 — Contact

Let's talk

Open to interesting problems, collaborations and a good tech conversation. LinkedIn is the best way to reach me.