Burt Beckwith


Contact

burt@burtbeckwith.com

Address

18 Paulina St. #1
Somerville, MA 02144

Phone

(617) 233-3328

Blog

https://burtbeckwith.com/blog/

GitHub

burtbeckwith

Stack Overflow

burt-beckwith

Twitter

@burtbeckwith

Ohloh (Open Hub)

burtbeckwith


Download the latest version of this resume in Adobe PDF format.


Summary of Qualifications


Career Related Experience


Oracle

11/2020 – present

Principal Member of the Technical Staff


PatientPing

10/2018 – 11/2020

Senior Software Engineer

  • Backend Java and Kotlin developer

  • Made several enhancements to the PatientPing Master Patient Index (PMPI) clustering algorithm used to map patient data from multiple sources to a single person

  • Implemented a Quartz-based job scheduling service

  • Performance and scaling enhancements to the internal "Roster Tool" used to import large patient rosters from customers into PatientPing databases

  • Modernized build processes, updating from Maven to Gradle, upgrading from JUnit 4 to JUnit 5

  • Implemented internal versioned jar and NPM package publishing with Artifactory to replace existing fragile and buggy code sharing processes

  • Part of the development team implementing a large refactoring and enhancement project supporting the "Smart Roster" process

  • Mentored other developers


Harvard Medical School
Department of Biomedical Informatics

11/2017 – 10/2018

Senior Full Stack Web Developer

Part of an multidisciplinary team of data scientists, medical doctors, and developers creating tools to study large and disparate datasets from the domains of biology, healthcare and social media.

  • maintenance and enhancement of the open source tranSMART project

    • extensive code cleanup and modernization in the main transmartApp web application and 17 plugins

    • upgraded transmartApp and 17 plugins to Grails 2.5

    • added multiple new plugins to migrate features from the Harvard tranSMART fork to the foundation’s ongoing work, including a security plugin integrating Auth0 with Spring Security

    • fixed many unit and integration tests and converted most to Spock

  • implemented continuous integration using Jenkins and Artifactory to run builds for all projects and publish JARs and WARs to custom Maven repos

  • converted a Spring Boot CITI Training REST API application created by developers at Boston Children’s Hospital to a Grails plugin to be able to integrate with tranSMART


Agile Orbit

02/2016 – 11/2016

Senior Software Engineer

Grails project development and consulting for Agile Orbit customers.

Primary contract was an update of a large Grails application:

  • Upgraded Grails from version 2.3 to 2.5.4, plus some design and code for an eventual upgrade to Grails 3 once incompatible app functionality was ready and remaining required external plugins were updated to work with Grails 3

  • Converted security from a highly customized implementation based on Apache Shiro to Spring Security, including permission-based access implemented with annotations and AST transformations to augment the traditional role-based approach

  • Refactored inefficient database access code and fine-tuned transactional behavior across the application

  • Reworked application GSP pages to move Groovy code into tag libraries and services

  • Performed significant code refactoring and cleanup

  • Unit, integration, and functional testing

Additional work included the development of the Schwartz Grails plugin, a replacement for the Quartz plugin.


Gradle Inc.

09/2015 - 11/2015

Principal Engineer

Gradle core developer.


Grails Consultant

10/2014 - 09/2015

Grails consulting, development, and mentoring for various remote clients in the US.


Harvard Extension School, Cambridge, MA

09/2014 – 12/2014
09/2013 – 12/2013

Instructor

Taught CSCI E-56 Web Application Development with Groovy and Grails in a classroom setting with remote/recorded access to approximately 45 students each semester.


Stealth Startup, Boston, MA

01/2014 - 09/2014

Principal Consultant

  • Developed a large web service and several smaller supporting applications using Node.js and MongoDB to provide persistence, security, and application logic for iOS clients of a new, disruptive collaborative social application being developed for a client. Other work included client and server configuration and integration with real-time video and audio (RTMP) to support audio and video chat, video multicast, DVR and playback, using EvoStream Media Server, NGINX-RTMP, and Wowza Media Server.

  • Also added integration with 3rd-party services including Amazon S3, PubNub (for realtime chat and presence), and Twilio (SMS messaging).

  • Integrated several JavaScript libraries to implement application functionality, including Express (MVC framework), Mongoose (MongoDB ODM), GridFS (MongoDB distributed file storage), I18N, Passport (security), Winston (logging), Grunt (build), and extensive use of Mocha for a large suite of tests.

  • Implemented error notifications to Android devices using Google Cloud Messaging and a custom Android app.

  • Configured build and deployment process of the Node.js application at Heroku, and much of the configuration and testing of video servers and smaller Node.js applications for monitoring and autoscaling (custom implementations to handle the more complex issues related to upscaling and downscaling realtime video) at Amazon AWS.


