Shane Friedman

Staff Software Engineer at

Introduction

I have been at the New York Times since January, 2019, and I have been the tech lead for the Oak, the Times' collaborative rich text editor, since January, 2020. You can learn more about Oak in the excellent blog post my teammates wrote for Times Open.

In the past, I've been lucky enough to work on MegsRadio.fm (see MegsRadio is Dead, Long Live MegsRadio for some more info), Amazon Music, and YouTube Music. Recently I've focused mostly on fullstack web technologies, like Typescript, React, Redux, ProseMirror, and next.js. I enjoy working with product managers, UX/UI designers, and clients to make useful and beautiful products that solve real problems in elegant ways.

Sometimes I give talks and write blog posts; you can find them at smoores.dev.

I've also written a blog post about how the Times Tech Guild built a live vote count for our union certification vote, and also gave a talk at Strange Loop 2022 about the technology we built to support our union effort at the Times.

Open Source

Open Devcontainer

gitlab.com/smoores/open-devcontainer

Open Devcontainer is an open source, spec-compliant implementation of Visual Studio Code's Development Container toolkit. It aims to fully implement the devcontainer.json specification, as well as providing additional developer tooling that the VS Code Remote - Containers extension provides, such as SSH and GPG forwarding and automatic dotfiles installation.

Ode

gitlab.com/smoores/ode

Ode is a self-hosted collaborative rich document editor. It's based on Parse Platform, an open source, self-hosted "Complete Application Stack," and Prosemirror, a rich text editor toolkit.

Past Experience

YouTube Music

July 2017 - January 2019

Software Engineer

Front end Sofware Engineer on the YouTube Music Curation Platform. Part of a small team focused on building specialized content management systems for the YouTube music curators to manually edit music metadata and curate playlists and shelves in the music and main apps.

Working on multiple stacks. Primarily using Typescript, Polymer 1 and 2, and Redux, but also some work in Javascript (using the Google Closure type system), Java, and Python.

Cayuga's Watchers

May 2013 - October 2020

Board of Directors Secretary

Voting member of the Board of Directors for the student-run non-profit organization Cayuga's Watchers. Additionally responsible for taking minutes, participating in Internal Operations Committee meetings, and having regular interactions with Executive Board officers.

Cayuga's Watchers is a non-profit organization dedicated to mitigating the harms of high-risk drinking, including but not limited to alcohol poisoning, sexual violence, and property damage. I have previously served as President, VP of Recruitment, VP of Scheduling, and Web Director.

Amazon Music

June 2016 - June 2017

Software Development Engineer

SDE on the Music Stations Tagging Tech Team. Our team owned services and tools used by the Applied Sciences team to integrate and improve content-based audio classification models for genre tagging of music.

Formal Education

Cornell University

August 2012 - January 2016

Bachelor's Degree, Computer Science

Majored in Computer Science, minoring in Computing in the Arts. Focused heavily on cross-domain knowledge of advancing computer systems to optimize human-computer experience through graphics, audio, etc.

  • Member of the Cornell Sport Tae Kwon Do team for three years
  • Co-Host of Scientifically Speaking, Cornell's educational science talk show.
  • Sound Engineer for Electric Buffalo Records, Cornell's for-students-by-students record label.

Volunteer Work

TEALSK12

September 2018 - June 2019

Volunteer Teacher

I volunteered 3 times a week as a Computer Science teacher at a Brooklyn high school. Along with 3 other volunteers, I was responsible for adapting daily lesson plans from the curriculum, grading assignments and leading class discussions.

Tompkins SPCA

August 2019 - February 2020

Dog Walker and Canine Companion

I volunteered in the dog wing at the local animal shelter for 2.5 hours, once a week. I provide entertainment, comfort, training, and exercise for dogs, and help match families with dogs for adoption.