Hi, I'm William Kwok

I'm a full stack developer and fourth year at the University of Washington Seattle obtaining a B.S. in Informatics.

Currently, I am a Software Engineering Intern at Qualtrics.

I TA for Server Side Development, program websites for Washington iGEM, and am the director of IT for IUGA.

See some of my work below!

Experience

Qualtrics logo
Software Engineering Intern
Qualtrics
June 2019 - Present

For my intern project, I am working with another intern to allow for custom fiscal time periods to be implemented in the Customer Experience dashboard. This feature has been requested by 15+ large brands. I planned and made the modifications and additions from start to production for 8+ different code repositories.

Informatics Undergraduate Association (IUGA) logo
Director of Information Technology
Informatics Undergraduate Association (IUGA)
June 2019 - Present

The Informatics Undergraduate Association is a Registered Student Organization that functions as a student government for Informatics students. IUGA provides official channels for communication between the Informatics undergraduate student body and the faculty and administration of the Information School.

As the Director of IT, I help with all things technology, plan events like IUGA Game Night, and also keep the website up to date.

I also overhauled the IUGA website. It uses server side rendered React using NextJS, Express, and TypeScript, routed by NGINX in a Docker container.

Washington iGEM logo
Lead Front End Engineer
Washington iGEM
February 2017 - Present

iGEM is the International Genetically Engineered Machine competition. It is a synthetic biology competition held in Boston yearly.

I am in charge of development of the team website (WIP) and iGEM Team Wiki Site (required for competition judging). The team website will use NextJS to produce static files hosted on github pages. The Team Wikis use React and TypeScript under the hood. We have implemented a content management system into the Team Wiki so anyone on our team can edit the website.

University of Washington Information School logo
Teaching Assistant/Tutor (INFO 340, INFO 441)
University of Washington Information School
September 2018 - Present

I was the Teaching Assistant for INFO 340, Client Side Development. This course covered the skills and techniques necessary for creating effective, dynamic, and responsive web applications that meet user needs. This course covered HTML, CSS, JavaScript, jQuery, React, Firebase, and React Router. During lab sections, I went in depth on higher order functions, destructuring and spread operations, jQuery vs React, async await vs .then, firebase security, and testing with Jest and Enzyme.

For tutoring, I was a resource for students enrolled in technical informatics classes. I helped and tutored students on all technical content in required courses, such as INFO 201 Technical Foundations of Informatics, INFO 340 Client Side Development, and INFO 330 Databases and Data Modeling. I provided assistance with R, R Shiny, R Markdown, git, HTML, CSS, JavaScript, jQuery, React, Firebase, React Router, misc JavaScript libraries, and SQL.

In addition, I have created a tutor hub and tutor queue. The tutor hub is a page hosted on my website with written tutorials on how to do various topics covered within the courses, as well as video tutorials for some of the topics. I collected data on the traffic on these pages to determine what topics people struggle with the most. The tutor queue is a queuing system for first come first serve questions by students when me or other tutor(s) are in the lab space. This will also collect usage data for hard topics.

I am also the Teaching Assistant for INFO 441, Server Side Development. One version of this course covers the basics of Django, the Django Rest Framework, deploying on Microsoft Azure, and how it fits together in the context of web development. We also cover bonus topics such as Websockets using NodeJS and security tips. Me and the other TA are in charge of creating lab section slides, creating the weekly assignments, the automated graders for those assignments, and grading the assignments themselves.

Another version of the course covers Golang, Docker, Microservice Architecture, Message Queues, Websockets, and implementing Authentication from scratch.

Code and Cognition Lab - University of Washington Information School logo
Research Intern
Code and Cognition Lab - University of Washington Information School
June 2018 - June 2019

At the Code and Cognition Lab led by Dr. Andy Ko, I design and build research prototypes using ReactJS, plan studies, gather data, and prepare presentations.

I helped code a web tutor that uses a Bayesian Knowledge Tracing algorithm to help users learn programming concepts. I established the framework for writing unit tests in the application, and helped remove code redundancy. I helped plan the pilot study.

In addition, I am an author on a paper: Teaching Explicit Programming Strategies to Adolescents. It investigates the teaching of explicit strategies in the classroom to adolescent students. This paper was accepted to SIGCSE 2019. The primary investigators of the paper were Dr. Thomas LaToza from George Mason University and Dr. Andy Ko from University of Washington.

Biomedical Image Computing Group logo
Undergraduate Research Assistant
Biomedical Image Computing Group
January 2018 - June 2018

At the Biomedical Image Computing Group at the University of Washington Department of Pediatrics and Bioengineering, I aid the development of new mathematical and computational algorithms to manipulate and analyze biomedical image data.

This lab position provided me exposure to machine learning libraries such as TinyCNN, MXNet, and Tensorflow.

Projects

Click on one to learn more!

Skills

Languages and Frameworks

AngularJS
4/5
Bootstrap
5/5
C++
1/5
CSS
5/5
Django
3/5
Express
5/5
FlowType
4/5
Golang
4/5
HTML
5/5
Java
3/5
JavaScript
5/5
LaTeX
3/5
MySQL
4/5
NextJS
5/5
NodeJS
5/5
Python
5/5
R
4/5
React
5/5
Redis
4/5
TypeScript
5/5
Vue
3/5
jQuery
5/5

Tools

AWS
3/5
Azure
3/5
Docker
4/5
Enzyme
5/5
Git
5/5
Google Cloud Platform
4/5
JIRA
4/5
Jest
5/5
Mocha
5/5
MongoDB
4/5
NGINX
3/5
RabbitMQ
3/5
Sinon
5/5

Concepts

Accessible Design
5/5
SOLID Design
4/5
Server Side Development
5/5
Test Driven Development
5/5
Unit Testing
5/5
User Centered Design
5/5
Web Development
5/5
Websockets
5/5