Matthew Robert McEachen
PO Box 2735
::
El Granada, CA 94018
::
::
http://matthew.mceachen.us/
Dedicated and successful software architect and
lead developer with more than 15 years of professional software
development experience in a wide array of markets.
- More than 10 years of professional development experience using Ruby on Rails and Java for object design and programming
(j2se/j2ee), designing highly-available, multi-tenant web/SaaS
applications, XML/SOAP/REST servers, and rich client applications,
using JDBC/ORM
or XML to interface to backing data stores
- Won the JavaOne Coding Challenge
- Excellent analytical and creative problem solving skills, both
individually and as a member of a team
- Excellent oral and written communication skills
- UI design/HCI for both web and rich
client applications
(HTML/DOM, jQuery, Ruby on Rails,
Google Web Toolkit, Spring MVC, Java AWT/Swing, Macromedia
Director)
- More than 10 years of professional development experience on Unix
(Ubuntu, Debian, RedHat, Solaris), including shell scripting
and administration/security hardening
- More than 10 years of professional development experience with
RDBMS/ANSI-SQL (including MySQL and Sybase)
- Fluent in Perl and PHP
- More than 10 years of experience with Java Application Servers
(Resin, Jetty, Weblogic, Tomcat, and others)
Employment
May 2011 - present
Software Engineer
- Building things for Twitter on the Revenue team.
June 2010 - May 2011
Founder
- Building AdGrok, a Y Combinator-backed startup producing an in-context analytics and advice engine to help people with their internet marketing efforts. Acquired by Twitter.
Adchemy, Inc.
February 2006 - May 2010
Technical Lead, Principal Software Engineer
- Architect and implementor of Adchemy's initial pay-per-click bid management system, which included a patent-pending sparse-data analysis and estimation system.
- Architect and lead developer for Adchemy's flagship product, a multi-tenant software-as-a-service (SaaS) landing page optimizer leveraging regression analysis. The product is currently in closed beta.
CNET Networks
October 2004 - February 2006
Director, Product Catalog Engineering
- Lead and managed a team of 6 engineers in charge of
CNET's product catalog.
- Adopted agile project methodologies that
lead to a series of successfully launched, innovative projects that
improve data quality and streamline business workflow.
CNET Networks
July 2002 - October 2004
Senior Software Engineer
- Lead developer for CNET's product catalog management
tools. The tech stack used JSPs with DHTML and
Hibernate O/RM
- Developed CNET's dual-level enterprise caching infrastructure that
supported both bottom-up (JDBC ResultSet caching to a XML filestore) and top-down
(In-memory caching of DAO-produced JavaBeans), significantly improving page-generation
times and reducing database load.
- Developed the JavaCC grammar that
powered CNET's faceted product navigation.
- Was one of the primary developers in charge of migrating CNET's
50Mb of internally-developed Java-based software from Weblogic/Solaris to
Resin/Red Hat Linux in less than 2
months.
NetRequisite
January 2000 - July 2002
Founder, Software Architect & Senior Member of Technical Staff
- Contract employment from 2000 - 2002 is through NetRequisite, an e-business
consulting company that I co-founded.
- Designed and implemented much of Object
Telemetry, a white-box enterprise performance monitoring
toolset which was used as a critical differentiator in the crowded "boutique development" space.
CNET Networks
December 2001 - July 2002
Senior Contract Software Engineer
- Developed the UI for CNET's Sales Force Automation
tool for selling advertisments.
The Brodia Group
June 2000 - December 2001
Senior Contract Software Engineer
- As the engineering lead for Brodia's Consumer to Consumer
Payments project, designed and implemented a Risk Management
component, which provides a countermeasure for external fraud. The
technology is patent pending.
- Designed an open-sourced library to
provide the ability to partition an XML-parsing problem into discrete,
reusable components, while still using SAX. The Brodia Tapestry team
adopted the library for use in the presentation layer as well.
- Wrote the Transactor Wallet Servlet, and designed and wrote the
underlying XML-encoded protocol, ClientXML.
- Wrote business layer objects for Brodia's Transactor Platform,
including support objects for Visa's Three-D Secure Payer
Authentication protocol.
- Researched, designed and implemented the cryptographic library and
external interfaces to the library, which used the javax.crypto and
java.security APIs for runtime-bound cryptographic providers
(nCipher).
Providian Financial's Aria division
January 2000 - June 2000
Senior Contract Software Engineer
- As the senior engineer of Aria's Online Access engineering
team, architected and implemented their "foundation" packages,
providing common application services such as JDBC data object
pooling, runtime-configurable data caching, system logging, and an
xml-based data transport for communicating with the mainframe
datastores.
- Provided the presentation layer team with an objectified view of
the database tables required for the Online Access
functionality.
Bank of America
July 1998 - December 1999
Senior Contract Software Engineer, Architect
- As a member of Bank of America's Online Banking engineering
team, designed and wrote a number of application infrastructure
components, including a generic resource pooling mechanism. Online
Banking is a server-side Java2 application.
- Designed and instrumented a remote system monitoring framework
used by Online Banking. SysMon, an RMI-enabled JFC/Swing application,
can monitor any number of running Online Banking servers, gathering
status and statistics for the self-descriptive Remote System
Components currently being used by the server. SysMon can also render
aggregate statistic graphs, showing both historical and real time data
points for the monitored servers.
- Architected the object model for Online Banking's Bill Presentment
functionality. Application writers interface with a clean,
object-oriented "Bank Object" layer (like Customer, Payee, and Bill
objects), which proxy to multiple authoritative data sources.
Tenth Planet Explorations
September 1997 - July 1998
Lead Software Engineer
- Implemented three award-winning educational software products
that teach literacy skills to young children.
- Wrote an extensive library of drag-and-drop "behaviors" using an
object-oriented language designed for multimedia development. The
behavior library allowed for rapid prototype and application
development. Previous products had been implemented procedurally, and
required engineering effort for all product changes.
Enlighten Software Solutions
July 1995 - September 1997
Software Engineer
- Designed and implemented licensing and installation of
EnlightenDSM, which won UNIX Review's 1996 Outstanding System
Administration Product of the Year. Installation was done through a
Motif-based GUI. Licenses were granted through a web-based application
and licenses branded in the binary coupled to the inode.
- Ported EnlightenDSM services to Windows NT 4.0 Server.
- Redesigned EnlightenDSM 2.0 GUI.
- Co-designed the corporate web presence, performed corporate
system administration (email, web, ftp), and provided final-tier
customer support.
|
"The installation and
configuration was the easiest I have ever come across in Unix. The
user interface was clean and intuitive to work with."
INFOWorld, 11 Nov 96
|
"The organization and flow of
EnlightenDSM's installation procedure is as good as we have seen
... intuitive and easy to use."
UNIX Review, Oct 96
|
"Any time installing software on
Unix is easy - especially for something as difficult as systems
management - it's worth a mention. The install took us about an hour
from start to actual use."
Network Computing Online, 8 Nov 96
|
Education
Bachelor of Science in Computer Science from
University of California, Santa Barbara &
California State University, Hayward.
References are available upon request.