Resume

From srevilak.net
Revision as of 18:01, 21 October 2013 by SteveR (talk | contribs)
Jump to navigation Jump to search

Stephen A. Revilak
111 Sunnyside Avenue
Arlington, MA 02474
(781) 648-1083
E-mail

Objectives

To work on low-level, high-performance, intellectually stimulating software development projects.

Skills

Languages
Java, Perl, C/C++, sh, SQL, Python, R, HTML, CSS, XML, LaTeX.
Tools
ant, Apache, bind, Cognos BI, CXF, Drupal, emacs, gcc, gdb, git, junit, m4, make, mysql, postfix, rsync, sendmail, spring, SQL Server, svn, Sybase IQ, tomcat.
Networking & Protocols
HTTP, SMTP, DNS, LDAP, firewall configuration (Netscreen/Juniper), iptables.
Operating Systems
Linux (Redhat, Debian, SuSE), Mac OS X, Windows.

Professional History

KAYAK, Concord, MA - Reverse Engineer

  • 2/2004 - 10/2013.
  • I started my career at KAYAK by building low-level components for Java web applications (configuration, logging, error handling, servlet lifecycle event listeners, and such). I also authored KAYAK's first build and deployment framework, which scaled by a factor of 30x before we had to rearchitect it.
  • Built a distributed log processing system called "scrub". On a typical day, scrub performs log processing over 300-400 machines, and ingests 1.1TB of log data. Why not Hadoop? We needed a log processing system, Google had barely published their first paper on Map-Reduce, and Hadoop didn't exist yet. Scrub has worked well and it's still in active use today. (KAYAK uses Hadoop for data analytics, but not to produce core business metrics.)
  • Architected KAYAK's data warehouse, and the surrounding ETL processes. This system loads ~ 40 million rows/day into 43 fact tables. As of last count, our data warehouse contained 18 billion rows and a couple terabytes of data. I've also learned a lot of database tuning tricks, to get efficient query execution on large tables.
  • Built a piece of middleware called "Business Broker". Business Broker (aka "BB") is a Java web service that automates data exchange between Salesforce.com, Doubleclick, KAYAK's internal ad engine, and our data warehouse. This automation has significantly improved the efficiency of KAYAK's commercial team.
  • Finally, I've done the usual set of things that you'd expect employee #9 at a startup company to do: firewall and VPN configuration, Linux administration, Drupal development, submitting bug fixes to open-source projects, babysitting httpd, bind, MySQL, and a variety of different mail delivery subsystems.
  • Why is my title "Reverse Engineer"? It's a play on words: I like to tinker with things to figure out how they work, and I'm a fairly proficient debugger.

Intuit, Waltham, MA - Software Developer, Release Engineer

  • 1/2000 - 2/2004.
  • Designed, implemented, and tested low-level component libraries for use by business units across Intuit.
  • Established a standard Apache build for use throughout Intuit, including source modifications to meet specialized business needs.
  • Responsible for administration and configuration of 60+ Solaris machines in 6 deployment environments.
  • Wrote a collection of tools for harvesting and analysis of application logfile data. (Gathering business data, operational performance, state-flow analysis). These tools were used to process 4-6 GB of log data per day.
  • Served as a member of the development team for QuickBooks Site Solutions. Wrote APIs for domain registration and domain management. Managed domain name renewals for 75,000 web sites.

Newbury Sound Inc, Boston, MA - Recording Engineer, Chief Engineer

  • 12/1993 - 1/2000.
  • Recorded, mixed, and/or mastered several hundred recording projects, done in collaboration with a wide range of clients.
  • Provided creative assistance to recording clients.
  • Involved in the diagnosis, troubleshooting, and repair of studio equipment.
  • Assisted in design and installation of facility upgrades.
  • Performed additional duties such as billing, inventory management, and client relations.
  • Work environment is almost entirely project-based, tailored to individual client needs, goals, and schedules.

WUMB-FM, Boston, MA - Producer, Board Operator

  • 1/1994 - 6/2004.
  • Held the responsibility of maintaining the quality of the on-air signal and keeping station logs during weekend overnights.
  • Screened, prepared, and cataloged regularly-aired syndicated shows; varying from 15 - 30 hours of material per week.
  • Produced and scheduled promotional spots, participated in fundraising events, and took part in the administration of WUMB's audio servers.

Education

University of Massachusetts Boston

  • Attended 9/2006 - 12/2011. Final CGPA: 4.00
  • Awarded PhD in Computer Science.
  • Dissertation: Precisely Serializable Snapshot Isolation.
  • My dissertation involved the development of algorithms to achieve full serializability under snapshot isolation. I did two implementations: a prototype tiny database that was written from scratch and implemented a small subset of SQL (basic CRUD), and a "real" implementation using MySQL's InnoDB storage engine.

University of Massachusetts Boston

  • Attended 1/2001 - 5/2003. Final Graduate CGPA: 3.93.
  • Awarded MS in Computer Science.
  • Graduate Project: "Mayan Translation Assistant", a java GUI application written to assist users in identifying Mayan Hieroglyphs. The Mayan Translation Assistant was an image matching application with a snazzy Swing interface.

University of Massachusetts Boston

  • Attended 5/1998 - 12/2000. Final Undergrad CGPA: 3.98.
  • Awarded Major Certificate in Computer Science (BA equivalent for math and CS courses).

Berklee College of Music

  • Attended 9/1989 - 12/1992. Final CGPA: 3.85.
  • Awarded BM in Music Production and Engineering.

Pennsylvania State University

  • Attended 9/1988 - 5/1989. CGPA: 3.94.

Other Activities & Qualifications

  • Submitted and tested patches for several open source software products, including tomcat, mod_jk, GNU findutils.
  • Affiliate, IEEE Computer Society.
  • Member of ACM and SIGMOD.
  • Member, Free Software Foundation.
  • Completed Fagan Defect-Free Training Process from Michael Fagan Associates.
  • Extremely proficient in a unix command-line environment. I live in the shell
  • Comfortable working with large bodies of code.
  • Comfortable working in distributed computing environments.
  • Good written and verbal communication skills. Excellent organizational skills.
  • At KAYAK, I interacted heavily with the Business Operations and Finance teams. I speak reasonably fluent finance.
  • I used to be a pretty decent guitar player. I don't play much these days, but I can still bang out the guitar riffs to Smoke on the Water and White Room.
  • Years ago, I did sound design and editing for the CD-ROM Tom Peters Career Survival Guide. It was the most fun you could possibly have with a condenser microphone and bag full of fortune cookies.
  • Ported JDK 1.1.7 and Swing 1.1 API documentation to the Classic Macintosh platform. Sun kept this up on their website for years; Oracle took it down. This was my first non-trivial shell scripting projects.