schmick@usa.net · http://www.schmick.org
A Bit Lucky, Inc., San Mateo, CA
Lead Backend Engineer, 1/10 – Present
Lead backend engineer for a team developing the new generation of social games.
Responsibilities:
Implemented game server and other relevant backend services required for supporting live games.
Implemented many features end to end, from backend to protocol to client.
Refactored major systems in both client and backend as code base grew.
Informed and recommended backend technology choices and changes as needs evolved.
Built and managed build machines, processes, and scripts.
Monitored and supported live services, investigating critical issues and bugs that arose.
Participated in planning, design, and architecture meetings, bringing up technical limitations or concerns for various features.
Tools and technologies:
Ruby, Rails, MySQL, MemCache, Heroku, Amazon Web Services, Facebook API, PayPal API, Google Analytics API, Kontagent API, jQuery, ActionScript 3, JSON, Ant, IntelliJ IDEA, SVN, Linux
Electronic Arts, Redwood Shores, CA
Lead Engineer, Contractor, 7/09 – 12/09
Lead engineer for small team developing an unreleased casual multi-player browser-based game in Flash.
Responsibilities:
Generated and documented standard development, build, documentation, and publish process for team to improve productivity and stability.
Evaluated existing code base and technologies and made recommendations regarding what to change.
Replaced existing slow PHP based backend and verbose protocol over AMF-PHP with faster Java based backend using custom compact binary protocol over HTTP.
Participated in weekly planning meetings serving technical and development director roles to determine release cycle and deadlines, included features, and resources allocated to each.
Implemented many game features and frameworks, including client and backend work, as well as unit and load tests.
Tools and technologies:
Java 1.6, J2EE, Apache, PHP, Perforce, JUnit, JSON, JDBC, C3P0, MySQL, Hibernate, Ant, Tomcat, Ruby, ActionScript 3, Flex 3, Flash CS4, Windows
Trion World Networks, Redwood Shores, CA
Software Engineer, Contractor, 5/09 – 7/09
Primary engineer on small team developing unreleased iPhone prototype project.
Responsibilities:
Implemented application logic and features in Unity, including custom JavaScript.
Wrote custom web-based commit comments browser for Unity Asset Server in Perl.
Tweaked Unity-generated Objective C code to customize application loading sequence.
Debugged and tested applications on various devices.
Tools and technologies:
Xcode, Unity iPhone, Unity Asset Server, Mac OS X, JavaScript (Mono's Jscript.NET), Objective C, Perl
KDR Software, Foster City, CA
Lead Engineer, Personal Project, 9/08 – 11/09
Primary engineer on small team developing iPhone applications.
Responsibilities:
Implemented application logic and features in Unity, including using built-in objects and scenes and customizing them with JavaScript.
Added custom code to Unity-generated Objective C code in Xcode project to interject AdMob into our free applications.
Debugged and tested applications on devices, including all required steps to provision and certify devices and builds.
Completed the release build and submission process for applications.
Tools and technologies:
Xcode, Unity iPhone, Unity Web, Unity Asset Server, Mac OS X, JavaScript (Mono's Jscript.NET), Objective C
Digital Chocolate, San Mateo, CA
Game Development Lead, 7/06 – 02/09
Principal Engineer, 9/05 – 6/06
Senior Software Engineer, 7/04 – 8/05
Began as the first server-side engineer for small mobile games and applications startup and helped grow the team. Taking a leadership role, quickly advanced up the ranks to a lead position when the team was broken into two groups.
Responsibilities:
Worked on team implementing new community-related features for client games, while maintaining backwards compatibility with all previously released clients.
Participated in design and implementation of server-side games and related large scale community features, including auto-registration, SMS messaging framework, and extensive leader boards system. design and implementation of re-engineered Java application.
Served as lead for game development team, including managing release plans, working with Studio, Business Development, and other departments as customers, driving the XP process, and supervising other developers, while at the same time continuing to largely contribute to implementation.
Tools and technologies:
JSP, Struts, Java 1.5, J2EE, XML, JSON, CVS, FishEye, Clover, JUnit, MySQL, Hibernate, Ant, Tomcat, Linux, Ruby, Rails, ActionScript 3, Flash CS4
Lexicon Genetics, The Woodlands, TX
Software Engineer, 6/03 – 5/04
Software development team member for large scale web application at a drug discovery company that was used by internal scientists.
Responsibilities:
Maintained and enhanced existing legacy PHP application, maintained and administered database.
Participated in design and implementation of re-engineered Java application.
Designed and implemented backend tool in Java to populate Oracle databases from a master Oracle database based on complex rules defined in XML configuration files, authored DTDs and XML configuration files to support tool, and wrote XML parser to read configuration files and populate business objects used by tool.
Tools and technologies:
JSF, JSP, JSTL, XML, CSS, JUnit, SQL, PL/SQL, Oracle, MySQL, MySQL Front, sqlplus, Ant, Tomcat, JBoss, UML, CVS, Windows, Solaris
Enron Broadband Services, Houston, TX (Acquisition of Modulus Technologies 12/98)
Senior Software Engineer, 8/00 – 12/01
Software Engineer, 12/98 – 8/00
Software development team member for a variety of applications at a large energy company.
Responsibilities:
Worked with team to design and implement web-based application for bandwidth traders that displayed daily status of network boxes.
Worked with team to design and implement application that made network reservations for data transfer.
Worked with team to deliver a reporting solution to meet needs for a contract with MSN.
Helped develop the QA department, including defining standards and procedures and teaching a class on scripting.
Tools and technologies:
Java, C, C++, Swing, Java Socket API, JNDI, JDBC, RMI, EJB, JSP, J2EE, Perl, CGI, Tomcat, Ant, Apache, HTTP, XML, UML, Oracle, SQL, sqlplus, ClearCase, Windows, Solaris.
Modulus Technologies, Houston ,TX
Software Engineer, 5/97 – 12/98
Software development team member for message-oriented middleware at a small startup.
Responsibilities:
Implemented bug fixes and new features in application code and writing unit tests.
Assisted in testing and debugging first JMS (Java Messaging Service) implementation.
Designed and implemented an automated, multi-platform, distributed testing utility that sent out daily test results via email.
Tools and technologies:
C, Java, C++, AWT, JMS, JavaScript, Perl, Visual C++, Visual J++, gdb, InstallShield Express, Purify, Pure Coverage, Frame Maker, HTML, CVS, Windows, AIX, HPUX, Linux, Solaris..
Rice University, Houston, TX
B.A., Psychology and Linguistics
Cumulative GPA of 3.69, Major GPA of 3.70
President’s Honor Roll every semester
Cum Laude