Lily Riley, Developer in San Francisco, United States
Lily is available for hire
Hire Lily

Lily Riley

Verified Expert  in Engineering

Project Manager and Software Developer

Location
San Francisco, United States
Toptal Member Since
April 3, 2021

Lily is a senior software engineer and project manager with around 15 years of dedicated experience in the tech industry. She has done a bit of everything related to development, including front end, full stack, back end, firmware, mobile, virtualization, and game programming.

Portfolio

Oculus VR
React, React Native, C++, Android, Java, Front-end, React VR, Oculus, Oculus Go...
Layer
Erlang, PostgreSQL, RabbitMQ, Apache Cassandra, Redis, Scala, Docker, Linux...
Lever
Node.js, DerbyJS, Digital Transformation, Operations, JavaScript, MongoDB...

Experience

Availability

Part-time

Preferred Environment

Linux, Elixir, Erlang, Elm, Phoenix, C++, JavaScript, TypeScript, Blender, Tailwind CSS

The most amazing...

...team I've been a part of was the system UI team for the Oculus Quest, a popular VR headset sold by Facebook.

Work Experience

Software Engineer

2018 - 2019
Oculus VR
  • Helped ship the Oculus Go and Quest headsets, aided in the transition to 3dof (stationary experience) to 6dof (spatial tracked experience).
  • Contributed primarily to AUI (main system navigation bar) and VRShell (3D compositor that our UI was built on)—both components are used in the Oculus Quest, Go, and Gear VR.
  • Worked in a highly cross-functional team and worked on several projects requiring tight collaboration with other teams.
Technologies: React, React Native, C++, Android, Java, Front-end, React VR, Oculus, Oculus Go, Hardware, Unreal Engine, User Interface (UI), Technical Leadership, Cybersecurity, HTML, CSS3, Asynchronous Programming, Internet of Things (IoT), Mobile Development, Test Automation

Platform Engineer

2016 - 2017
Layer
  • Worked on various microservices written in Erlang and Scala that use Cassandra, RabbitMQ, Postgres, and Redis.
  • Rewrote most of the push notification service to use HTTP/2 with APNS (delivered millions of messages a day).
  • Enabled developers to turn off conversation features (like read receipts) to increase participant limits on conversations (scalability).
  • Helped migrate functionality over to a new distributed architecture that scales better.
  • Helped diagnose issues in a complex distributed system as a part of an on-call rotation.
Technologies: Erlang, PostgreSQL, RabbitMQ, Apache Cassandra, Redis, Scala, Docker, Linux, Microservices, Back-end, APIs, Apache Thrift, Cassandra, Google Cloud, Google Compute Engine (GCE), Architecture, Google Cloud Platform (GCP), Akka, Team Leadership, Elasticsearch, Technical Leadership, Cybersecurity, Terraform, HTML, Dating Apps, SQL, Asynchronous Programming, GitHub, Software Architecture, API Integration, Test Automation, DevOps, CI/CD Pipelines

Infrastructure/Software Engineer

2014 - 2016
Lever
  • Gained an intimate understanding of operational transformation (OT) algorithms.
  • Contributed to core application services (Taskqueue, Data API, web front end), wrote misc components/libraries to support the team.
  • Optimized OT pubsub traffic and database queries; helped migrate all services to a new OT-related database commit flow.
Technologies: Node.js, DerbyJS, Digital Transformation, Operations, JavaScript, MongoDB, Redis, Docker, Linux, CoffeeScript, Full-stack, Amazon Web Services (AWS), CSS, Web App Development, RESTful Development, REST APIs, REST, Architecture, User Interface (UI), Elasticsearch, Cybersecurity, HTML, D3.js, CSS3, SQL, Asynchronous Programming, GitHub, Software Architecture, API Integration, Test Automation, DevOps

Instructor

2014 - 2014
Fullstack Academy
  • Taught Node.js, Express.js, AngularJS, MongoDB/SQL, and software engineering/security.
  • Wrote robotics framework and Node.js driver for Lego Mindstorms EV3 bricks.
  • Worked on internal tools and a website written with Ruby on Rails and AngularJS.
