Download PDF

Summary

I am an expert-level front-end web developer and published author with a background in server-side development, a passion for APIs, and a genuine interest in people, processes, and Getting Things Done.

Work experience

Apr 2018Present

Manager of Software Engineering

Cofense

Served both as Manager for an engineering team of 4, as well as UI Lead for an entire product line, and an individual contributor on the frontend development team. As a manager and frontend lead, I've worked to increase the efficiency of the team and help team members grow professionally.

Apr 2017Apr 2018

Frontend Engineer, Lead Link, Accessibility, GitHub Custodian

Action Verb

Was the sole developer on a huge frontend React project that replaces the company's aging Rails UI. Also focused on accessibility concerns around the organization, was the Lead Link of one of main product circles (this company practices Holacracy), and managed the company's GitHub organization.

Jan 2011Apr 2017

Software Developer III

Widen Enterprises

My projects at Widen were exclusively web-based.  Initially, I worked on Widen's flagship Digital Asset Management product: Collective.  Then I transitioned to Smartimage, an image-management/DAM-lite product.  Eventually, after Widen purchased the rights to a side project I was involved in (Fine Uploader), I spent a fair amount of time leading development of Fine Uploader full-time at Widen. My final project was a greenfield and quite complex web application based in React - Portals.

Most web-based projects I was involved with required a significant amount of server-side and/or client-side development.  Primary server-side languages were Java/Groovy.  Major front-end dependencies  included jQuery, Backbone, Angular, and React. 

I began to focus more on client-side code as my proficiency in javascript increased over time.  My side work on Fine Uploader was a contributing factor, in addition to my growing interest in this sector of software development.  

Apr 2006Jan 2011

Senior Software Engineer

Avid Technology, Inc

My development tasks at Avid fall into the category of newsroom automation systems. Newsroom automation systems developed by me (and others on the same team) were developed to satisfy the needs of television broadcast networks for the purposes of ingest and play out of audio and video. These systems were developed using mostly Java and were designed to be fail-safe. Important programming-related tools and libraries I utilized to develop these products included JINI (now Apache River), RMI, Swing (for UIs), ANT, JUnit, EasyMock, Spring Framework, Reflection, JavaMail, Guice, TestNG, FindBugs, Coverity Prevent, ClearCase, ClearQuest, JIRA, Eclipse, and AccuRev.

Some of my software engineering tasks at this company have included:

  • Developing from scratch a complete replacement for the legacy system used to allow ingest and play out systems to address and control sources and destinations on a video routing switcher. This was a large-scale project and involved almost two years of dedicated development using Java. This involved creating a design that differed greatly from the legacy system in order to address known issues with the design and operation of the legacy system. I was the primary developer, lead developer, and lead designer/architect for this project.
  • Maintenance of a previously-developed software system (using C#) used to allow ingest and play out systems to address and control sources and destinations on a video routing switcher.

  • Developing a JINI service used to allow play out systems to communicate serially with a push-button board used to control playback of video.

  • Developing a JINI service used to allow ingest systems to communicate serially with VTRs.

  • Completing a number of development tasks involving “framework” or common code used by many other broadcast applications.

  • Supervising summer interns as they completed tasks related to the router control project for which I was the lead.

  • Participating as a contributing team member for various other ingest and play out development projects.

As a senior software engineer for Avid, I worked both as a contributing member of a large team for some projects and as a team lead for the project involving a complete redesign and rewrite of the router control system we sell to customers - a two year initial development effort.

Dec 2004Apr 2006

Lead Developer

TrafficCast, Inc

In this position, I wrote a wide array of back-end software applications to help address numerous technical and business issues encountered by the company.  All members of the software engineering team reported directly to me.  Some of my software engineering tasks included:

  • Development of a large master system (C#) used to control, monitor and organize the large number of java console apps running on production and test servers.  I later redeveloped this in Java to run on Linux.
  • Development of an entire (large) suite of “base” classes (Java) used by the reader programs to submit data to the database and handle other various issues commonly encountered by other Java apps
  • Development of a large-scale monitoring system to run in Linux.  Communication between the segments of the system was made possible through the utilization of RMI.  I personally designed this system and TrafficCast continues to introduce additional applications into the system as the development process continues.

Education

Nov 2004

Bachelor of Science - Computer Science

DePaul University
  • Graduated Magna Cum Laude
  • GPA: 3.77 out of 4.00
  • Member of Dean’s List
  • Member of National Dean’s List
  • Selected to Golden Key International Honor Society
  • Selected to Phi Kappa Phi National Honor Society
  • Selected to Upsilon Pi Epsilon International Computer Science Honor Society