<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resume PUBLIC "-//Sean Kelly//DTD Resume 1.5.1//EN" "http://xmlresume.sourceforge.net/dtd/resume.dtd">
<resume xmlns="http://xmlresume.sourceforge.net/resume/0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <header>
    <name>
      <firstname>Kevin</firstname>
      <surname>Scaldeferri</surname>
    </name>
    <address>
      <city>Portland</city>, <state>OR</state>
    </address>
    <contact>
      <email>kevin@scaldeferri.com</email>
      <phone>(626) 487-1763</phone>
      <url>http://kevin.scaldeferri.com/resume/</url>
    </contact>
  </header>
  <objective>
    <para>An individual contributor position where I can use my
    expertise in large system development, scaling, and optimization;
    where initiative and self-sufficiency are valued; and with
    co-workers dedicated to continuous learning and improvement.</para>
  </objective>

  <history>
    <job>
      <jobtitle>Senior Developer</jobtitle>
      <employer>Yahoo! Search Marketing, Content Match Group</employer>
      <period>
	<from>
	  <date>
	    <month>July</month>
	    <year>2005</year>
	  </date>
	</from>
	<to>
	  <present/>
	</to>
      </period>
      <description>
	<para>
          The Content Match group provides contextually targeted
          advertisements for websites both within and outside the
          Yahoo! network.  I developed high-volume, high-reliability
          server applications using C and Perl.
        </para>
      </description>
      <projects>
        <project>I designed and led the implementation of a system
        for inserting advertisements into RSS feeds.  This
        required novel modifications of existing ad delivery
        mechanisms to balance desirable business features such as
        learning and ad rotation while preserving an acceptable the user experience.</project>
        <project>I created the design for geo-targeting
        advertisements, and specified the required API changes between
        distributed components as well as the required functional
        changes in those components. I implemented the geo-targeting
        component for converting IP addresses to geo-regions, and
        supervised the implementation of the rest of the
        changes.</project>
        <project>I led a 4 person team to implement private
        marketplaces within the Content Match system.  This system
        allows high-quality advertisers to bid for placement on
        selected high-quality publisher sites.</project>
        <project>I designed and implemented a system for performing
        live diagnostics on our distributed clusters.  This system
        allows business people and developers to perform detailed
        queries on the state of a cluster to help diagnose problems in
        the system.</project>
        <project>
          I worked on a number of infrastructure improvements to
          streamline development of our system, including process
          automation and elimination of boilerplate code.  I was also
          one of a small group of “blessed” code reviewers given the
          responsibility to approve all code for production use.
        </project>
      </projects>
    </job>
    <job>
      <jobtitle>Senior Developer</jobtitle>
      <employer>Yahoo! Search Marketing (formerly Overture Services), Sponsored Search Group</employer>
      <period>
	<from>
	  <date>
	    <month>April</month>
	    <year>2002</year>
	  </date>
	</from>
	<to>
          <date>
            <month>July</month>
            <year>2005</year>
          </date>
	</to>
      </period>
      <description>
	<para>The Sponsored Search system at YSM serves hundreds
	of millions of web requests daily, providing search results
	directly as HTML to users and via XML feeds to partners including
	ISPs, portals, and browser plugins. On this team, I developed
	systems using Perl, Java, and C/C++; running within
	Apache/mod_perl, Dynamo, and Weblogic; and interfacing with
	Oracle and BerkeleyDB databases. 
        </para>
      </description>
      <projects>
        <project>I worked on a number of projects to improve search
        coverage using approximate query matching techniques,
        including character edit transformations, subphrase matching,
        and semantic matching based on extremely short query strings.
        This required integration of fast C libraries with the Perl
        codebase, and extensive performance and scalability testing.
        I developed data denormalization schemes to help meet 
        performance requirements, and various heuristics to ensure
        reliable system operations and acceptable resource utilization
        while maintaining high coverage and relevance.
        </project>
        <project>I led the internationalization of the search systems
        during expansion into France and Japan and conversion of all
        internal systems from ISO-8859-1 to UTF-8.  This required
        upgrading several base systems, including Java, Perl, and
        Dynamo; and developing extensive regression tests for all
        parts of the search systems.  I identified frequent trouble
        spots in the code base and researched and developed
        internationalization best practices. I specified the external
        API for character encoding support. I also created wrappers
        for several non-internationalized third-party modules.
        </project>
        <project>I was involved in evaluating and integrating
        third-party libraries for Asian language support, particularly
        morphological analyzers.  I worked closely with developers at
        an external vendor to provide feedback from our experiences,
        both in terms of functional correctness and production
        reliability, which they could use to improve future versions
        of their software.
        </project>
        <project>I collaborated with our QA and release management
        teams on several projects, including enhancing and extending
        the toolset for functional and regression testing, and
        consulting on the requirements and design for a load testing
        framework.  I also developed a system for interspersing code
        launches with more frequent metadata launches.
        </project>
        <project>I redesigned and refactored large portions of the
        search pipeline to make better use of object-oriented and
        metadata-driven programming techniques.  In net, I eliminated
        several thousand lines of largely duplicated code with no
        negative effect on performance, and significantly improved
        readability and maintainability.</project>
      </projects>
    </job>
    <job>
      <jobtitle>Senior Developer / Technical Lead</jobtitle>
      <employer>Arsdigita Corporation</employer>
      <period>
	<from>
	  <date>
	    <month>January</month>
	    <year>2000</year>
	  </date>
	</from>
	<to>
	  <date>
	    <month>February</month>
	    <year>2002</year>
	  </date>
	</to>
      </period>
      <description>
	<para>I was a member of the development team for the Arsdigita
	  Community System, a web application framework for developing
	  database-backed community and collaborative web
	  services. I developed software using Java, TCL, SQL, PL/SQL,
	  Oracle, Tomcat, and Aolserver.</para>
      </description>
      <projects>
        <project>I was the technical lead of a 6-person team focused on the
	  development of a rules-based personalization system
	  incorporating dynamic classification of users based on
	  behavior and targeted delivery of content.  Responsible for
	  design and code reviews within this team and for other teams. 
        </project>
        <project>I designed and developed several modules to support
	  various forms of web-based collaboration, including:
	  a system for authoring of manuals and other publications
	  incorporating user comments and feedback; a repository
	  for code sharing and reuse with capabilities for feedback,
	  ratings, and bug tracking; a workflow engine based on the
	  Petri net model; a file storage system with fine-grained
	  permissioning and commentability; and a threaded bulletin
	  board system. 
        </project>
      </projects>
    </job>

    <job>
      <jobtitle>Web Developer</jobtitle>
      <employer>Graduate Student Council, Caltech</employer>
      <period>
	<from>
	  <date>
	    <month>November</month>
	    <year>1999</year>
	  </date>
	</from>
	<to>
          <date>
            <month>June</month>
            <year>2001</year>
          </date>
	</to>
      </period>
      <description>
	<para>I reengineered the web version of the Technique, the
	graduate student guide for Caltech.  When I started this project,
          the web site was simply a static HTML dump of the print version.
          I designed a content management system appropriate for the
	needs of this publication including full-text searching of the
	contents of the book, 
	reader comments on the text, and a searchable database of
	restaurant reviews.</para>
      </description>
    </job>

    <job>
      <jobtitle>Systems Administrator</jobtitle>
      <employer>Theory Group, Physics Dept., Caltech</employer>
      <period>
	<from>
	  <date>
	    <month>June</month>
	    <year>1999</year>
	  </date>
	</from>
	<to>
	  <date>
	    <month>August</month>
	    <year>2000</year>
	  </date>
	</to>
      </period>
      <description>
	<para>I supported approximately 40 users in a mixed environment
	of Sun servers, thin clients, and PCs.  I was responsible for
	hardware purchasing decisions, software installation and
	upgrades, backups, and security on the cluster.  In addition, I
	provided documentation of the use of software supported on the
	systems.</para>
      </description>
    </job>

    <!--
    <job>
      <jobtitle>Graduate Research Fellow</jobtitle>
      <employer>Physics Dept., Caltech</employer>
      <period>
	<from>
	  <date>
	    <month>June</month>
	    <year>1997</year>
	  </date>
	</from>
	<to>
	  <date>
	    <month>September</month>
	    <year>2000</year>
	  </date>
	</to>
      </period>
      <description>
	<para>Conducted research in particle physics, with primary
	emphasis on effective field theories of the Standard Model.
	Secondary investigations into noncommutative field theories and
	models of neutrino masses.</para>
      </description>
    </job>

    <job>
      <jobtitle>Strauss Teaching Assistant</jobtitle>
      <employer>Mathematics Dept., University of Maryland</employer>
      <period>
	<from>
	  <date>
	    <month>August</month>
	    <year>1996</year>
	  </date>
	</from>
	<to>
	  <date>
	    <month>May</month>
	    <year>1997</year>
	  </date>
	</to>
      </period>
      <description>
	<para>Taught introductory calculus in a close-contact format
	involving guided learning with small groups of students.  I
	prepared lectures, led recitation sessions, and graded
	homework assignments and exams.</para>
      </description>
    </job>

    <job>
      <jobtitle>Research Assistant</jobtitle>
      <employer>Physics Dept., University of Maryland</employer>
      <period>
	<from>
	  <date>
	    <month>January</month>
	    <year>1995</year>
	  </date>
	</from>
	<to>
	  <date>
	    <month>August</month>
	    <year>1996</year>
	  </date>
	</to>
      </period>
      <description>
	<para>Conducted research in various groups at the University
	of Maryland.  At the Center for Superconductivity Research, I
	analyzed data to test models of thin-film superconductors.  In
	the Astronomy Department, I studied the effects of temperature
	on relative line strengths in stellar spectra and developed
	techniques for compensating for the earth's atmospheric
	spectrum in this analysis.  In the Nuclear Theory Group, I
	studied exact and numerical solutions of the Schroedinger
	equation with singular potentials in the context of effective
	field theories of nuclear scattering.</para>
      </description>
    </job>
