PDF
Last updated March 25, 2024
Ethan Shayne
resume @ eshayne . com
Summary:
Senior software developer with experience developing both front-end and back-end components of complex systems, using a variety of programming languages and platforms. Performs a wide range of roles throughout the project lifecycle: from initial architecture and design through implementation, deployment, and maintenance; in development, mentoring/management, and customer-facing positions.
Employment:
ObjectVideo Labs (a subsidiary of Alarm.com) (Tysons, VA) - Principal Software Engineer March 2004 - Present
(full-time remote since 2018)
Highlighted recent projects have included:
Test Results UI (February 2018 - Present)
  • Designed (UX, UI, architecture), implemented, support and maintain an internal web-based UI for reviewing video analytics test result data.
  • This system serves several purposes:
    • Provide visibility into ongoing test results to both Engineering and Product Management.
    • Visualize test result data for debugging purposes.
    • Calculate detailed statistics regarding test results.
    • Visualize test-scenarios included in each test-run.
  • Key technologies: HTML, CSS, React, JavaScript, jQuery, Node.js, Express, Webpack, MongoDB, Knockout.js, SQL Server, Git, REST
Patents (March 2019 - Present)
  • Filed 31 patent applications; 3 granted, 6 allowed, 22 in-progress
Ground-Truth Data Pipeline (March 2017 - July 2023)
  • Designed, implemented, documented, support and maintain a set of internal web-based tools for managing a pipeline of donated video content, annotating ground-truth, and exporting data for CNN training, including:
    • Visually filtering hundreds of thousands of incoming video donations per day for ground-truth selection.
    • Tools to enable a team of 17 users to rapidly and accurately examine, annotate and review, scaling to tens of thousands of images per day.
    • Tools for managing prioritization based on changing business requirements.
    • Tools for analyzing donation and ground-truth statistics.
    • Tools to enable users to rapidly gather target-association ground-truth across multiple video clips.
  • Also worked with research team to define requirements & optimize MongoDB queries; and provided user training and ongoing tool support.
  • Key technologies: HTML, CSS, JavaScript, jQuery, Knockout.js, Node.js, Express, MongoDB, Python, SQL Server, Docker, Git, REST
Video Management System (March 2016 - March 2018)
  • Designed and implemented disk storage and database C++ infrastructure libraries for large-scale 24/7 cloud-based streaming video storage and playback system
  • Designed and implemented C#-based system for deletion of expired content
  • Redesigned system architecture for disk and database scalability
  • Key technologies: C, C++, C#, PInvoke, Visual Studio, CPPUnit, CUnit, SQL, SQL Server, ODBC, Log4CPP, Git, Subversion, JIRA
Geolocation System (April 2015 - December 2016)
  • Redesigned web-based UI workflow to be more intuitive and to produce consistent results across users.
  • Developed web-based visualizations of raw system analysis output.
  • Redesigned Windows camera calibration application workflow to walk analysts through the process of generating calibration data from a photograph.
  • Developed a web-based UI around an existing algorithm to transform photographs to an overhead view.
  • Transitioned back-end system architecture to Docker containers hosted on AWS
  • Key technologies: HTML, HTML5 Canvas, CSS, JavaScript, JSON, jQuery, jQueryUI, Cesium, CentOS, Java, Jersey, Tomcat, ant, AWS, Amazon S3 Java API, Docker, PostgreSQL, VMware, GeoServer, C++, MFC, Git, JIRA
Alert Client (December 2014 - April 2015)
  • Designed and developed a web client for viewing real-time security alerts across multiple cameras, with query and export capabilities.
  • Key technologies: Knockout.js, jQuery, CSS, HTML, JavaScript, REST, Grunt, WebSockets, Web Notifications, Git
Knowledge Discovery Using Mobile Devices (January 2013 - October 2014)
  • Developed Android tablet and Android Wear applications for users to collect and view shared Points of Interest in the field, while also tracking and sharing tablet-holder's position and activities, over unstable network connections.
  • Developed Command & Control web-based application providing a map-based overview of all participants' positions, activities, and reported Points of Interest; web interface also provided the ability to chart mission paths and transmit them to individual users.
  • Key technologies: Android, Android Wear, OSMDroid, REST, JSON, Java, HTML, CSS, JavaScript, jQuery, Leaflet, GeoServer, Subversion, Git
Geolocation System (January 2012 - October 2013)
  • Designed initial microservices-based architecture
  • Designed and implemented core communication system as a Java REST service wrapping a C++ logic engine.
  • Key technologies: Jersey, Java, C, C++, JNA, CentOS, REST, JAX-RS, JSON, PostgreSQL, Subversion
Additional projects have included:
  • Helped design REST/XML "OV Ready" protocol standard for interoperability between ObjectVideo partners' video analytics devices and front-end UIs.
  • Designed and implemented portions of a Web-based front-end utilizing the OV Ready protocol via AJAX, including support for both desktop browsers as well as touch-based tablets.
  • Designed and implemented portions of a .NET SDK to assist customers in developing OV Ready compliant thick-client applications. Also developed coding samples and wrote User's Guide.
  • Designed and implemented framework for developing C# REST-based Web applications with Apache Web Server.
  • Designed and implemented custom messaging solution in C++ and C# as a lightweight TCP/IP-based MSMQ replacement.
  • Helped to design and implement thick-client SDKs (accessible via .NET, C++, and COM) to allow customers to better integrate their products and interfaces with ObjectVideo's.
  • Maintained and supported the communication layer between Windows C# applications and OEM partner embedded devices.
  • Led teams of up to 10 developers
  • Provided ongoing technical assistance for several OEM partners and for maintained a working relationship with those partners' Engineering departments.
  • Prepared and presented internal product training for other departments within ObjectVideo.
