Education - I have a Bachelor of Arts (with honors) in mathematics with a concentration in computer science from St. Mary's College of California. I won the Br. Alfred Brousseau award for "outstanding scholarship as a mathematics major."

Profile - I am an enthusiastic and friendly extrovert. My most notable traits as a programmer include: an incredible dedication to producing clean, well-documented, well-tested code on time and on budget; a passionate love of programming and especially programming languages; and a commitment to the open source community.


Skill Set - On a scale of one to five, five being the most familiar, I am familiar with the following technologies:

Programming Languages:
  • ActionScript (AS3): 3
  • C: 3
  • C++: 3
  • Dart: 5
  • Erlang: 2
  • Haskell: 3
  • Java: 3
  • JavaScript: 4
  • Perl: 4
  • PHP: 5
  • Python: 5
  • Ruby: 4
  • Scala: 2
  • Scheme: 2
  • Shell scripting (sed, awk, sh, make): 3
  • x86 Assembler: 2

Operating Systems:

  • FreeBSD (including creating ports): 5
  • Linux (Ubuntu, Fedora, etc.): 5
  • OS X: 4
  • Solaris: 2

Web Programming:

  • Apache: 4
  • CSS: 4
  • Django: 2
  • Google App Engine (Python, Go, Java): 4
  • Google Web Toolkit (GWT): 4
  • HTML5: 4
  • jQuery: 4
  • nginx: 3
  • Pylons: 4
  • Rails: 4
  • Twisted: 3
  • XML (SAX, DOM, etc.): 3
  • Zope and Plone: 4
GUI Programming:
  • AWT and Swing: 4
  • GTK and GNOME (C, PyGTK): 4
  • QT and KDE: 4
  • SDL and PyGame: 4
  • Tk (Perl, Ruby, Python): 4

Mobile Development:

  • Android: 3

Databases:

  • MySQL: 5
  • PostgreSQL: 3

Protocols (RFC-level knowledge):

  • HTTP: 4
  • IPv6: 5
  • SDP: 5
  • SIP: 5

Other Applications:

  • CVS (usage and administration): 4
  • Git: 4
  • Lex and Yacc (C, OCAML, PLY): 3
  • Selenium: 4
  • Subversion (usage and administration): 4
Other Programming Skills:

Articles:

Technical Editing:

Other Achievements:


Employment History:

5/2013 to current - Twitter
Staff Software Engineer on the Hardware Engineering and Demand Services team.
5/2011 to 4/2013 - Google

Q2 2013 - Q2 2013 (and previously as a 20% contributor)
Senior Developer Advocate for Dart

  • Gave talks about Dart. Gave 7 international talks in 6 countries. Gave 9 talks locally.
  • Wrote open source code. Developed doc-code-merge and led development of doc-code-verify to make sure code samples embedded in documentation stay correct. Led a project called dart-html5-samples to port samples from HTML5 Rocks into Dart. The samples are linked to from the welcome page of Dart Editor. Worked with another developer to build a project called Irrduino. The frontend that I built in Dart looks like Farmville, but it actually controls a real sprinkler system. Built Tetris in Dart only a month after Dart was first announced.
  • Advocated for Dart using video. Hosted or helped host 7 episodes of Dartisans for Google Developers Live. We've gotten over 11k views for just those 7 episodes. Gave a talk on Dart in Spanish that resulted in 1.8k views and 166 hours of watch time. This took a lot of effort since I am not a native Spanish speaker! Created a screencast on using Dart with GWT that got 1.7k views and 161 hours of watch time. Created a video about Irrduino that resulted in 6k views and 200 hours of watch time. Spoke remotely at 3 DevFests for a total of 300 attendees.
  • Wrote blog posts about Dart. Wrote the most popular blog posts on Dart two quarters in a row thanks to my blog posts on TypeScript and dart-html5-samples.

