Robert E. Brewer

fumanchu@aminus.org

Profile

As your systems grow, properties emerge: speed, stability, simplicity. You already have champions for the users' expectations around features and interactions; you need one for their expectations of product quality. I provide that through a focus on these areas:

Product Documentation

As your org chart grows, the number of design decisions grows faster. Design needs understanding to sprout, communication to grow, and documentation to survive. I make all of these stronger with just enough structure, text, and diagrams to make good decisions now and in the future.

System Design

With proper documentation of requirements, good design doesn't have to wait for inspiration. My architectural analyses clearly delineate acceptable solutions, allowing decision makers to quickly focus on the most important tradeoffs. Simplicity is a key goal and constraints are a key tool to keep systems from collapsing under their own weight.

Quality Management

All systems need monitoring, maintenance and periodic reevaluation. I help design and measure quality objectives, maintain automated systems to notify when they regress, and continually evaluate existing designs for quality improvements.

Employment

Crunch

Chief Architect

Oct 2012 - present

  • Designed and built an in-memory, column-oriented, multi-tenant DBMS for statistical analysis. Major features:
    • Hundreds of thousands of columns per dataset
    • Version control
    • Derived variables
    • ZCL analytic query language
    • Categorical algebra
    • Sparse data optimization
  • Developed specifications to connect product requirements to design, using (at various times) Confluence, Google Docs, Trello, Github, PivotalTracker
  • Developed performance targets and met them through benchmarks, profiling, monitoring, and distributed tracing solutions
  • Advised on all levels of the technology stack

YouGov, Inc.

Chief Architect

Mar 2010 - Sep 2012

  • Produced architectural analyses that trace business goals through requirements and risks to architectural constraints and design
  • Composed an architectural workflow using Trac, Google Docs, and Trello
  • Designed and built a column-oriented, in-memory, horizontally-scalable database for statistical analysis
  • Led the design and implementation of a JSON-based media type for the complete questionnaire workflow, including polymorphic object inheritance, embedded languages, and a comprehensive type system
  • Wrote the JBNF specification, a BNF-like grammar for JSON-based media types
  • Designed and built a RESTful architecture for transaction processing which enjoyed rapid implementation throughout the company
  • Designed and built an elastic, R-based, staged-computation system for investigative business intelligence
  • Designed a hypercube-based system for operational analytics
  • Designed a structured-data logging and distributed tracing system
Software Engineer / Survey Systems Team Lead

Apr 2009 - Mar 2010

  • Took over one-third of the Python software stack within two weeks
  • Refactored the Brand Index data model
  • Integrated hub acquisitions in the UK, Germany, Scandanavia, and the Middle East
  • Added control and reporting interfaces to survey selection and email batch jobs
  • Re-styled the US panelist website according to spec
  • Refactored operational analytics backends to be more stable, reliable, and performant

Etsy, Inc.

Software Engineer

Aug 2007 - Jan 2009

  • Designed, built and deployed a new front end web application server
  • Designed, built and deployed a new data services layer
  • Designed Shoji, a RESTful JSON protocol and media-type
  • Wrote architectural analyses
  • Administered version control, knowledge management, and ticketing systems (Subversion, Trac)

Amor Ministries

Director of IT

2006 - 2007

System Architect

1999 - 2006

  • Designed, built, deployed and maintained a complete online billing system
  • Integrated "The Raiser's Edge" CRM app
Mission Trip Coordinator

1994 - 1999

  • Led volunteer work teams in house construction

The Semi-Spontaneous Shakespeare Society

Founder, President/CEO

2001 - 2004

  • Directed volunteer teams in theatrical production

Selected Open Source Projects

CherryPy HTTP Framework
  • Popular HTTP/1.1 compliant framework for Python. Lead Developer; author version 3
Dejavu / Geniusql Object-Relational Mapper
  • Complete Python-to-SQL decompiler and relational engine. Lead Developer
WSGI gateways for modpython and ASP
  • First WSGI gateways for mod_python and for IIS/ASP. Sole Developer
Epic Postgres Test Framework
  • Complete unit test framework for PostgreSQL stored procedures. Sole Developer
Postfacto Postgres Version Control Tool
  • Version control system for Postgres schemas. Sole Developer

Expertise

Databases
  • Postgres, SQL Server, Microsoft Access, MySQL, SQLite, Firebird, DBM, Custom
  • MongoDB
  • Column stores, hypercubes, index implementations
  • SQL 87/89/92/99
  • ACID theory and phenomena, transactions
  • Partitioned/Federated/Mediated Databases
  • Relational algebra
  • Type systems/translation/equivalence
  • SQLAlchemy
Network Architectures
  • IP, TCP/UDP, DNS, DHCP
  • REST, RPC, IPC
Application Architectures
  • OLTP, CRM, OLAP, Query engines, reporting tools
  • Internet-scale applications (millions of hits per day)
  • Caching
Web Programming
  • API design
  • All relevant RFCs: HTTP/1.0, 1.1, bis, 2.0; URI; MIME; authentication
  • CSS, HTML, JavaScript, AJAX, DOM, JSON
  • jQuery
Python
  • API design
  • Metaprogramming
  • Virtual machine (bytecode/AST)
  • Testing, profiling, tracing, optimization
  • Multithreading and concurrency
  • Sockets

Presentations

PyData
PyCon
PGCon

Education

Pacific Christian College
  • Bachelor of Arts in Biblical Studies 1993
  • Emphases in Missions, Performing Arts

Interests

  • Robotics
  • Cognitive Science, Systems Theory, Cybernetics, Artificial Intelligence
  • Textual Criticism, Linguistics, Greek, Spanish, German
  • Theater: Shakespeare, Stagecraft
  • Music: Composition, Vocal, Guitar, Bass, French Horn