Work Experience

This page showcases my work experience.


Braille It 4U: Opened Fall 2011, closed in 2015.

Braille it 4u was a local company I created because I wanted to help break down the barriers that exist for the legally blind or visually impaired. The purpose of Braille it 4u was to help businesses understand the importance of the Americans with Disabilities Act (ADA) and their role in compliance to make the world a better place. Something as simple as a Braille, accessible digital, or large print menu can make a big difference to someone who is visually impaired. It is an easy fix, and a win-win for everyone.

The story started at my grandpa's funeral, when my Aunt and I were trying to figure out the best way to get braille equivalents of the obituary and other documents. We realized that although companies existed to produce braille, it still wasn’t readily available, and was quite expensive. We decided to create a local company to help encourage local businesses to provide braille for various products. We talked with local restaurants, and made menus for a restaurant, and a local pharmacy. One of the products that set us apart from other businesses in the braille space was an accessible digital menu service. While I was not as adept at technology then as I am now, I realized that a braille and large print menu or flyer only reached a small amount of the blind community. Since only about 10% of blind people can read braille, I decided I needed a solution that could reach everyone in need of an accessible menu. With helping small companies, and especially restaurants, I could make menus and other documents accessible; I could help improve the world for many blind and visually impaired people. While I closed the business in 2015, the business taught me a lot about how to run a business, and methods for pitching a product to other businesses. My aunt and I closed Braille It 4u because I didn’t have time to actively promote it during college.


Benetech: Summer 2016:

In the summer of 2016, I worked with Benetech on the Diagrammer project, and helped them port code from web reader to Readium (An open source ebook reader). I mainly prototyped extensions to the Diagrammer project, adding things such as a settings page, buttons that could be toggled to show different descriptions, and other similar things. In doing this, I learned how to quickly work in javascript, and how to quickly design and implement a prototype of something. I also learned a great deal about how the corporate computer science world operates, and got a chance to talk and work with engineers every day. I was able to iterate on designs and learn about unexpected use cases of my work, give technical advice to management on problems to watch out for in the future, and work with issue tracking software used in industry. I also got some experience rapidly scripting an issue tracker so it would work better with my screen reader, and make working with it more efficient.

Another project I worked on was bringing open dyslexic font to Readium. The Readium ebook software is an ebook reading engine and viewer used by many ebook readers to render the book. It is designed to be used in applications as broad as android apps, IOS apps, websites, and desktop reading applications. The readium project has three components which I directly worked with. The lowest layer is the readium-shared-js component, which I added the ability to inject a custom font into an arbitrary book. This component is used by IOS, android, and web/chrome apps to render books. It renders them in an iframe, and does all of the magic of parsing and calculating how the book should be laid out, and manages all of the spine items. In particular, it has the ability to inject assets such as mathjax into the book, and manipulate settings that viewing applications want it to handle, such as font size, scrolling modes, and more. I added a setting to the shared js component allowing the author to specify a font by its url and font family. The ebook reader is then able to inject this font into every page of the ebook.

The next component I modified is the readium-js-viewer component, which is a web app and chrome app that allows reading systems to be implemented. I added a font picker to readium-js-viewer so that the user could pick one of any number of author specified fonts. I added the open dyslexic font, a font that helps dyslexic people read by making the bottoms of letters larger, into the viewer for Benetech, and it will be put into the readium code base.

The Benetech team wrote a blog featuring my internship on September 23, 2016, stating the following:

He was a joy to work with and impressed everyone on our team. Charles LaPierre, Technical Lead for DIAGRAM positively glowed about Derek saying, “I have worked with a number of interns over the years and this by far has been the most rewarding experience.”

Accessibility testing and consulting positions.

Website testing at the University of Colorado Boulder

