
Founder/Software Consultant at Grove Hill Software
Greater Boston Area

Founder/Software Consultant at Grove Hill Software
Greater Boston Area
I'm a software consultant with considerable design and development experience in Java/J2EE who's interested in solving complex problems, particularly those involving concurrent programming. I'm passionate about expanding my knowledge of technologies. I've built a simple Swing app in Groovy and worked on two client projects involving Grails. I've also taken a look at the Scala language (http://www.scala-lang.org/), which takes a very interesting approach to concurrent programming.
Design patterns and OO design generally
Java (concurrent programming, JDBC, servlets/JSPs, JDOM, Castor, RMI, applets, JavaBeans, Swing, log4j, reflection)
Oracle, SQL Server, Access, and ObjectStore
HTML/JavaScript, XML, and XML Schema
Various design/development/deployment tools and app servers
(Computer Software industry)
September 2007 — Present (2 years 3 months)
- Help a micro-ISV rearchitect and refactor a Java web-based reporting, charting, and analysis product to improve scalability and simplify future maintenance.
- Provide technical advice to an early-stage startup building a Groovy/Grails web application in the education finance space.
- Create a custom Grails web application to help a small business track the time of employees and subcontractors.
- Founded a private professional network for consultants
(Privately Held; 11-50 employees; Computer Software industry)
December 2005 — September 2007 (1 year 10 months)
- Lead of the UI team at a company developing a large Swing-based application that integrates with mechanical CAD software to provide real-time manufacturing cost estimates.
- Drove the architecture of the UI layer, including ongoing refactoring and education to make sure the code moves toward that architecture.
- Developed a Task Queue infrastructure that substantially simplifies the process of implementing tasks that require execution across multiple threads.
- Used Abbot, an extension to JUnit, to incorporate unit and smoke tests for the UI into our build.
- Managed two developers, including mentoring a junior developer.
- Worked with the UI Designer, other Development team leads, Product Management, and QA to uncover and clarify all UI requirements as early in the development cycle as possible.
(Privately Held; Computer Software industry)
April 2004 — November 2005 (1 year 8 months)
- Design and develop modules for a SaaS company providing collaborative and secure document sharing services to the financial and pharmaceutical industries.
- Work with a massively scalable architecture (150,000+ total users) backed by clustered web/application/database servers.
- Use several enterprise technologies, including Oracle, J2EE (EJBs, Servlets, and JSPs) on WebLogic 8.1/9.0, Struts, and Spring.
(Privately Held; 11-50 employees; Computer Software industry)
October 2003 — March 2004 (6 months)
RESCUE: A J2EE based Web application for managing the lifecycle of digital assets from draft to physical production.
ACROSS: Leverages RESCUE to make digital assets directly available to customers.
- Deployed on WebLogic.
- Used the Cocoon XML MVC framework running under Tomcat for the presentation layer.
- Configured HTTPS on Tomcat and WebLogic, including obtaining certificates from Thawte and Verisign.
- Set up a data access layer using prepared statements with Oracle.
- Used Java NIO to efficiently process large file transfers.
- Incorporated secure sockets to encrypt the network traffic.
- Exposed session bean facades to provide access to entity beans and their associated data via Bean Managed Persistence (BMP) and container managed transactions.
(Public Company; 5001-10,000 employees; BMC; Computer Software industry)
June 2001 — September 2003 (2 years 4 months)
Performance Perceiver [originally known as PATROL Perceive] (provides custom views of several different forms of performance data within a web browser)
- Directly involved with the development of the product from earliest design and prototype through two releases.
- Co-designed common data infrastructure.
- Developed implementations of the data infrastructure for two proprietary data sources, along with implementations for several databases (Oracle 8i and 9i, SQL Server, and Access) using JDBC.
- Used Castor (Java data binding) and JDOM to access and edit XML configuration files.
- Created main ant build file, which invokes ant on several sub-projects, including one which compiles and links a large C++ project.
- Used Java Cryptography Extension to provide symmetric encryption of all password data.
- Incorporated the log4j logging package and provided training to developers and technical support on its use.
(Educational Institution; 1-10 employees; Computer Software industry)
August 1998 — May 2001 (2 years 10 months)
- Starting with only a prototype, designed a Web-based biological field guide and tools for importing field guide data.
- Wrote classes using JDOM to handle XML input files and dynamically generate HTML/XML output.
- Provided image-based access to field guides through Swing applets communicating with Java Servlets, along with text-based searches using Servlets and JSPs.
- Used JavaBeans to encapsulate business logic and represent data from an ObjectStore database, extracted with a custom-coded, thread-safe connection pool.
- Created a data import tool using JDBC for extracting field guide data from biologists' FileMaker Pro and Access databases and add it to an ObjectStore database.
- Wrote and maintained a sophisticated ant build, including a custom ant task that post-processed classes for use with ObjectStore.
- Trained other developers as they joined the project.
M.S. , Computer Science , September 1998 — May 2001
- Implemented a datalink layer network protocol in C.
- Built a functional spreadsheet application in Java (Swing) from detailed specifications.
- Designed and built an optimizing compiler for a subset of C.
- Authored a research paper detailing the technical, legal, and ethical issues surrounding three file sharing protocols.
B.A. , History , September 1991 — May 1996
Taiko (Japanese drumming), Scala, Groovy/Grails
Boston Scalability User Group, Boston Grails Users' Group, New England Java Users Group (NEJUG), Boston Java Meetup, Odaiko New England Community Member
- Sun Certified Web Component Developer for Java 2 Platform, Enterprise Edition
- Sun Certified Programmer for the Java 2 Platform