Tiger Team Consulting (Fairfax, VA) - Senior Technical Consultant April 2002 - March 2004
SRA International, Inc. (April 2003 - August 2003)
  • Implemented several components of a Web-based system providing management of soldiers' educational records for the U.S. Army. Specific components implemented include searching, viewing, and editing basic client data; and a metadata-driven system for providing two-way conversion between an Oracle database and Microsoft Excel spreadsheet files.
  • Key technologies: Java, EJB, Servlets, JSP, Custom Tag Libraries, HTML, JavaScript, Jakarta POI, PL/SQL, Oracle 9i Application Server, Solaris, Windows 2000
Advisen (April 2002 - April 2003)
  • As a developer for the primary Advisen site, designed and developed a subsystem for converting dynamic portions of the site to PDF, RTF, and CSV formats on-the-fly upon user request.
  • As lead developer for the Advisen RIMS survey site, established technical design, performed most of the initial site implementation, and worked with Advisen staff to determine priorities and release schedules.
  • Provided maintenance of and enhancements to the analytics subsystem, working with Advisen business specialists and Ulytix software and consulting services to provide data visualization capabilities to both sites.
  • Key technologies: Java, Borland JBuilder, Oracle JDeveloper, Oracle 9i, BEA WebLogic Server 5.1, Apache Tomcat, nViZn, HTML, JavaScript, XML, XSL, Servlets, JSP, Solaris, Linux, Windows NT
Greater New York Hospital Association (New York, NY) - Consultant May 2000 - June 2003
  • Provided technology advice and contract review services on a volunteer and as-needed basis. The HITE network allows social service and health care organizations to help uninsured clients gain access to public, private, and community-based health resources.
MediaMap (Manassas, VA) - Senior Software Engineer February 2001 - March 2002
  • Designed and implemented C++ COM components for distribution, list management, and security components of Web-based Performa product.
  • Led development of the NewsRoom Web-based press release content management product
  • Key technologies: JavaScript, XML, XSL, ASP, COM, ADO, Microsoft SQL Server, C++
The Sapphire Group (Manassas, VA) - Director of Technology November 1997 - February 2001
  • Coordinated between marketing/sales and engineering staff, translated business/functional requests into technical architecture, provided day-to-day management of and mentorship to all engineering staff, reviewed technical designs, and deployed and coordinated engineering staff among the various projects balancing business drivers against limited stafftime. Also participated in sales calls to prospective clients and assisted with process of acquisition by MediaMap.
  • Managed several client relationships, including initial sales discussions, translating client business needs into technical requirements, implementing those requirements as product customizations, providing training and ongoing support, and testing and deployment of product upgrades.
  • Led design and development of web-based content management system with successful deployments supporting millions of pagehits per day.
  • Designed and implemented Syndication Services, providing intelligent parsing of targeted outside sources to extract relevant data, to be filtered based on registered user interests.
  • Key technologies: C++, C, VBA, ADO, Microsoft SQL Server, XML, XQL, HTML, HTTP, ISAPI, POP/SMTP, NNTP, regular expressions, SandStone Visual Parse++, RSS, MSMQ
American Management Systems (Fairfax, VA) - Principal October 1993 - November 1997
  • Led a team of 12 developers, supervising and guiding designs and design discussions, providing technical assistance and task planning.
  • Designed and implemented portions of the Smalltalk and C++ ObjectCORE frameworks, used across the company for rapid development of two- and three-tier client/server systems.
  • Led a team of five developers in on-site support and knowledge-transfer to a client project providing a solution for a large telecommunications provider.
Independent Projects:
Simple Hours for Android and iOS May 2013 - present
  • Application for Android and iOS devices to track time spent on various projects.
  • Key technologies: Android, iOS, Java, Objective-C, Cocoa Touch, SQL, Git
MongoDB Examples March 2021 - present
  • Web-based series of examples demonstrating various MongoDB query tips.
  • Key technologies: MongoDB, HTML, JavaScript, CSS, jQuery, Git
JNA Examples August 2012 - September 2016
  • Web-based series of examples demonstrating how to handle various types of interactions between Java and C using JNA.
  • Key technologies: C, Java, JNA, HTML, JavaScript, CSS, jQuery, Git, JSON
WaterWhen April 2015 - September 2017
  • Application for iOS devices to use available rainfall data to help with lawn-watering scheduling.
  • Key technologies: iOS, Objective-C, Cocoa Touch, SQL, REST, JSON, Git
WiFi Location Toggle February 2011 - July 2011
  • Application for Android-based devices that saves battery life by monitoring location, turning the Wi-Fi radio on only when within range of a known Wi-Fi signal.
  • Key technologies: Android, Java, Mercurial
Education:
Haverford College, Haverford, PA
B.A. Psychology, May, 1993