From the spring of 2015, until the Spring of 2018, I worked with the University of Colorado at Boulder in the Accessibility and Usability Testing Lab (AUL). The goal of the AUL was to ensure university websites are compliant with the ADA, and other disability access laws, and to promote accessibility on campus IT resources. I worked with them mainly on running screen reader tests with the NVDA screen reader on internal sites and products the university would like to ensure are usable. I am able to give feedback that other testers can't give as easily, as an arttifact of my industry web development experience and computer science background. Also, my volunteer work on the NVDA screen reader project gave me insight into how screen readers work. I also spent time studying WCAG2, WAI-ARIA, and other web technologies, which expanded my value as a consultant. I gave feedback that saved programmers and web developers time while fixing a website.

Volunteer positions:

NVDACon planner, 2015-2016

NVDACon is a global online conference run by users of the NVDA (Non-visual desktop access) screen reader. It is completely volunteer run, with support from NV Access. As a planner for NVDACon 2016, tenth anniversary edition, I helped promote the conference, and moderate sessions.

Chair, NVDACon: 2017-2021

As chair of the NVDACon conference, I revamped our website, created, set up a leadership structure and process for the organization, and ran one regional, and three international conferences. The conferences attracted over 95 users, with presenters spanning 6 contents and several more island territories. Users could tune in to live programming, and recordings were uploaded for conferences.

Dictation Bridge: Software engineer

In 2017, DictationBridge was started. This project, which raised $25,000 in funding from blind people around the world, tried to create a system for a blind uuser to use a computer with speech input. Unfortunately, computer systems such as Dragon naturally Speaking don't allow voice input to a computer to interop with screen reading technology for the blind very efficiently. The dictationbridge project helped make that a reality. Unfortunately, due to a lack of further funding and constant changing of technology stacks, this project is currently not usable without major work that is currently not funded. My role in the DictationBridge project was to create a system that could take a spreadsheet of commands, and create resources that allowed existing speech recognition systems to work a screen reader. My solution made resources for the Jaws and NVDA screen readers, allowing control of NVDA and Jaws with speech. I also wrote the NVDA implementation of the command integration for NVDA, which allowed full control over basically every function in NVDA. This even allowed navigating the web, reviewing text, and querying system info like time, date, battery, etc. The system was so powerful I was able to use my computer fully blind, with my arms pinned behind my back while only using speech commands to tell the computer what to do and receiving audio back. If anyone has further funding for this project, especially if the funding aims to give Blind people with severe motor/rsi of the hands/arms, or no arms, the ability to use a computer, let's talk, I think funding and a team of developers could make a system allowing a blind person with no arm use the ability to effectively use a computer, and I have ideas on how to pull off the technical implementation, just no time or funding to do the work.

Full time positions

Software Engineer, Google

As a software engineer at Google, I have worked on the web frontend for Google Drive. I have gained experience with release management by sheperding a release from our staging environments into production, and ensuring cherry-picks and translation fixes are successfully put into production. I also work on internationalization issues, ensuring the user interface is translated into the supported languages, and helping engineers manage translations issues, such as plural forms, message updates, etc. I am the go-to contact for any web related internationalization or localization issues within Google Drive's web properties. I also am responsible for making sure translation related tooling is working as expected.

My primary role on the team has been on a number of key performance and analytics efforts, where I have reduced code complexity by removing old systems that were no longer needed. I've written tooling for our team to use when analyzing the size of the JavaScript a user needs to download, to help engineers figure out what javascript needs to be pruned to maximize javascript size wins, or help find the source of JavaScript regressions. I integrated qualitative surveying systems into Drive, allowing users to be surveyed on new features with configurable probabilistically low surveying rates, so that our ux teams can gauge whether user journeys were enjoyable and efficient. Additionally, for about a year, I worked on design of a library of born-accessible UI components which are used by many projects within Drive.

I have been fortunate that while at Google, I have been able to help engineers implement better accessibility, by directly filing bugs, and consulting with engineers both on my team, and in completely different locations in the company. When joining Google, I noticed that certain internal tools needed to be more accessible for maximized efficiency, so I decided to alpha test them, so I could ensure fixes that were needed to ensure my maximum efficiency made it into the tooling. I have additionally helped consult on accessibility bugs and new features for multiple teams across Google.