SpringSource / VMware / Pivotal, Palo Alto, CA

02/2010 – 11/2013

Senior Member of the Technical Staff

Core Grails team member. Responsibilities include development and maintenance of the Grails framework, plugin development, and Groovy and Grails training and consulting. Developed over 60 plugins adding a wide variety of functionality to Grails. Primary focus areas included persistence and security.


Grails Consultant

06/2009 - 02/2010

Development, support, and mentoring services for various clients using Grails.


Students Only / Edhance.com, Cambridge, MA

01/2008 - 10/2009

Senior Software Engineer

  • One of two developers.

  • Wrote a live chat application using the Grails framework for web-based technical support.

  • Integrated Shibboleth-based authentication for universities in the InCommon federation to automate student enrollment verification.

  • Wrote significant portions of the Edhance web site, a new site that helps college students save money at participating merchants, including:

    • Merchant signup

    • Payment and cashback processing, integration with credit card payment processors

    • Site security (using Spring Security)

    • Data analysis

    • Reporting engine

    • MySQL administration

    • Tomcat server clustering for high availability


American Well, Boston, MA

03/2007 - 01/2008

Senior Software Engineer

  • Senior developer for the CareTalks web application

  • Implemented much of the early development infrastructure including Subversion server over HTTP using Windows domain authentication, Cruise Control, Ant build process, unit test process, Spring and Hibernate configuration, and core code.

  • Implemented form-based application security using Acegi (Spring Security), and SSO using CAS and Acegi

  • Created a database upgrade facility to configure and apply DDL and DML scripts to any existing release version of a schema to update to the current version, including an event-based notification subsystem that was the prototype for an application-wide event subsystem.

  • Implemented I18N, extended to allow customized messages, images, and CSS for a hierarchy of customers both per-Locale and per-customer.

  • Data access development using Hibernate, JDBC, PL/SQL stored procedures.

  • Performance and scalability tuning, object caching.

  • Mentored other developers.


JumpTap, Cambridge, MA

10/2006 - 03/2007

Senior Software Engineer

Developed enhancements and extensions for a Java-based reporting engine used to generate weekly, monthly, and ad-hoc reports tracking usage, trends, and metrics for JumpTap’s mobile phone search engines. Tasks include custom report development, automation via custom Ant tasks, and optimization of MySQL database structure, schema, and SQL for performance and scalability.


Primera Biosystems, Mansfield, MA

06/2005 - 10/2006

Principal Software Engineer

  • Lead developer at Primera

  • Wrote data analysis and visualization tool (a Swing-based desktop application using Spring and Hibernate) for Assay Development scientists that significantly reduced repetitive tasks and streamlined workflows.

  • Implemented enhanced algorithms for electropherogram peak detection and quantitation, enhancing or replacing those in the device software (GeneMapper).

  • Implemented data export to image files, PDF, and Excel workbooks with experiment data, summary charts, and statistical calculations that function as a report and as a "what if" analysis and prediction tool.

  • Created a web-based auto-analysis workflow tool that monitors electropherogram device output, generating initial GeneMapper analysis, then applying custom algorithms and exporting results to Excel. The autoanalysis application automatically creates a Wiki page with an analysis summary and the Excel workbook attached, as a form of electronic lab notebook.

  • Implemented application auto-update to ensure users have the latest version.

  • Implemented application access outside the firewall by tunneling database and file requests through SSH, including a SOAP web service to serialize Oracle queries to work around the known issue of Oracle’s thin driver’s inability to tunnel over SSH.

  • Purchased and configured development/bioinformatics/intranet servers running Fedora Core Linux, MySQL, Apache, CVS, Bugzilla (replaced with Atlassian JIRA), Wiki (Atlassian Confluence), Samba, SSH.

  • Implemented a web-based application for monitoring and administrating compliance and quality assurance, using Ajax, Hibernate, and Spring


Wellington Management, Boston, MA

12/2004 - 05/2005

Senior Software Engineer (contract)

  • Senior developer for the Global Trading System application, a WebLogic-based server application and Swing client for internal trading.

  • Refactored server-side event handling mechanism to batch logical groups of asynchronous events to accurately synchronize the client with the server and fix timing issues that resulted in temporary error states.

  • Various performance and scalability fixes and enhancements.

  • Developed an aspect-oriented performance and scalability monitoring framework for benchmarking.

  • Developed Swing panels and J2EE integration code for new FX (Foreign Exchange) trade editing functionality.


