<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="http://www.cs.cmu.edu/~gzen/resume.xsl.xml"?>

<gzen:resume xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:gzen="http://www.cs.cmu.edu/~gzen/schema"
             xsi:schemaLocation="http://www.cs.cmu.edu/~gzen/schema http://www.cs.cmu.edu/~gzen/schema/resume.xsd">
  <gzen:personalInfo>
    <gzen:name>
      <gzen:firstName>Gabriel</gzen:firstName>
      <gzen:middleName>Lopez</gzen:middleName>
      <gzen:lastName>Zenarosa</gzen:lastName>
    </gzen:name>

    <!-- gzen:distinction>Master of Software Engineering Fellow, CMU (2006 - 2007)</gzen:distinction -->

    <gzen:address>
      <gzen:street>1845 Clayton Ave.</gzen:street>
      <gzen:line2>Unit 210</gzen:line2>
      <gzen:city>Pittsburgh</gzen:city>
      <gzen:state>PA</gzen:state>
      <gzen:zip>15214</gzen:zip>
      <gzen:plus4>3848</gzen:plus4>
    </gzen:address>

    <gzen:phone xsi:nil="true">
    </gzen:phone>

    <gzen:email>email.png</gzen:email>
    <gzen:homepage>http://www.cs.cmu.edu/~gzen</gzen:homepage>
  </gzen:personalInfo>

  <gzen:skills>
    <gzen:skill>UML</gzen:skill>
    <gzen:skill>BPMN</gzen:skill>
    <gzen:skill>Java</gzen:skill>
    <gzen:skill>C/C++</gzen:skill>
    <gzen:skill>EJB (JBoss)</gzen:skill>
    <gzen:skill>XML/XSL/XSD</gzen:skill>
    <gzen:skill>SQL</gzen:skill>
    <gzen:skill>DBMS (MySQL, PostgreSQL, Oracle)</gzen:skill>
    <gzen:skill>Visual Basic</gzen:skill>
    <gzen:skill>Crystal Reports</gzen:skill>
    <gzen:skill>Windows</gzen:skill>
    <gzen:skill>Unix</gzen:skill>
  </gzen:skills>

  <gzen:works>
    <gzen:work>
      <gzen:start>
        <gzen:month>
          08
        </gzen:month>
        <gzen:year>
          2008
        </gzen:year>
      </gzen:start>
      <gzen:end xsi:nil="true"/>
      <gzen:employer>University of Pittsburgh</gzen:employer>
      <gzen:location>Pittsburgh, PA</gzen:location>

      <gzen:position>Software Quality Assurance Test Engineer</gzen:position>
      <gzen:duties>
        <gzen:duty desc="Automated the edit requirements testing process (implementation in progress)">
          <gzen:task>
            <gzen:concept>
              Redesigned the edit requirements specification template to be machine-readable to enable automatic edits testing
            </gzen:concept>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Engineered a generic frame-independent web form testing application in SilkTest
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
      </gzen:duties>
    </gzen:work>
    <gzen:work>
      <gzen:start>
        <gzen:month>
          08
        </gzen:month>
        <gzen:year>
          2007
        </gzen:year>
      </gzen:start>
      <gzen:end xsi:nil="true"/>
      <gzen:employer>Carnegie Mellon University</gzen:employer>
      <gzen:location>Pittsburgh, PA</gzen:location>

      <gzen:position>Research Programmer</gzen:position>
      <gzen:duties>
        <gzen:duty desc="Implemented research ideas on dynamic action list prioritization for the RADAR system">
          <gzen:task>
            <gzen:concept>
              Constructed and integrated into RADAR a software component for prioritizing action lists
            </gzen:concept>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Processed the data from expert user studies to generate the training set for the action list prioritizer
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
      </gzen:duties>
    </gzen:work>
    <gzen:work>
      <gzen:start>
        <gzen:month>
          02
        </gzen:month>
        <gzen:year>
          2007
        </gzen:year>
      </gzen:start>
      <gzen:end>
        <gzen:month>
          06
        </gzen:month>
        <gzen:year>
          2008
        </gzen:year>
      </gzen:end>
      <gzen:employer>Self-employed</gzen:employer>
      <gzen:location>Pittsburgh, PA</gzen:location>

      <gzen:position>Software Process Consultant at invivodata&#174;, inc.</gzen:position>
      <gzen:duties>
        <gzen:duty desc="Analyzed and improved the client's software localization process">
          <gzen:task>
            <gzen:concept>
              Created UML activity diagrams for the original process to help identify points of improvement
            </gzen:concept>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Deployed a Subversion-based process to improve revision tracking and control of localization artifacts
            </gzen:concept>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Authored a software requirements specification document for a software localization system aimed to streamline the localization process
            </gzen:concept>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Architected and constructed a software screen scraping tool to shorten the time required to capture screens for translation and review
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
      </gzen:duties>
    </gzen:work>
    <gzen:work>
      <gzen:start>
        <gzen:month>
          01
        </gzen:month>
        <gzen:year>
          2006
        </gzen:year>
      </gzen:start>
      <gzen:end>
        <gzen:month>
          05
        </gzen:month>
        <gzen:year>
          2007
        </gzen:year>
      </gzen:end>
      <gzen:employer>Carnegie Mellon University</gzen:employer>
      <gzen:location>Pittsburgh, PA</gzen:location>

      <gzen:position>Master of Software Engineering Fellow</gzen:position>
      <gzen:duties>
        <gzen:duty desc="Conducted research on task management topics, particularly dynamic action list prioritization">
          <gzen:task>
            <gzen:concept>
              Formulated the prioritization problem as a classification problem where task features--both static (e.g. type and self-initiated indicators) and dynamic (e.g., time context and past activities)--are mapped to nominal priority values
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
        <gzen:duty desc="Performed teaching assistant duties in support of administering Master of Software Engineering courses">
          <gzen:task>
            <gzen:concept>
              Designed and led recitation classes, lectured topics in UML, and created and enhanced homework problems
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
      </gzen:duties>
    </gzen:work>
    <gzen:work>
      <gzen:start>
        <gzen:month>
          05
        </gzen:month>
        <gzen:year>
          2003
        </gzen:year>
      </gzen:start>
      <gzen:end>
        <gzen:month>
          08
        </gzen:month>
        <gzen:year>
          2004
        </gzen:year>
      </gzen:end>
      <gzen:employer>NYFIX, Inc. (Javelin Technologies, Inc.)</gzen:employer>
      <gzen:location>New York, NY</gzen:location>

      <gzen:position>Client Support Engineer</gzen:position>
      <gzen:duties>
        <gzen:duty desc="Provided support services and software integration solutions for the company's FIX protocol engine and other utilities">
          <gzen:task>
            <gzen:concept>
              Advised systems analysts and developers from a number of financial institutions on integrating their order management systems with the Appia FIX engine
            </gzen:concept>
            <gzen:elaboration>
              Suggested hardware, software, and middleware - RMI, socket (raw or via Java, C++, or ActiveX toolkit), MQ, Tibco/RV, and JMS - configurations appropriate for the client's operating environment
            </gzen:elaboration>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Provided complete and proof-of-concept software solutions according to client business requirements
            </gzen:concept>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Aided clients in troubleshooting FIX connectivity issues and session- and application-level messaging errors
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
      </gzen:duties>
    </gzen:work>

    <gzen:work>
      <gzen:start>
        <gzen:month>
          06
        </gzen:month>
        <gzen:year>
          1997
        </gzen:year>
      </gzen:start>
      <gzen:end>
        <gzen:month>
          08
        </gzen:month>
        <gzen:year>
          2002
        </gzen:year>
      </gzen:end>
      <gzen:employer>REF Computer Corporation</gzen:employer>
      <gzen:location>New City, NY</gzen:location>

      <gzen:position>Software Engineer</gzen:position>
      <gzen:duties>
        <gzen:duty desc="IT Consultant for Merrill Lynch - Retirement Group Technology in Hopewell, NJ (since 1998)">
          <gzen:task>
            <gzen:concept>
              Reengineered, enhanced, and maintained, with a group, the 401(k) Participant Service Representative client software system and custom middleware
            </gzen:concept>
            <gzen:elaboration>
              Performed systems analysis and design according to business requirements on 401(k) disbursements (with rollovers and in-kinds), loans, corporate actions, real-time trading, etc.
            </gzen:elaboration>
            <gzen:elaboration>
              Constructed ad hoc systems such as test-environment changer and database-change tracking system to increase productivity in using and deploying the client software
            </gzen:elaboration>
            <gzen:elaboration>
              Technologies used include Visual C++, Windows NT, and PVCS for the client system; PL/SQL for Oracle stored procedures and triggers; Unix ksh scripting, C++, Java, and XML for batch (ftp) updates to Oracle (on Solaris); VB, Access, and Crystal Reports for ad hoc support systems
            </gzen:elaboration>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Designed and constructed, with a group, the 401(k) Unitized Fund Accounting System
            </gzen:concept>
            <gzen:elaboration>
              Technologies used include VB and Crystal Reports for the client system; SQL on DB2 for data-retrieval
            </gzen:elaboration>
          </gzen:task>
          <gzen:task>
            <gzen:concept>
              Created the design document for the 401(k) Corporate Actions system upon which the document template for Systems Analysis and Design for the Retirement Group division was based
            </gzen:concept>
          </gzen:task>
        </gzen:duty>
        <gzen:duty desc="Performed coding enhancements, client-site installations, and technical support services for the REF records conversion software">
        </gzen:duty>
        <gzen:duty desc="Administered the Windows NT 4.0 network for REF Computer Corporation (1997-1998)">
        </gzen:duty>
      </gzen:duties>
    </gzen:work>

    <gzen:work>
      <gzen:start>
        <gzen:month>
          04
        </gzen:month>
        <gzen:year>
          1995
        </gzen:year>
      </gzen:start>
      <gzen:end>
        <gzen:month>
          04
        </gzen:month>
        <gzen:year>
          1997
        </gzen:year>
      </gzen:end>
      <gzen:employer>Department of Science and Technology - Advanced Science and Technology Institute</gzen:employer>
      <gzen:location>Metro Manila, Philippines</gzen:location>

      <gzen:position>Student Assistant</gzen:position>
      <gzen:duties>
        <gzen:duty desc="Engineered, with a group of 5 people, the DOST-ASTI image processor for the DSRT weather satellite">
        </gzen:duty>
        <gzen:duty desc="Developed, with a group of 5 people, the DOST-ASTI Private Automatic Branch Exchange General Accounting System">
        </gzen:duty>
        <gzen:duty desc="Constructed, with a group of 3 people, a dormitory-records management system">
        </gzen:duty>
      </gzen:duties>
    </gzen:work>
  </gzen:works>

  <gzen:education>
    <gzen:program>
      <gzen:start>2004</gzen:start>
      <gzen:end>2005</gzen:end>
      <gzen:school>Carnegie Mellon University</gzen:school>
      <gzen:location>Pittsburgh, PA</gzen:location>
      <gzen:degree type="Master of Software Engineering">
         <gzen:major xsi:nil="true"></gzen:major>
      </gzen:degree>
    </gzen:program>

    <gzen:program>
      <gzen:start>1998</gzen:start>
      <gzen:end>2002</gzen:end>
      <gzen:school>Columbia University</gzen:school>
      <gzen:location>New York, NY</gzen:location>
      <gzen:degree type="Master of Science">
         <gzen:major>Computer Science</gzen:major>
      </gzen:degree>
    </gzen:program>

    <gzen:program>
      <gzen:start>1993</gzen:start>
      <gzen:end>1997</gzen:end>
      <gzen:school>University of the Philippines</gzen:school>
      <gzen:location>Diliman, QC</gzen:location>
      <gzen:degree type="Bachelor of Science">
        <gzen:major>Computer Science</gzen:major>
      </gzen:degree>
      <gzen:honors>
        <gzen:honor>Cum Laude honors conferred</gzen:honor>
      </gzen:honors>
    </gzen:program>
  </gzen:education>

  <gzen:projects>
    <gzen:project organization="Carnegie Mellon University" timeframe="2008" title="Experiences in Engineering Active Replication into a Traditional Three-tiered Client-server System (Publication)" link="http://www.cs.cmu.edu/~gzen/publications/#zs-serene">
      <gzen:concept>Co-authored a workshop paper to report our experiences in incorporating active replication into a system following the three-tiered client-server architecture style.</gzen:concept>
      <gzen:elaboration>.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="Carnegie Mellon University" timeframe="2005-present" title="RADAR-TM (Reflective Agents with Distributed Adaptive Reasoning-Task Management)">
      <gzen:concept>Collaborated with a group to design an intelligent prioritizing action list that dynamically reorders tasks along changing time and activity contexts. The reordering behavior is learned from experts' usage of the RADAR action list.</gzen:concept>
      <gzen:elaboration>.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="Carnegie Mellon University" timeframe="School Year 2004-2005" title="ATGen-Arch (Architectural Test Generator: Architecture Specification Subsystem)">
      <gzen:concept>Collaborated with a group to architect a subsystem to specify microprocessor properties relevant to architectural test generators. The project involved the selection of a microprocessor architecture description language (ADL) best suited for generating tests, the design of an efficient internal data model for storing microprocessor architectural properties, and the creation of an application programming interface (API) for querying those properties.</gzen:concept>
      <gzen:elaboration>.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="Carnegie Mellon University" timeframe="Spring 2005" title="High-performance Fault-tolerant Distributed Banking System">
      <gzen:concept>Collaborated with a group to formally design and implement an efficient and actively replicated distributed banking system.</gzen:concept>
      <gzen:elaboration>The project invovled discovering the balance between the competing quality attributes of availability, real-time behavior, and performance.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="Columbia University" timeframe="Summer 2003" title="A Goal-directed Search for Hard Bin-packing Problem Instances (Term Paper)">
      <gzen:concept>Presented an initial investigation of the hard instances of the bin-packing problem leveraging on previous work on the Satisfiability (SAT) problem.</gzen:concept>
      <gzen:elaboration>The search primarily involved the use of polynomial-time reductions of NP-complete problems.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="Columbia University" timeframe="Fall 2000" title="XML Browser for the PalmOS">
      <gzen:concept>Created an XML Browser for the PalmOS patterned after the Microsoft Internet Explorer 5.5 XML Tree View.</gzen:concept>
      <gzen:elaboration>James Clark's EXPAT 1.0, an efficient non-validating XML parser, was ported onto the Palm platform.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="Columbia University" timeframe="Fall 1998" title="Distributed Data Filtering System">
      <gzen:concept>Collaborated with a group to design and construct a framework for distributed data filtering in Java.</gzen:concept>
      <gzen:elaboration>DDFS was demonstrated to handle news feed processing. News feeds were filtered into XML documents and stored into a database for efficient archive searching. JDK 1.1 (with RMI) was used.</gzen:elaboration>
    </gzen:project>

    <gzen:project organization="University of the Philippines" timeframe="School Year 1996 - 1997" title="Connect: Java Data Conferencing">
      <gzen:concept>Managed a group to plan and build Connect, an Internet data conferencing solution to distance learning.</gzen:concept>
      <gzen:elaboration>Connect was demonstrated implementing the automated version of University of the Philippines Open University (UPOU). The research involved Distance Education topics, TCP/IP, and JDK 1.0.2/HTML.</gzen:elaboration>
    </gzen:project>
  </gzen:projects>

  <gzen:associations>
    <gzen:association name="Association for Computing Machinery (Member since 2003)">
      <!-- gzen:membershipDetails>
        <gzen:membershipDetail>ACM Special Interest Group on Simulation and Modeling</gzen:membershipDetail>
      </gzen:membershipDetails -->
    </gzen:association>
  </gzen:associations>

  <gzen:awards>
    <gzen:award>The Honor Society of Phi Kappa Phi (Member since 1997)</gzen:award>
    <!--gzen:award>Smart Communications, Inc. Academic Excellence Award (1997)</gzen:award-->
  </gzen:awards>

</gzen:resume>