Technologies: Node.js, Express.js, Angular, MongoDB, PostgreSQL, AngularJS, Full-stack, JavaScript, Teaching, Ruby on Rails (RoR), Ruby, CSS, Web App Development, Twilio, Architecture, User Interface (UI), Technical Leadership, Cybersecurity, HTML, D3.js, Flask, CSS3, SQL, Asynchronous Programming, GitHub, Software Architecture, API Integration

Software Engineer

2011 - 2011
ABI Research
  • Wrote various data visualization widgets in Dojo Toolkit (teardown browser, data graphs, etc.) that were integrated into a larger Java/Scala application.
  • Wrote various internal applications from scratch, such as a newsletter generator.
  • Accomplished fast turnarounds; employers were impressed with code velocity.
Technologies: Java, Dojo Toolkit, JavaScript, Scala, Django, User Interface (UI), HTML, GitHub

Software Engineer

2006 - 2010
South Side High School
  • Wrote various internal applications, mainly a support ticket system.
  • Applications served seven different schools within the school district.
  • Helped with various IT-related things, such as setting up a Debian blade server for applications I wrote.
Technologies: Django, Dojo Toolkit, Python, JavaScript, Linux, User Interface (UI), HTML

Oculus Quest System UI

https://www.youtube.com/watch?v=Cd-WCWPc06Q
Worked with a team of engineers to prepare the existing Oculus Go UI for the Quest, which supported spatial tracking (as opposed to the seated experience in the Go). Was mainly responsible for the main navigation bar, various work in the main panels such as the settings screen, and some features in the 3D compositor that renders panels spatially.

Custom Crkbd Keyboard

https://github.com/0chroma/CrkbdBongo
I built a split keyboard using a kit ordered online. Using the open-source project QMK, I wrote my own firmware and keymap for the device and flashed it to the keyboard's microcontroller. It features animated LED effects and two OLED screens that can display various animations and typing stats.

VFIO GPU Passthrough

https://gist.github.com/0chroma/ed9590f4c79daaeb482c2419f74ed897
I run Linux on my computer, and to run Windows games and software at near-native speeds, I use a highly optimized virtual machine. It accomplishes this by passing the GPU into the virtual machine using a technology called IOMMU, which is available on more recent motherboards. I've spent a lot of time tuning and benchmarking the performance in order to find optimal virtual machine configurations for this application.

Languages

Elixir, JavaScript, Python, Bash, CSS, HTML, TypeScript, CSS3, SQL, Erlang, Elm, C++, C, Scala, Java, CoffeeScript, Ruby

Frameworks

DerbyJS, Tailwind CSS, Phoenix, Django, React Native, Express.js, Ruby on Rails (RoR), Apache Thrift, React VR, Flask, Angular, AngularJS, Unreal Engine, Unity, Akka

Libraries/APIs

React, Node.js, REST APIs, libvirt, Dojo Toolkit, D3.js

Tools

GNOME, GitHub, RabbitMQ, Terraform, Keyboards, KVM/Qemu, Blender, Google Compute Engine (GCE)

Paradigms

Microservices, REST, RESTful Development, Asynchronous Programming, Test Automation, DevOps, Scrum, Design Thinking, Mobile Development

Platforms

Linux, Amazon Web Services (AWS), Quick EMUlator (QEMU), Docker, Oculus, KVM, Twilio, Google Cloud Platform (GCP), Android

Storage

Redis, Elasticsearch, MongoDB, PostgreSQL, Riak, Cassandra, Google Cloud

Industry Expertise

Cybersecurity, Teaching

Other

Back-end, Full-stack, APIs, Front-end, Web App Development, Leadership, Architecture, Web Development, Software Design, User Interface (UI), Team Leadership, Software Architecture, API Integration, Digital Transformation, Oculus Go, Hardware, Firmware, Custom Keyboards, Operations, Technical Leadership, Internet of Things (IoT), Apache Cassandra, Linux Kernel, Scrum Master, Scrum Coaching, Certified ScrumMaster (CSM), Product Development, Dating Apps, CI/CD Pipelines

AUGUST 2022 - PRESENT

Certified Scrum Master

Scrum Alliance

MARCH 2015 - PRESENT

Design Thinking Training

Stanford University

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring