Resume: Difference between revisions

From srevilak.net
Jump to navigation Jump to search
(skills)
No edit summary
Line 1: Line 1:
'''Stephen A. Revilak'''<br>
__NOTOC__'''Stephen A. Revilak'''<br>
111 Sunnyside Avenue <br>
111 Sunnyside Avenue <br>
Arlington, MA 02474 <br>
Arlington, MA 02474 <br>
Line 21: Line 21:
;Operating Systems
;Operating Systems
: Linux (Redhat, Debian, SuSE), Mac OS X, Windows.
: 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.

Revision as of 16:49, 21 October 2013

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.