Oliver is standing; apparently during the Great Depression.

Hi, I’m Oliver — programmer; serial founder; amateur juggler; husband; father of two.

I’ve worked at Apple (consumer electronics and computers), Nest (Wi-Fi-connected learning thermostats), AOL Palo Alto (during the reboot — not as stodgy as it sounds), and a bunch of start-ups.

Based in Greenfield, Massachusetts — I’ve spent most of my life commuting to Boston and/or telecommuting to California.


I am a visiting faculty member at the Franklin W. Olin College of Engineering in Needham, MA. 2017-18 AY courses are:


I consider coding (like writing) as a way to think clearly, and as a means of self-expression.

Good code is beautiful. (Not all code needs to be good.)

I currently work mostly in Ruby, Python, and JavaScript / CoffeeScript; previously in C, C++, Common Lisp, Java, SmallTalk, assembly, and Dylan; and some smaller projects in Haskell, Objective C, and bash. For server work I’ve used mostly Rails, Django, Sinatra, and Express; MySQL, Postgres, and Redis; Apache and nginx; and AWS (and previously DreamHost, SliceHost, and colos).

Management Philosophy

I believe in working for, and in hiring, people that I can learn from.

I believe that the jobs of management include making the organization comprehensible to individuals (by making it simpler where possible, and by simplifying its presentation where not); and making individuals comprehensible to the organization (by promoting their efforts and insuring that they stay connected and strategic).

I believe in creating and maintaining alignment, where possible, between those activities that are fun, those that are fulfilling, and those that create value.

My favorite developers write code in order to figure out what to say as easily as they talk in order to figure out how to code. They understand both that a good meeting can prevent a month of wasted coding, and that a good line of code can prevent an hour of wasted meeting time. They understand that languages, platforms, management styles, and development methodologies all trade off between strengths and weaknesses, and are differently appropriate in different contexts.

My favorite co-workers want to point at something and say “we did that!”, and want to have fun getting there.


I published a blog from 2003 to 2008.

Popular posts included The IDE Divide and Overloading Semicolon.

Posts that failed to make a splash include Service Clients (an early attempt to describe what was later called AJAX), and Rethinking MVC (an early attempt to describe what was later called MVVM).

The illustrations in my My Git Workflow have been adapted (with permission) and improved many times. You can find better, and interactive, versions elsewhere on the web.



You might also be here from a web search or link to: