Shane Friedman

Owning member and software engineer @ Handle with Care

Introduction

In 2024, my long-time colleague, Morgan Cohn, and I started Handle with Care Collective. Since then, I've been working with fantastic companies like Dskrpt, Cochrane, and SetGarden.

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. Most recently, I was the tech lead for the Oak, the New York 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. 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.

Open Source

@nytimes/react-prosemirror

github.com/nytimes/react-prosemirror

A fully featured library for safely integrating ProseMirror and React. This library provides a set of React contexts and hooks for consuming them that ensure safe access to the EditorView from React components, as well as supporting building ProseMirror node views as React components.

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

The New York Times

January 2019 - May 2023

Staff Software Engineer

Full stack Staff Sofware Engineer and Tech Lead for the Oak team. Oak is a collaborative rich text editor, built with Typescript, ProseMirror, React, Redux, Firestore, Kubernetes and more.

While at the Times, I was a part of our Javascript + Web Community of Practice, working to develop cross-company standards for developing Javascript and Typescript applications.

I designed and prototyped a fully featured suite of libraries for enabling any application at the Times to support collaborative rich text editing.

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.

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.

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.