Q2 2011 - Q2 2012 (and afterwards as a 20% contributor)
Senior Developer Advocate for YouTube APIs

  • Advocated for YouTube APIs. Spoke about YouTube APIs at 9 international events in 8 countries. Spoke at 15 local events. Won a peer bonus for giving 3 talks in one trip to Egypt. Wrote 5 blog posts for the YouTube API blog. I was the host for 9 episodes of YouTube Developers Live, which resulted in 16k views.
  • Jarek Wilkiewicz and I decreased the average customer wait time for the partner support queue by 300% in one quarter. Worked with Jarek Wilkiewicz to gain a total of 10 commitments for various YouTube API launches. In particular, worked with 6 different partners as they integrated with YouTube.com/create. Had 56 partner meetings in which I solved problems, gathered feedback, and garnered integrations.
  • Gave two webinars for Google I/O. My webinar Using Ruby on Rails and YouTube APIs for Educational Apps currently has 75k views and was our most successful Google Developers Live video. My webinar YouTube for Your Business currently has 13k views.
  • Built Quizzimoto, an open source application that I used as the basis for my talk Using Ruby on Rails and YouTube APIs for Educational Apps talk. Also used it to give a talk at two local Ruby users groups, including a talk at Pivotal Labs.
  • Worked with Jeffrey Posnick to build Party Playlist Picker. It's an open source Google App Engine application written in Python that lets users collaboratively edit a YouTube playlist in realtime. My blog post about it has been read by over 3k people. Our Google Developers Live video for it has gotten over 1k views. My team members liked the way I structured the code so much that they used the same structure in their other Python applications.
  • Provided technical support for business development in meetings with game publishers. I've met with roughly 15 partners including one of Google's largest advertising partners. This had a direct impact on Google's bottom line.
  • Open sourced numerous sample projects written in Python, Ruby, PHP, Dart, and Java (for Android).
  • In the last year, I've written 61 technical blog posts on my personal blog. I get 10k page views a month. I have 1k subscribers on Google Reader, but I'm also aggregated into Python Planet which has 4.3k subscribers on Google Reader. I have 5.4k followers on G+ as of September 2012.
10/2010 to 3/2011 - Twilio (a web services startup)
Senior Software Engineer. Lead a project as it moved from prototype to production via refactoring, performance testing, and scalability enhancements. Used Python and Twisted. Built various prototypes using Socket.IO, node.js, js.io, gevent, WebOb, Twisted, zeromq, Flask, Jinja2, Ruby, Rails, and MySQL.
6/2009 to 10/2010 - Fandor (a small indie film startup)
Software Architect. Built fandor.com, which is a site similar to NetFlix on-demand. Used Ruby, Rails, ActionScript, JavaScript, jQuery, MySQL, the Flash Media Server (FMS), Wowza, and BDD. Integrated with Boxee, Limelight, Facebook, and Roku. Made open source contributions to LongTail Video (JW Player, a Flash video player).
3/2008 to 6/2009 - 24 Hr. Diner (a three-person startup)
Senior Software Engineer. Architected and built a general-purpose recommendation system similar to Amazon's system using Linux, nginx, MySQL, and Python.
7/2007 to 11/2007 - MultiCosmic (a two-person Facebook startup)
Senior Software Engineer. Built a Facebook app called Free or Best Offer using Linux, MySQL, Ruby on Rails, and RFacebook.
8/2006 to 5/2007 - Foxmarks Inc. (a startup by Mitch Kapor)
Senior Software Engineer. Built www.foxmarks.com (the corporate website), login.foxmarks.com (the account management application), and my.foxmarks.com (used to view your bookmarks online) using Linux, MySQL, Python, Pylons, and Genshi.
1/2004 to 8/2006 - IronPort Systems (a startup acquired by Cisco)
UI Platform Engineer within the Architecture and Platform Engineering Group. My Web application framework, Aquarium, was officially adopted across the entire organization. Architected the user interface to configure the email gateway appliance, including centralized management and localization to eight languages. (The user interface alone consisted of over a quarter of a million lines of code.) Built a Web server named Glass that could run under stackless Python with coroutines. Was responsible for the common look-and-feel of IronPort applications across the company.
8/2001 to 12/2003 - NTT Multimedia Communications Laboratory
Software Engineer. Worked (sometimes in a team, usually alone) on a wide range of research and development projects using: Perl, Ruby, C, C++, sh, Jython, Tk, QT, KDE, Swing, Zope, Mason, mod_perl, IPv6, HTTP, SSL, XML-RPC, Linux, FreeBSD, XML, PGP, Apache, PostgreSQL, client/server programming, multi-threaded programming, peer-to-peer programming, and I18N.
9/2000 to 5/2001 - Echobridge
Programmer 2. Built Catholic Healthcare West's website using Python, MySQL, SQL Server, Apache, Linux, and Aquarium.
6/1999 to 9/2000 - Clear Ink
Web Engineer 2. Worked on multiple ecommerce sites using PHP, MySQL, Solaris, and NT.
1/1998 to 4/1998 - Sun Microsystems
Resolution Coordinator Intern. Provided technical support over the phone to other members of Sun Microsystems using Solaris.
11/1997 to 5/1999 - Saint Mary's College of California
Group Tutorial Leader. Tutored groups of three to fifteen students who were learning Turbo Pascal, C++, and x86 assembler.

Here is some sample code written in Python, Ruby, and Dart.

Here are my GitHub, Google Code, SourceForge.net, and Stack Overflow accounts.

References are available upon request.