Jeremy Qian

SWE II @ Wayfair


Download Resume

About Me

My name is Jeremy, I am a 29 year old software developer. I graduated in 2016 from McMaster with a bachelor’s of software engineering and have worked a few developer jobs since then.

The goal for this site is to have a nice place where I can point to some of my past projects and to have an environment where some of my JavaScript projects can be freely demo-ed.

My speciality is embedded systems design and development with C and C++ and my experiences are mostly R&D based with the goal of enhancing the product line with software features or developing new products. As a result of this, I’ve become quite familiar with Linux-based operating systems and have extensive experience customizing them on a per-project basis.

Recently, I've worked extensively on full stack applications using Java + Spring or Python + Django, in combination with GraphQL and ReactJS - I am also trying to learn the ropes of data science!

Experiences

Wayfair
Software Engineer II
Dec 2021 - Present

At Wayfair, I work as a full stack developer on the supplier finance team and help decouple monoliths to microservices! I worked with the following technology stack:

  • PHP – For building the Wayfair monolith
  • ReactJS - For building the Wayfair partner home user interface (An web UI for our suppliers to manage their finances)
  • Java - for building the partner home microservice
Wave
Software Engineer
Jul 2020 - Aug 2021

At Wave, I work as a full stack developer and helped build the micro-service based Software as a Service (SaaS) product. I worked with the following technology stack:

  • Python Django – For building web microservices
  • ReactJS - For building the next-generation single page web application
  • Node and GraphQL - For building a third party API service
Thales Canada
Software Analyst & Developer
Aug 2019 - Jul 2020

At Thales Canada, worked on the Queens Boulevard Line (QBL) Communications Based Train Control (CBTC) software. Specifically, I worked on the Vehicle OnBoard Control (VOBC) software. This product conforms to the IEEE standard for CBTC software and my responsibilities for the project includs the following items.


  • VOBC Bugs - Quickly diagnose and repair software defects
  • Impact Analysis - Python application to assess the impact and affected areas of any given code change
  • CI/CD - Automatic build and analysis of all git merges utilizing Bitbucket and Jenkins
Siemens Canada
Linux Developer
Apr 2015 - Jul 2019

At Siemens Canada, I worked as a software developer for the customized Linux operating system called ROX-II. The purpose of this system is to run on a small low-powered layer-3 (IP layer) network router. The operating system itself is comprised of many subsystems, each subsystem is responsible for major feature – I developed and maintained the following subsystems.

  • Cellular – 3G/4G/LTE network connection
  • Virtualization – Capability for the ROX-II router to run an even more low-powered virtual machine
  • Routing – Interfacing with the Quagga routing daemon
  • SNMP Support – IP based access protocol for the ROX-II device

Skills

Linux-Oriented Programming & Development

I have worked extensive on Linux application development for an embedded target and I have experience customizing file systems and writing simple drivers. My skills and experiences include the following list.


C/C++ Application Development


Python Application Development


Custom Linux Userspace Distros, Linux File Systems, Drivers and Networking



Windows-Oriented Programing

For many of my embedded projects, I often worked on companion and management applications for a Windows desktop target. My skills and experiences include the following list.


C# Application Development


Python Application Development



Web Development

I have a strong intesest towards web development and have incorporated it as a part of my Daily work. For many embedded systems - a full stack application is often required to allow remote access and control and I've had the opportunity to both create and maintain such applications. My skills and experiences include the following list.


HTML5 and CSS3


ES6, ReactJS, NodeJS


Python with Flask or Django


Java with Spring


C and C# backends


SQL and Database sharding



Other Skills

Throughout my experiences, I've had the opportunity to utilize many platforms and tools to aid in product development. Some of the tools I've used are shown in the following list.


Docker and Docker Swarms


Git, Gerrit Code Review, Bitbucket and Jenkins for CI/CD


Bash scripting