Gabe Berke-Williams

Summary

I enjoy clean code, testing, and powerful toolchains. I have years of experience with complex Rails applications including everything from an app to help companies create OSHA reports to the backend API for an iOS app. I'm comfortable with Rails, SQL, JavaScript, and I've enjoyed my dabblings in Haskell. When I'm not writing web applications, I like to organize my dotfiles into extremely precise hierarchies and fiddle with my vimrc.

I'm a teacher; I've mentored many thoughtbot apprentices, taught at a bootcamp, and regularly volunteer to teach people new to programming.

Experience

thoughtbot Senior Developer, May 2011 - present

  • Lead teams of developers and designers to develop projects for clients.
  • Work on frontend and backend of small and large Rails applications, all built using TDD.
  • Wrote and maintained the original version of fake_braintree for three years.
  • Reviewed and edited all articles for thoughtbot's popular and high-profile blog for 4 years. I wrote most of the blog's custom backend architecture. I also wrote two of the blog's most popular articles: sed 102 and How to Make a Chrome Extension.
  • Ran apprentice.io and mentored 10+ apprentices.

Metis Ruby on Rails Bootcamp Teacher, April 2014 - November 2014

Metis was an intensive 12-week Ruby on Rails bootcamp that covered everything that goes into a Rails app from DNS records to ActiveRecord.

Projects

Croniker: advance scheduling for Twitter usernames

Croniker is a Haskell web application that lets users schedule changes to their Twitter name and profile picture, like Buffer. I wrote complex logic to match Twitter's internal username validations. As a result of this project, I wrote a blog post on Twitter's complex Unicode rules.

vim-rdio: Control Rdio from Vim

A Vim plugin that controlled Rdio (in the browser) from Vim (in the terminal). It talked to the browser using the macOS Javascript-to-Applescript bridge. I explain how I built it in this blog post. Sadly, Rdio shut down, so I stopped developing this plugin.

vim-spec-runner

A Vim plugin to run RSpec or Javascript tests using a clean, easy-to-use public API. This is probably one of the few Vim plugins written using TDD.

Teacher at Railsbridge

I volunteered at RailsBridge Boston for 2 years and helped coordinate events as part of the leadership team. I formalized all of the event documentation so that newbies could help coordinate the event and overhauled the curriculum. I now volunteer at Railsbridge in San Francisco, with a special emphasis on people who are completely new to programming.

Education

Brandeis UniversityBS in Computer Science, May 2011