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

Full-time

Preferred Environment

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

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

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

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, REST APIs, RESTful Development, REST, Architecture, User Interface (UI), Elasticsearch, Cybersecurity, HTML, D3.js, CSS3

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

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

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, Erlang, Elm, C++, C, Scala, Java, CoffeeScript, Ruby

Frameworks

DerbyJS, 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, RabbitMQ, Terraform, Keyboards, KVM/Qemu, Blender, Google Compute Engine (GCE)

Paradigms

Microservices, REST, RESTful Development, Scrum, Design Thinking

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, Digital Transformation, Oculus Go, Hardware, Firmware, Custom Keyboards, Operations, Technical Leadership, Apache Cassandra, Linux Kernel, Scrum Master, Scrum Coaching, Certified ScrumMaster (CSM), Product Development, Dating Apps

AUGUST 2022 - PRESENT

Certified Scrum Master

Scrum Alliance

MARCH 2015 - PRESENT

Design Thinking Training

Stanford University