Skip to content

Ryan Morshead

Website | Email | GitHub | LinkedIn | Twitter

Ryan is software engineer with 5 years experience as a Python developer who is passionate about data visualization and analysis. He has worked across the stack as a learner and a leader in open source and enterprise. His most valued skills are those that allow him to communicate big ideas and advocate for change.

Work Experience

Software Engineer II | 23andMe | May 2020 - Present

A seasoned member of a now growing Feature Engineering team tasked with developing a broader system and set of services that reduce the time it takes for scientists to turn their experiments into verified, trustworthy, and valuable user-facing model features.

Software Engineer I | 23andMe | Jul 2019 - May 2020

One of the first hires for a new Feature Engineering team working to develop in house tooling to improve workflows and pipelines for researchers and data scientists across the company.

  • Principle team member developing a library for defining features at 23andMe
  • Delivered the library and several core model features ahead of schedule
  • Made comprehensize docs and tests that are loved by users, and devs alike

Software Engineer | Cisco | Jul 2018 - Jul 2019

Brought onto Cisco's Engineering Licensing team as the first hire on a new project intended to serve Cisco's licensing needs for its present and future cloud products.

  • Delivered to 3 product teams including Cisco's new DNA Center.
  • Re-engineered Cisco's Smart Licensing for Python and the cloud.
  • Designed goals and deadlines for long term projects.
  • Screened, interviewed, recommended, and trained new hires.

Platforms Engineer | Primer AI | Nov 2017 - Apr 2018

Part of a growing team of engineers tasked with supporting data scientists developing machine learning solutions to text based problems.

  • Added backend REST API features and expanded test coverage.
  • Built and deployed simple micro service using Python and Flask.
  • Learned React on the job to aide in developing frontend components.
  • Introduced teams to Jupyter as a tool for reproducible and shareable science.

Engineer in Test | Apple Maps | Jul 2017 - Nov 2017

One of two engineers brought on to develop a UI test automation framework for a map editor used in the production pipeline for Apple Maps.

  • Developed a framework around Selenium for easily testing UI applications.
  • Expanded test coverage to relieve manual testers.
  • Communicated with core devs to ensure products meet expectations.


"His knowledge of the inner workings of Python are easily some of the best I’ve seen... he is also one of the most genuine and cooperative people I have had the pleasure of working with."

Alvin Yates - Former Manager

Supplemental Work

23andMentor | 23andMe | Jul 2020 - Sep 2020

Participated in 23andMe's mentoship pilot program. Taught a collegue with minimal coding experience to code in Python through 1-2 hour weekly sessions. The curiculum was relatively unstructured and primarilly guided by the mentee's curiosities and interests. By the end of the program the mentee was able to:

  • Write Python scripts to solve basic algorithms questions
  • Reach out to other colleagues to find ways to apply her newfound skills

GSOC Mentor | Matplotlib | Jun 2017 - Sep 2017

Guided a student through Google's Summer of Code as their sole mentor in order to continue the work of integrating Traitlets into Matplotlib.

  • Reviewed the student's code
  • Introduced them to Git and GitHub as tools for collaboration
  • Organized and enforced regular meetings to display daily progress.

Owned Projects

IDOM - React, but in Python

Gives Python developers the power to create interactive web applications without writing a single line of Javascript. IDOM takes large inspiration from React Hooks and effectively replicates their behavior enabling users to define declarative and composable UI components.

Spectate - MVC for Python

A library for Python 2 and 3 that can track changes to mutable data types. With spectate complicated protocols for managing updates don't need to be the outward responsibility of a user and can instead be done "automagically" in the background. For instance, syncing the state between a server and client can controlled by spectate so user's don't have to.

Maintained Projects

Traitlets - IPython and Jupyter

Traitlets is a pure Python library for enforcing strong typing, observing changes to tracked data, and reading configuring values from files or from command line arguments. Traitlets powers the configuration system of IPython and Jupyter and the declarative API of IPython's interactive widgets.

Technical Skills

Expert Advanced Competent
Languages Python Javascript SQL, HTML, CSS
Frameworks Flask, Asyncio React
Tools Git, PyTest, Sphinx, Tox Docker, Jenkins, Travis CI GitHub Actions
Databases Redshift, PostgreSQL, Redis
Clouds AWS


Last update: 2021-03-12