Web Applications Developer. Versed in Java.
Software Engineer – 20+ years professional experience developing commercial software products:
Frameworks/Applications: Java EE, JBoss, Tomcat, Apache, Hibernate, JUnit, JNA/JNI. Previous Lucene, Solr experience.
Databases: Oracle, MySQL, MS SQL Server.
Tools: Eclipse, NetBeans, Ant, Maven, version control (Git, CVS, Subversion, AccuRev, VSS).
Operating Systems: Windows, Mac OS X, Linux, UNIX, DOS.
Methodologies: Scrum, Agile, Test Driven Development (TDD).
Harvard University Information Technology, Cambridge, MA Nov. 2014 – Current
Senior Software Engineer – Library Technology Services (LTS)
Design, implement, test and deploy software enabling the deposit, preservation, management and presentation of digital video assets as part of the Digital Repository Service (DRS) solution.
Streaming Delivery Service (SDS):
The SDS Application is responsible for delivering audio and video assets stored in the (DRS).
Implement and maintain a web-based video delivery application for SDS using the JW Player, JW Player APIs and Servlets/JSPs deployed on Apache Tomcat.
Investigate HTTP Live Streaming (HLS) using the JW Player and Wowza streaming server.
Implement and maintain a secure progressive download delivery architecture using cookies, unique file folder names, Apache HTTP Server and Apache Modules.
Implement and maintain several Node JS/Express microservices.
Recommend and implement Responsive Design in SDS UI using Bootstrap 3.x.
Object Tool Set (OTS):
OTS is responsible for creating, reading, writing and validating descriptor objects used by the DRS2 project. OTS supports the marshalling of PREMIS, MODS, MIX and other Java descriptor objects to XML and unmarshalling XML to Java objects.
Implement and maintain video content model support in OTS. A subset of EBUCore is used to support the video model.
Implement and maintain JUnit Tests and Suites.
File Information Tool Set (FITS):
The FITS tool is an open-source, Java-based application which identifies, validates and extracts technical metadata for a wide range of file formats. It acts as a wrapper to various tools and manages their output. Output from these tools are converted to a common format, compared to one another, and consolodated into a single XML output file.
Implement and maintain the identification of, and extraction of, video metadata as XML using EBUCore as the standard output format.
Implement a solution which invokes MediaInfo native libraries using a Java Native Access (JNA) wrapper. Video support of these libraries must be maintained for various platforms (Mac OS X, Windows, Ubuntu, RedHat/CentOS).
Implement and Maintain JUnit Tests and Suites.
Implemented a GUI-based wrapper for FITS written in Groovy.
MassPro, Waltham, MA Jan. 2013 – September 2014
Tools/Technologies Used: Java EE, Hibernate 3.x, JDBC, XML, JSON, NetBeans, Ant, Oracle, MySQL, Windows, Linux, JBoss, Tomcat, Web Services/Servlet, Applet, EJB 3.0, JAXB, Subversion, Some Groovy (Groovy/Grails Tool Suite, Gradle).
Implemented and maintained software modules and applications used for collecting, scoring and reporting medical data, both for internal and external clients. These modules were written in Java and exposed as RESTful web services.
Maintained client-side encrypted data upload modules, utilizing the Bouncy Castle Cryptography APIs. Also responsible for updating signed certificates, and re-signing Java JARS as needed.
Designed, developed and maintained a Groovy-based Swing desktop Testing application using XML and XMLUnit to verify the integrity of data scoring web service APIs.
Tested revised web-based applications and verified data integrity and scoring outcomes.
Updated and installed custom web-based applications as new versions and applications were developed.
Analyzed user requirements to design applications or modify existing applications.
Documented and reviewed specifications with customers to confirm that customers needs were met.
Atex, Inc., Tewksbury, MA February 2010 – October 2012
Software Developer – US Digital Operations, Polopoly CMS product
Implemented modules for collecting and presenting user-generated digital content (articles, images, videos, documents). This included the creation of widgets, input templates and output templates for the Polopoly CMS framework.
Developed migration tools for moving data from legacy CMS systems to Polopoly CMS, including migrating Wordpress Blog content.
Developed and maintained RSS feed and NewsML components.
Developed mobile and legacy URL redirection Servlet filters for Polopoly CMS.
Developed and maintained a Java-based trashcan application to permanently delete content from a customized Polopoly CMS installation.
Implemented custom indexing enhancements for Lucene and Solr-driven publishing queues.
Developed and enhance Perl-based migration scripts and NITF feed generation.
Worked with customers to address issues, implement bug fixes and guide customers‘ developers and maintenance staff.
Core member of the US Digital Operations development team which worked with various top media-related companies to customize and implement enterprise Polopoly CMS platform, including such clients as the Akron Beacon Journal, GoRadio.com, Newsday, the Scranton Times Tribune and Conde Nast.
Kronos, Inc., Chelmsford, MA 1997 – 2009
Java Developer 2003 – 2009
JNI Java/C/C++ Developer 1998 –2003
C Developer 1997 – 1998
Client/Server Software, Inc., Wakefield, MA 1992 – 1997
Tools/Technologies Used: Microsoft C, Lattice C, DOS.
EDUCATION AND TRAINING:
RubyLearning.org – Core Ruby Programming, June 2012.
Computer Learning Center, Somerville, MA – Certificate, C/UNIX Programming, 1992.
St. Joseph's University, Phila., PA – 2 semesters in Computer Sciences Masters Program, 1990.
West Chester University, West Chester, PA – BA, Psychology, 1983.
Attended “No Fluff Just Stuff” symposiums covering the latest technologies, including Spring,
Hibernate, Groovy, Grails, Ruby and Rails, 2006, 2007, 2009.
IBM, Waltham, MA – Developing Network Computing Solutions using Java Technologies, 1999.
Wave Technologies, Burlington, MA – C++ for C Programmers, 1998.
Northeastern University, Burlington, MA – Introduction to Java Programming, 1998.
Northeastern University, Burlington, MA – Windows Programming using Windows 95, 1997.