Resume
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
- C/C++, Java, Perl, shell scripting, SQL, Python, R, 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
Ab Initio, Lexington, MA - Software Developer
- 11/2013 - current.
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.
Civic Engagement
- Arlington Town Meeting Member. (2015 - current)
- Member, Arlington Information Technology Advisory Committee. (2016 - current)
- Member, Arlington Zoning Recodification Working Group. (2016 - current)
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 project.