PDF
Last updated July 2, 2017
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 (Tysons, VA) - Principal Software Engineer March 2004 - Present
Highlighted projects have included:
Ground Truth UI (March 2017 - Present)
  • Designed and implemented web UI for rapidly ground-truthing thousands of images as input for CNN training
  • Key technologies: HTML, CSS, JavaScript, jQuery, jQueryUI, Knockout.js, Font Awesome, Node.js, Express, MongoDB, Git, REST, MVVM
Video Management System (March 2016 - Present)
  • Designed and implemented disk storage and database C++ infrastructure components 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, MVVM, jQuery, CSS, HTML, JavaScript, REST, Grunt, WebSockets, jsPDF, pdfmake, Web Notifications, Git
Advanced Video Activity Analytics (October 2014 - April 2015)
  • Developed portions of a web client for submitting complex forensics queries against recorded video.
  • Coordinated with groups at other companies to determine data-access APIs and to obtain access to external test systems.
  • Key technologies: Leaflet, Knockout.js, MVVM, RequireJS, jQuery, CSS, SASS, HTML, JavaScript, Citrix XenServer, Apache web server, GeoServer, MongoDB, OWF, CMAPI, 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:
WaterWhen April 2015 - present
  • 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
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
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
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
Education:
Haverford College, Haverford, PA
B.A. Psychology, May, 1993