Resume: Difference between revisions

From srevilak.net
Jump to navigation Jump to search
(→‎Civic Engagement: updated list of committee positions)
 
(13 intermediate revisions by the same user not shown)
Line 2: Line 2:
111 Sunnyside Avenue <br>
111 Sunnyside Avenue <br>
Arlington, MA 02474 <br>
Arlington, MA 02474 <br>
(781) 648-1083
(781) 648-1083 <br>
[[Contact|E-mail]]


== Objectives ==
== Objectives ==
Line 11: Line 12:


;Languages  
;Languages  
: Java, Perl, C/C++, sh, SQL, Python, R, HTML, CSS, XML, LaTeX.  
: C/C++, Java, Perl, shell scripting, SQL, Python, R, LaTeX.  


; Tools  
; 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.  
: ant, Apache, bind, Cognos BI, CiviCRM, CXF, Drupal, emacs, gcc, gdb, git, junit, m4, make, mysql, postfix, rsync, sendmail, spring, SQL Server, svn, Sybase IQ, tomcat.  


; Networking & Protocols  
; Networking & Protocols  
Line 23: Line 24:


== Professional History ==
== Professional History ==
=== Ab Initio, Lexington, MA - Software Developer ===
* 11/2013 - current.


=== KAYAK, Concord, MA - Reverse Engineer ===
=== KAYAK, Concord, MA - Reverse Engineer ===
Line 28: Line 33:
* 2/2004 - 10/2013.
* 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.
* 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.)
* 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 was still in active use when I left. (KAYAK used 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.
* 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.
* 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.
Line 88: Line 93:


* Attended 9/1988 - 5/1989. CGPA: 3.94.
* Attended 9/1988 - 5/1989. CGPA: 3.94.
== Civic Engagement ==
* Arlington Town Meeting Member. (April 2015 - current)
* Member, Arlington Information Technology Advisory Committee. (May 2016 - September 2020)
* Member, Arlington Zoning Recodification Working Group. (September 2016 - February 2018)  Member of a working group to recodify Arlington's Zoning Bylaws.  The recodification was passed by a special town meeting on Feb 12, 2018.
* Member and Chair, Surveillance Study Group (February 2018 - November 2018)
* Member, Zoning Bylaw Working Group.  (August 2018 - March 2022)
* Associate Member, Zoning Board of Appeals (April 2020 - November 2021)
* Member, Arlington Redevelopment Board (September 2021 - current)
* Member, Housing Plan Implementation Committee (October 2021 - December 2022)
* Member, MBTA Communities Working Group (February 2023 - current)


== Other Activities & Qualifications ==
== Other Activities & Qualifications ==
Line 103: Line 120:
* 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.
* 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.
* 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.
* 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.

Latest revision as of 16:22, 10 June 2023

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, CiviCRM, 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 was still in active use when I left. (KAYAK used 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. (April 2015 - current)
  • Member, Arlington Information Technology Advisory Committee. (May 2016 - September 2020)
  • Member, Arlington Zoning Recodification Working Group. (September 2016 - February 2018) Member of a working group to recodify Arlington's Zoning Bylaws. The recodification was passed by a special town meeting on Feb 12, 2018.
  • Member and Chair, Surveillance Study Group (February 2018 - November 2018)
  • Member, Zoning Bylaw Working Group. (August 2018 - March 2022)
  • Associate Member, Zoning Board of Appeals (April 2020 - November 2021)
  • Member, Arlington Redevelopment Board (September 2021 - current)
  • Member, Housing Plan Implementation Committee (October 2021 - December 2022)
  • Member, MBTA Communities Working Group (February 2023 - 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.