-->
  </history>

  <academics>
    <degrees>
      <degree>
	<level>BS</level>
	<major>Physics</major>
	<date>
	  <month>May</month>
	  <year>1997</year>
	</date>
	<institution>University of Maryland at College Park</institution>
	<annotation>with High Honors</annotation>
      </degree>
      <degree>
	<level>BS</level>
	<major>Mathematics</major>
	<date>
	  <month>May</month>
	  <year>1997</year>
	</date>
	<institution>University of Maryland at College Park</institution>
	<annotation>with Honors</annotation>
      </degree>
      <degree>
	<level>MS</level>
	<major>Physics</major>
	<date>
	  <month>June</month>
	  <year>2000</year>
	</date>
	<institution>California Institute of Technology</institution>
      </degree>
    </degrees>
  </academics>

  
  <skillarea>
    <title>Programming Languages</title>
    <skillset>
      <title>Used professionally</title>
      <skill>Perl</skill>
      <skill>C/C++</skill>
      <skill>Java</skill>
      <skill>SQL (Oracle)</skill>
      <skill>PL/SQL</skill>
      <skill>XML/XSL</skill>
      <skill>TCL</skill>
      <skill>Fortran</skill>
      <skill>IDL</skill>
    </skillset>
    <skillset>
      <title>Limited Experience</title>
      <skill>Lisp</skill>
      <skill>OCaml</skill>
      <skill>Haskell</skill>
      <skill>Erlang</skill>
    </skillset>
  </skillarea>

  <awards>
    <title>Award, Honors, and Certifications</title>
    <award><title>Overture Star Performer</title>
      <date><year>2004</year></date>
    </award>
    <award><title>Sun Java Certified Programmer</title></award>
    <award><title>Graduate Research Fellow</title>
      <organization>National Science Foundation</organization>
    </award>
    <award><title>Phi Beta Kappa</title></award>
    <award><title>Best Honors Thesis</title>
      <organization>University Honors Program, UMCP</organization>
    </award>
    <award><title>Best Undergraduate Research Project</title>
        <organization>Physics Department, UMCP</organization>
    </award>
  </awards>
  
  <pubs>
    <pub>
      <artTitle>How to Serve a Billion Requests a Day with
      Perl</artTitle>
      <date>
        <year>2005</year>
      </date>
      <bookTitle>OSCON, YAPC::NA</bookTitle>
    </pub>
  </pubs>
</resume>
