William Light
http://williamlight.net/
resume@wrl.illest.net
Berlin, DE
After growing up in the Midwestern USA, I moved to the West coast to pursue my passion for developing efficient, usable software and writing electronic music. An autodidact by nature, I am always learning and adapting, constantly honing my craft.
I am fascinated by the inner workings and underpinnings of software and am looking for opportunities that let me work "close to the metal."
Skills
C, POSIX/Unix APIs, libudev, IOKitLib, Bonjour, JACK, OpenGL, Xlib/XCB, cSound, Python, Django, SQL, Javascript, HTML/CSS, Actionscript 3, Flex, PHP, Git
I have an approachable and easygoing personality, am good at explaining technical concepts in easy to understand terms, and learn new languages and APIs quickly.
Experience
Lead Software Engineer company name TBD (11.2012 - current)
- Bootstrapping a music technology start-up
- Responsible for architecture and implementation of a music composition environment, inclusive both of audio/DSP code and graphical user interface.
Contract Software Engineer Monome (03.2011 - ongoing maintenance)
- Ported my existing libmonome project (originally developed for Linux) to Windows and Mac OS X
- Developed serialosc, a cross-platform serial-to-OpenSoundControl server leveraging my existing work on libmonome.
- Implemented the host-side serial protocol for communicating with the new grid and arc devices
- Built installers and distribution packages for the finished product
Software Engineer Native Instruments (04.2012 - 06.2012)
- Diagnosed rendering inefficiencies in QT on an embedded Linux platform
- Designed protocols for communication between a USB gadget and the host system
Contract Software Engineer Soundcloud (06.2011 - 03.2012)
- Developed a test harness for acoustic fingerprinting systems
- Implemented an audio classification algorithm for differentiating between music and speech signals
Software Engineer Twilio Inc. (10.2010 - 03.2011)
- Developed graphing components in Javascript
- Reverse-engineered Adobe's RTMP streaming media protocol and developed an implementation as a FreeSWITCH endpoint module
Software Developer Scrapblog Inc. (04.2010 - 10.2010)
- Developed an E-Commerce system in Python, interfacing with APIs from Authorize.net, USPS, FedEx, and others
- Part of a team developing a Facebook application for creating photo collages
Software Developer NeuralIQ Inc. (08.2007 - 10.2008)
- Ported an Actionscript 2 application to AS3/Flex
- Patched bugs in Adobe Flex 2
- Developed a VT100 terminal emulator in AS3
- Developed interactive Flex visualization components
Contract Web Developer Avanoo (06.2007 - 08.2007)
- Developed embeddable widgets both with Javascript and OpenLaszlo
Web Developer The Next Wave (12.2006 - 05.2007)
- Maintained Wordpress sites for clients
- Developed custom PHP/MySQL sites
- Developed a captive WiFi portal based on NoCatAuth, OpenBSD, and PHP
- Worked as server administrator and technical support for a small, in-house hosting service
Technician Midwest Design Computers (01.2006 - 01.2007)
- Performed general repair work on customers' computers
- Built custom digital video recorders for an affiliated surveillance company
- Built and configured a router/firewall with OpenBSD and pf
Personal Projects
My personal projects focus on the intersection between music and software, exploring new ways of computer-based performance and composition.
Developed libmonome, which provides an easy to use API for the Monome human interface devices.
Developed rove, a program for live improvisation and performance of electronic music. Over the course of development, I have used rove to perform my music at a number of shows, including several I played while on tour in the western U.S.