Summary
I am a software engineer generalist looking for interesting work.
Relevant Skills and Knowledge
Programming languages: Java, Velocity, Hadoop map-reduce, SQL (PostgreSQL, Oracle 10, MySQL, Sybase), HTML, CSS, JavaScript/DOM, bash
Frameworks and APIs: JAX-RS, Elasticsearch (kibana, Sense UI), Spring, Spring MVC, jQuery, Hibernate, JMS
Software and tools: Maven, Eclipse, jboss, Unix shells and utilities (awk, sed, make, cron), Git, Perforce, CVS, Linux, Redis, Memcached, Talend, oozie
Senior Software Engineer
TrueCar (Santa Monica, CA)
January 2015-current
Served in the Data Engineering group, responsible for processing data from many disparate sources to be used for analysis and various other APIs.
Technologies used: Hadoop, map-reduce, Hbase, Elasticsearch, Talend, oozie, avro
Achievements:
- Wrote a simple web service for recording data processing metrics in order to monitor data quality of various data pipelines.
- Wrote a Talend workflow and a series of Hadoop map-reduce jobs for processing automotive incentive data from multiple data sources into a unified format and put into an Elasticsearch index. I also wrote a service library for querying the data.
- Developed a series of Hadoop map-reduce jobs and an oozie workflow for analyzing automotive sales data, writing the results to hdfs in Avro as well as Elasticsearch. I created a kibana dashboard for sanity-checking the data.
Staff Software Engineer
Walt Disney Parks and Resorts Online (Glendale, CA)
February 2013-January 2015
Served as one of the Technical Leads for the Cart/Commerce vertical on the NextGen platform for the Walt Disney World and Disneyland Resort websites.
Technology stack: MySQL, PHP (Zend), Java (Spring/Tomcat), Couchbase, jQuery, REST web services.
Achievements:
- Responsible for being the technical point of contact to upper management, business analysts, project management, and miscelaneous other groups for the platform shopping cart and commerce sub-systems.
- Managed the technical implementation and successful launch of several projects including the introduction of new product types (Memory Maker, CityPASS), support for Special Offers, and the migration of the Disneyland Resort website onto the new platform.
- Oversaw architectural changes to APIs to improve performance and enable extensibility.
- Attained a high-level, technical understanding of many complex systems on both the front-end and back-end, including the product metadata management system, commerce analytics, integration with back-end fulfillment systems, targetted promotions, site/brand management, and site resiliency systems. I have submitted Java, PHP, SQL, and Javascript code into repositories for at least 8 different systems.
Senior Software Engineer
Activision - Beachhead Studio (Santa Monica, CA)
February 2012-January 2013
Worked on the relaunch of the Call of Duty Elite 2.0 website, a community website for players of the Call of Duty Black Ops, Modern Warfare 3, and Black Ops II games. Participated in the development of new features, performance optimizations, and rearchitecture of the website to support the launch of Call of Duty: Black Ops 2, the largest entertainment launch of 2012.
Technology stack: MySQL, PHP (Kohana), Java (Spring/Tomcat), Apache Thrift, Redis, jQuery, jQuery Tools, REST web services.
Achievements:
- Fixed a major performance bug in the PHP stack on my first week on the job despite having no prior experience with PHP.
- I developed off of two full stacks of web applicaiton software (PHP/Kohana and Java/Spring) that had been built previously by 19 outside contractors. Much of the code was sparsely documented and the original authors were not available for support. I fixed many long-standing bugs along the full stack (front-end and back-end). The bug fixing was done while also managing to work on new features and redesigns.
- Served as a Scrum Team Lead on the development of features to support the launch of the Black Ops II game.
- Mentored both front-end and back-end engineers.
- Supported outside contractors in the developement of new features.
- Developed an Apache Thrift service in Java for fetching and manipulating user data.
Senior Software Engineer
Sony Network Entertainment (Los Angeles, CA)
January 2007-Februay 2012
Worked in a team of 4 software engineers creating a back-end Java web-application for managing metadata, pricing information, and art assets for digital video and comic book products for Sony's Playstation Network.
Technology stack: Oracle RDBMS, Tomcat Application Server, Hibernate, Spring MVC, Velocity templating engine, jQuery, DWR, Maven, Perforce, Quartz, Oracle AQ (JMS).
Achievements:
- I was involved in the development of the application from the ground up, helping make decisions on the ORM layer, the view layer, and the build management system.
- Mentored other senior software engineers on various topics such as HTML DOM, Javascript, CSS, and Hibernate.
- Worked directly with internal stakeholders in Creative Services to flesh out requirements for the rewrite of their tools and the development of new features. I authored the functional specifications for these projects in addition to doing the bulk of the implementation.
- Designed (both from a UI and technical perspective) and developed tools for rescheduling and repricing several products en masse.
- Wrote the cluster-wide pessimistic locking API.
- Wrote several tools that helped with troubleshooting and debugging including Velocity macros for debugging servlets/controllers, a tool for testing HQL query syntax, and a tool for dynamically changing log level settings during runtime.
- Designed and implemented a tool for populating a data-entry form via XML file upload.
- Designed and implemented the integration of a third-party software package for managing archive files for digital comic books. Communications was handled via a web API.
- Helped another team with the development of a tool for managing the workflow of the encoding of video files when that project got severely behind schedule.
- Reverse-engineered Sony's proprietary MP4 metadata embedding when I was tasked with writing a metadata extractor and was not able to get a specification.
Senior Software Engineer
PlayFirst Incorporated (San Francisco, CA)
September 2004-October 2006
PlayFirst is a developer, publisher, and distributor of popular downloadable casual games. My primary responsibility was to develop the website for distribution of these games. The site was initially developed by myself and one other engineer and saw exponential growth in registered users and sales during my employment.
Technology stack: PostgreSQL RDBMS, Jboss Application Server on Linux, Hibernate, Struts, JSP, raw Javascript, Ant, Perforce.
Achievements:
- Built PlayFirst.com's e-commerce system which included the shopping cart, a flexible coupon code/discount system, and integration with the credit card processing gateway.
- Built the catalog management system.
- Developed site administration tools including tools for managing customer accounts, programming/publishing of site content, and reporting of site data.
- Wrote all of the production HTML for the site which included some intermediate CSS and DHTML (most of this code is no longer on the site as the site was redesigned a year after I left).
Senior Software Engineer
Bigstep.com/Affinity Internet (San Francisco, CA)
July 2000-September 2004
Bigstep.com provided online store hosting services for small businesses.
Technology stack: Oracle RDBMS, ATG Dynamo application server, JDBC, JHTML, cvs
Achievements:
- Integrated Bigstep.com's user authentication, customer registration, and customer billing system with Affinity Internet's upon being acquired. The integration utilized an XML-RPC API.
- Having been one of the few survivors of three major rounds of layoffs I have been able to quickly and independently take over poorly documented software systems that I had previously no knowledge of, applying enhancements and quick fixes in emergency situations. These fixes included database query optimizations and thread-safety bug fixes.
- Took over as Technical Lead of Bigstep's customer billing system which is an integration with Portal's Infranet billing software in order to handle a massive account cleanup project after the system had been misconfigured for more than a year. Also served as the technical contact for Accounting.
- Served as Technical Lead on the release to transition Bigstep's services from free to fee-based. The successful release of this project allowed Bigstep to survive the dot-com bust and get acquired.
- Maintained and enhanced several systems including a custom FTP server developed in Java, the e-commerce system that enables Bigstep users to process payments from shoppers, and the publishing system that lets Bigstep users maintain their online storefronts.
Senior Software Engineer
Cnet/NBC Internet (San Francisco, CA)
March 1997-May 2000
Worked primarily on content portal website Snap.com as it was spun-off of Cnet and acquired by NBC to be merged with NBC's other Internet properties. At its peak, the site received 15 million daily page requests on more than 120 co-branded versions.
Technology stack: Sybase, Vignette StoryServer, TCL templates, make, cvs.
Achievements:
- Served as the team lead to develop a next generation system for editing, assembling, previewing, and scheduling website content. This tool was utilized for the NBCi portal site, various NBC television sites, and AccessHollywood.com.
- Architected a system for creating and managing multiple co-branded versions of the Snap.com website.
- Wrote a tool for editing and maintaining a large directory of websites.
- Mentored and trained junior developers to assume ownership of the system for managing the harvesting of HTML files and other data from external content partners. The tool was written using Progress Apptivity, a Java Application Server.
- Designed and developed the initial version of Snap.com's search engine front-end which interfaced with a Verity search index. This software was written in C as an NSAPI web server extension module to optimize performance.
Programming Intern
Jet Propulsion Laboratories (Pasadena, CA)
January 1994-July 1994
Served as a college intern in the Imaging Radar Group of this NASA lab and returned the following summer (May-September 1995) upon graduation.
Achievements:
- Coded an imaging utility for the X-Windows interface using Motif and the X Toolkit
- Wrote C programs for processing and analyzing radar image data for a group involved in the tracking of glacier movement
- Ported and updated a weather prediction system simulation from Fortran to C
Education
- M.S. in Computer Science, December 1996. Specialization in Human-Computer Interaction.
Stanford University
- B.A. in Computer Science, May 1995. Graduated with honors.
University of California at Berkeley
Last modified 10 May 2014.