Resume
Stephen A. Revilak
111 Sunnyside Avenue
Arlington, MA 02474
(781) 648-1083
Objectives
To work on low-level, high-performance, intellectually stimulating software development challenges.
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.