Hi there, I'm

Chris Pyles

I'm a software engineer, currently working at Google, with experience in web development and educational technology.

Experience

  • Google
    May 2022 - Present
  • IXL Learning
    July 2021 - May 2022
  • Microsoft
    October 2020 - June 2021
  • UC Berkeley DSEP
    May 2019 - June 2021

Software Engineer

Google, May 2022 - Present

I am currently a software egineer at Google building internal tooling for automated capacity management. This is primarly a web development role for an internal site built with Angular (in TypeScript) on the front-end and Go on the back-end. I've also contributed to backend microservices for automating service moves between data centers.

Software Engineer

IXL Learning, July 2021 - May 2022

At IXL, I was a member of the Teacher Experience team, which works on maintaining and building new features for educators on IXL's platform. My role involved full-stack development in Struts and React, working on an Agile team with biweekly standups and releases. Within my first six months at IXL, I had already led a full-scale project to allow instructors to pin skill plans for specific classes instead of their entire roster, for which I designed the back-end, wrote a detailed design doc, and led the team through implementation. One of the other big projects I worked on at IXL was a complete refactor of the back-end for personalized skill plans for exams like the SAT, ACT, and NWEA MAP, a feature used by more than 250,000 users. For this project, I designed the new back-end and did most of the implementation.

Contract Software Engineer

Microsoft, October 2020 - May 2022

At Microsoft, I architected and engineered an open source Python auto-assessment solution called PyBryt that implements a unique autograding structure grounded in the philosophy that intermediate to advanced programming courses should not require students to follow a rigid scaffold for solving problems. I provided engineering support to a series of pilots of PyBryt in courses of up to 1,200 students per semester at UC Berkeley, Imperial College London, and Tel Aviv University. I spent most of the first half of my time at Microsoft working on the initial release of and developing new features for PyBryt.

In the latter half of my time at Microsoft, I shifted focus to driving the adoption of PyBryt beyond its pilot courses (while still working on feature development). I created a GitHub Action to automate the use of PyBryt as a continuous integration tool for student repositories; I then used this Action to orchestrate a full-scale implementation of a real-world grading pipeline using GitHub Classroom for collecting different implementations of algorithms to be used to construct exercises for interactive Microsoft Learn modules. I also authored a blog post and two Microsoft Learn modules on an introduction to and advanced uses of PyBryt geared towards academics looking to adopt the solution.

Lead Developer

UC Berkeley Data Science Education Program, May 2019 - June 2021

I led a team of 8 developers working on 3 concurrent open source projects at a time often using previously-unfamiliar technologies. We used Agile methodologies to organize development cycles and encouraged parallelization of tasks, including performing code review and facilitating weekly meeting standups.

The main project I worked on is an open source Python and R autograding solution, Otter-Grader, that scalably grades students' programming assignments and abstracts away autograding internals for instructors, which has been adopted in several courses at and outside of UC Berkeley and has used to grade assignments for over 10,000 students at UC Berkeley alone. Part of this work has been creating an open source community for development around GitHub and a public Slack to allow instructors and contributors to communicate effectively and to allow iterations on the package to be a community effort. I also led an interactive hands-on demonstration of autograding solutions and a presentation on the engineering and infrastructure constraints of those solutions at the 2020 National Workshop on Data Science Education.

Education

University of California, Berkeley

Bachelor's Degree, Major: Computer Science and Data Science (with Honors), Minor: Demography

August 2017 - May 2021

I graduated from UC Berkeley, earning a Bachelor's degree in Computer Science and Data Science. While at Berkeley, I tried to get involved in the campus communities surrounding my majors; I worked for two years at the Data Science Education Program, a subdivision of UC Berkeley's Division of Computing, Data Science, and Society. At DSEP, I worked not only as the lead developer for their infrastructure team, but also as a contributor for the data science curriculum and, eventually, as a TA for Data 100, a core upper-division data science course.

Skills

Languages

Python logo Python
TypeScript logo TypeScript
Golang logo Go
JavaScript logo JavaScript
OpenJDK logo Java
R logo R
Ruby logo Ruby
Julia logo Julia

Frameworks

Angular logo Angular
React logo React
Django logo Django
Apache logo Apache Struts
Rails logo Ruby on Rails
Next.js logo Next.js

Tools

Git logo Git
Jupyter logo Jupyter
PostgreSQL logo PostgreSQL
Docker logo Docker
Google Cloud logo Google Cloud

Open-Source Projects