Chief Software and Operations Architect
Affectiva, Waltham, MA
Affectiva is an MIT Media Lab spin-off commercializing technology that reads peoples' emotions from their facial expressions. I'm a developer and the technical leader for the engineering and operations sides of the development organization. This includes applying the core technology to specific industries and applications such as market research, cloud API's, and mobile apps. We use a variety of technologies including Ruby on Rails, Python, Redis, and MySQL. We run our infrastructure on AWS and we use Chef and ad-hoc Python scripts to manage it.
Principal Software Systems Engineer (AC5)
The MITRE Corporation, Bedford, MA
June 2010-April 2013
MITRE is a non-profit consulting company that works with the US Federal Government. I worked in the "Open Services" group improving healthcare systems, often using open-source technology.
Senior Principal Engineer
Sermo, Cambridge, MA
May 2008-December 2009
Sermo runs the largest online physician community in the US. They started with a Java implementation and migrated to a hybrid that included both Java and Ruby on Rails components working cooperatively. I provided technical leadership on the Java implementation, architecture leadership for both the Java and Ruby implementations, and participated in the development of the Ruby components.
Consulting Engineer - Technical Architect
Reva Systems, Chelmsford, MA
April 2004-May 2008
Reva Systems is a venture-funded startup that makes an appliance (called the Tag Acquisition Processor or "TAP") that controls RFID readers. I designed the architecture and was the implementation tech lead for the "northbound" half of the appliance which interfaces with enterprise systems. This was an interesting development effort because the software had to both operate as a "sealed box" network component and as a platform for user-developed software. Figuring out how to embed J2EE technology was an interesting challenge.
I was the tech lead for the design and development of the Reva Multisite Manager which is a J2EE system that manages the clusters of Tag Acquisition Processors within an enterprise. The RMM polls the network of TAPs for status and statistics, stores that information in a database, and provides a web user interface for network health anaylsis and problem resolution.
In addition to software development (since Reva was a small startup at its inception) I managed much of the corporate IT infrastructure including file sharing, backups, and intranet services. Reva's network supports GNU/Linux, Windows, and Mac.
June 2002-April 2004
After Black Ink Systems went out of business I became an independent software consultant. I worked on several projects including building and operating an online antique clock auction, building an online vacation packaging system, and performing a "post-mortem" analysis of a large Federal Government transaction-processing system.
Chief Technology Officer
Black Ink Systems, Cambridge, MA
November 2001-June 2002
Black Ink Systems was a venture-funded startup that built financial analysis products for communications carriers. The software delivered real time financial data to business people which allowed them to make timely decisions, which in turn helped them improve their margins.
Black Ink's product, the "Black Ink Margin Suite" was a Java/J2EE "mother ship" with distributed data collection front-ends that fed data to the mother ship over asynchronous queues. It had web user interfaces, and a relational database. It was interesting in its ability to reconcile the very different (and usually conflicting) requirements of interactive reporting and high volume real-time processing, including cost calculation and programmable alerts and alarms.
Co-founder and Chief Technology Officer
SaltFire, Inc., Arlington, MA
January 2000-November 2001
SaltFire's "Accurio" was a J2EE transaction processing system designed for use where a complex "value chain" delivered products or services. It was implemented as a set of EJB's which performed business logic and a set of interfaces, to users and to other systems. The user interfaces used XML and XSLT to build web pages. The system interfaces allowed other systems to integrate using either EJB or XMLRPC interfaces.
As CTO I was responsible for our products' architecture and technology (and much of the development, too). It was cool stuff - a distributed object system using Java, J2EE and XML technology internally and Web technology for user interfaces.
Director / Manager
Kenan Systems / Lucent, Cambridge, MA
March 1996-January 2000
Kenan Systems was a small, independent software company; their flagship product was Arbor/BP, a billing system for communications carriers. Kenan doubled in size annually so I wore many hats including: lead technical architect, head of the benchmark group (responsible for benchmarking and capacity planning), head of several development groups (database, client/server, web applications), lead technical architect, and head of MIS. In 1999 Kenan was purchased by Lucent Technologies for 1.48 Billion Dollars, and was sold in 2002 to CSG Systems.
From March 1999 through January 2000 I built an Advanced Development organization which focused on improving our products' user interfaces and technology architecture. We built a Java/CORBA Web user interface and provisioning front-end for our existing billing system, and substantially improved the ease of use of our interfaces. I also managed the Internet development team who enhanced our products to make them more suitable for deployments in the internet industry.
From May 1996 through July 1998 I managed Kenan's "Technical Infrastructure Group" which was responsible for providing information services for the 200+ employees in the Cambridge office. TIG provided support for a wide range of user activities on a variety of platforms including Windows, Windows NT, and 5 different varieties of Unix. During my tenure we moved from Novell to SMB, and migrated the entire company (including 4 remote offices) from cc:Mail to a standards-based email solution.
From March 1996 through March 1999 I managed the development of the core components (invoice calculation, API's, database schema, and Web UI's) of Arbor/BP. BP is a very complex, terabyte-scale product which has been deployed worldwide. Under my leadership the Cambridge-based development group grew from 7 to 31 people, and Kenan successfully deployed more than 50 systems, added support for Oracle RDBMS, added full multi-currency support (including support for the Euro), and scaled to more than 50 million billing events per day at our largest site.
Engineer / Manager
GTECH Corporation, West Greenwich, RI
August 1986-February 1996
From February 1994 through February 1996 I managed the development of GTECH's online transaction processing application. This is a multi-tier application with proprietary transaction processors, a database back end, and Windows PCs for user interface. It's capable of 24-hour operation in a Lottery environment and transaction rates in excess of 2000 per second. It is fully fault-tolerant, up to and including losing the entire primary data center to a natural or man-made disaster. I managed a 'Reference Application' in much the same way that I did when I was in my previous role in the embedded group. This was much more powerful, though, since it included all of the various clients and servers at the same version so they all played together.
From April 1991 through February 1994 I ran the 12-person group that developed applications for GTECH's Lottery point-of-sale terminals. The application drives the user interface, peripheral control, and communications for the terminal. Prepared budgets, project plans, and performance reviews, hired staff and (where necessary) carried out layoffs. Established the policies and procedures which allowed us to do development on the terminal application as a product rather than a set of individual applications.
From August 1986 through April 1991 I wrote firmware in C and assembly language (Z80, 64180, 8031, 68000) for GTECH's terminals and peripherals. I had increasing responsibility from Associate Engineer through Group Leader.
Married, two kids, one dog.
Enjoy casual street and track motorcycle riding. I try to get off the bike only when it's standing still.
GNU Project volunteer coordinator.