National Leisure Group, Woburn, MA

12/2004 - 05/2005

Senior Software Engineer

Senior developer on the Dynamic Packaging System (DPS) team. DPS is a high volume, J2EE-based (JBoss) real-time availability and booking engine for vacation packages. The application powers the Vacation tabs on the Orbitz and Yahoo! travel web sites. Implemented various bug fixes and enhancements in the DPS system. Completely rewrote an in-house server farm monitoring system (the "OpCenter") which uses Apache JMeter to test server availability, health, response times, and various other metrics. Designed and implemented a role-based security system for web-based administrative applications, including single signon between applications across servers.


Biogen Idec, Cambridge, MA

07/2002 - 05/2004

Senior Software Engineer (contract)

Senior Java developer with the Bioinformatics group. Primary duties involved development for the Biogen Annotation Tool (BAT) project, a web-based warehouse application that unifies many heterogeneous Bioinformatics data sources into a common interface for use in gene research. Wrote the database API for accessing the BAT database. Wrote the database search engine, including seven different search modes. Wrote the gene list import facility. Created several JSP custom tags. Wrote a help system for context-sensitive help throughout the site. Mentored other Java developers. Automated the build and deployment process using Ant. Wrote various developer utilities including JSP precompilation, administration JSPs, database connection pool, standardized logging. Refactored significant portions of the existing code base for performance, reuse, and consistency. Also designed and wrote a Swing-based port of a VB6 desktop application used for visualization and analysis of Mass Spectrometry data. The tool allows scientists to import mass spec data from a variety of data formats. Users utilize 2-dimensional and 3-dimensional views of the data coupled with database integration to identify peptides and proteins.


Element K, Rochester, NY

06/2001 - 07/2002

Software Engineer

Senior Java developer for the KnowledgeHub Learning Management System (LMS), an EJB-based ASP solution. Designed and implemented enhancement features in small teams, including a Web Services framework to expose KnowledgeHub functionality to clients and partners via SOAP. Technologies included EJB, JavaBeans, Servlets, JSPs/JSP TagLibs. Part of a team chartered to improve performance and scalability of the application, as well as the maintainability of the codebase. Took the initiative to become a subject matter expert in several areas, including J2EE technologies, CVS source control process and administration, SCM process, build process, Ant tool, and WebLogic configuration. Re-engineered the software build process, decreasing build time by over 75%. Wrote custom Ant extensions. Took the initiative to write utility software for the development team, including a GUI front-end for Ant and a GUI tool to manage multiple local WebLogic server configurations. Took the initiative to bring JUnit unit testing to the organization, initiating training the development team and participation in a small team formalizing and documenting the unit testing process. Wrote a book on J2EE technologies and WebLogic Server for the Element K jCert certification series.


Xerox Corporation, Rochester, NY

10/2000 - 06/2001

Software Engineer (contract)

Senior Java developer for the WebXpress solution. Project was a distributed web-based Java application using Jini & JavaSpaces, JDBC, XML, JSP, JSP Tag Libraries, Servlets and Applets to provide customized document conversion and print job routing via the web for Xerox customers. Used JIntegra to automate applications in Java via DCOM to convert documents to PDF/PostScript for printing. Technologies included Apache web server, Tomcat, MySQL, CVS, and the Xerces XML parser. Also developed Swing-based Java utilities.


Auragen Communications, Rochester, NY

09/1999 - 10/2000

Applications Developer

Web and database programming for client web sites; technologies include JSP, Servlets, JavaBeans, JDBC, ASP/VBScript, ADO, JavaScript/DHTML, XML, HTML; databases include Oracle, SQL Server, Informix; installation and administration of Apache web server and JRun application server. Sites include Zap.com’s Zapbox, my.wegmans.com, and the job search sitelet at www.kodak.com.

Education


Syracuse University, Syracuse, New York

09/1994 - 05/1996

M.S. - Mathematics

Degree: 05/1996

University of Maine, Orono, Maine

09/1987 - 05/1993

B.A. - Mathematics

Degree: 05/1993

Publications


Programming Grails
O’Reilly, 2013
ISBN 978-1449323936


Technical editor for Grails in Action


Java™ 2 Enterprise Development with BEA WebLogic™
Element K Press LLC, 2002
ISBN 0-7580-3313-3

References


Available upon request.