Resume: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→Civic Engagement: updated list of committee positions) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
; 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 33: | 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 | * 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 96: | Line 96: | ||
== Civic Engagement == | == Civic Engagement == | ||
* Arlington Town Meeting Member. (2015 - current) | * Arlington Town Meeting Member. (April 2015 - current) | ||
* Member, Arlington Information Technology Advisory Committee. (2016 - | * Member, Arlington Information Technology Advisory Committee. (May 2016 - September 2020) | ||
* Member, Arlington Zoning Recodification Working Group. (2016 - current) | * 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 == |
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.