resume current as of 2015-11
Medford / Boston, MA 02155

http://bolson.org/ resume

Brian Olson

Personal Statement

I am a software craftsman. I take pride in doing complex things well. I'm not afraid to pick up a new technology if it's the right tool to achieve a goal; I have done this many times professionally and on other projects. I am often a knowledgeable resource to my friends and coworkers. I think I'm a pretty full-stack developer but my soldering, boot code and kernel hacking is a little rusty. I'm not the guy you hire to run your Hadoop cluster; I'm the guy you hire to write a new alternative to Hadoop.

I want to make the neatest stuff. I want to care about the stuff I'm making.

Capabilities

Primary Languages Go (Since 2011), Python (since 2007), C/C++ (since 1992), Java (since 1998), Javascript (since 2009)
Operating SystemsCurrently fluent in Mac OS X and Linux
Toolsmercurial, subversion, git, perforce, cvs, gnu make, AWS, Tomcat, Apache, PostgreSQL, LaTeX, flex/bison
expand all

Employment

PatientsLikeMe
Cambridge, Massachusetts
February 2016 -
Ruby development details...
  • PostgreSQL
  • Rails
  • Javascript
Diffeo
Cambridge, Massachusetts
September 2013 - August 2015
Python development and do-er of things in startup environment. details...
  • Wrote custom job control system for queueing large batches of work
  • Architected/implemented graph data library and schemas that ran on several database backends
  • C plugins to Python to speed up critical sections
  • Go and C implementation of some standalone components for improved performance
  • Accumulo, PostgreSQL, sqlite3, and in-memory back ends
Vistaprint
Lexington, Massachusetts
March 2012 - August 2013
C# development on manufacturing operations software. details...
  • As Lead Software Engineer I made decisions about the direction development would go when design tradeoffs were to be made. Did development on large code base with complex interactions.
  • Factory operations software in C# with MSSQL database and WPF GUI.
  • Implemented software in compliance with interfaces specified by partners and in compliance with international shipping laws.
  • Mentored new college hire.
  • Agitated for change
CloudLock
Waltham, Massachusetts
November 2010 - January 2012
Python AppEngine and django and other server side data processing. As Senior Software Engineer in addition to my own contributions I advised technical details and software engineering oversight to the team working on the company's main product. details...
  • Extensive work with the features and tradeoffs of the AppEngine system including its nosql-type datastore.
  • Google Docs API used to fetch data and make administrative changes.
Google
Cambridge, Massachusetts
July 2007 - November 2010
C++/Python misc infrastructure for big web apps. Javascript user interface with cross browser support. details...
  • MapReduce processing of terabyte+ data sets
  • Bigtable schemas for those data sets
  • Several job control and monitoring systems for automated maintenance and serving of production data.
  • Client side Javascript for Google Image Search and C++ server side code to connect with it.
Green Hills Software
Santa Barbara, California
June 2001 - June 2007
C, PowerPC, Mips Ported INTEGRITY OS to new ppc and mips chips writing kernel code in C and assembly. Wrote ethernet drivers. Wrote USB Stack and drivers from ground up based on specification. Maintained and upgraded documentation build system. Worked on-site with customers. details...
  • PPC 405, 440, 8560, 970. MIPS 4K series. Worked on the system in general and specifically MMU kernel support and often integrated ethernet controllers.
  • UHCI, OHCI, EHCI host side USB interface drivers and the protocol stack.
  • Documentation system single-sourced in custom language, translated by custom software to HTML and LaTeX. System had been abandoned by previous author and I picked it up and modernized it to use new features of HTML and PDF.
pre 2001...
Green Hills Software
Santa Barbara, California
Summer 2000 C, Mips, Arm, ColdFire Wrote USB Stack and a few drivers from ground up based on specification. Also wrote a couple serial drivers.
Carnegie Mellon
Pittsburgh, Pennsylvania
Spring 2000 Teaching Assistant. for Fundamentals of CS 1, the second semester CS major class. (taught in Java) Designed homework. Answered student questions. Taught a recitation.
Green Hills Software
Santa Barbara, California
Summer 1999 C, PowerPC Wrote example code to help users write interrupt routines, embedded boot code, and modified standard libraries.
Signition Inc.
Los Alamos, New Mexico
Summer 1998 C, C++ Rewrote and optimized (2-200x speedup) an interpreter. Worked with an existing 25,000 line code base and rewrote about 6000 lines of it over 3 months.
Los Alamos National Laboratory: Division T-DO
Los Alamos, New Mexico
Summer 1997 C, C++ optimization, audio file format exchange (Solaris & some porting to Linux)
Los Alamos High School
Los Alamos, New Mexico
School year 1996-1997 Chief of UNIX System Administration, network of ~60 computers (30 Macs, 20 PC, 8 Linux, 1 SunOS, 2 IRIX) used by 500 students and a few dozen faculty/staff.
Los Alamos National Laboratory: Advanced Computing Lab
Los Alamos, New Mexico
Summer 1996 UNIX System Administration, network of many computers (IRIX, AIX, Solaris, SunOS, Linux).

Education

I graduated from Carnegie Mellon in May of 2001 with a BS in Computer Science and a minor in Robotics.

Other Projects

Automatic Impartial Redistricting. Downloaded and processed US Census data including Tiger-line files. Wrote heuristic directed solver to create district maps. Optimized compute-intensive C application to improve run time. https://bitbucket.org/bodhisnarkva/redistricter

CBOR (RFC 7049) implementations in Python and Go: https://bitbucket.org/bodhisnarkva/cbor

Java-servlet based web polling site, backed by PostgreSQL: http://betterpolls.com/
Wrote and maintained 10,000-20,000 line Java project. Implemented new features based on user feedback.

Simulation of elections. Implement standard and theoretical election methods in C/C++, optimized, made multi-threaded to take advantage of SMP computer, ran millions of times, collected statistics and graphed the results. Then, refactored to run a different kind of visualization.

I publish and maintain open source election method implementations.

Unitarian Society of Santa Barbara Board of Stewards. 2003-2006. Served on a 12 member board in monthly meetings to take care of the policy decisions of the business of running a church.