Professional Experience
2014 to present
Sr. Software Developer at Secure Mission Solutions, a Parsons Company
(US Army Research Lab)
C++ software developer (contractor) supporting the US Army Research Laboratory (ARL), Computational and Information Sciences Directorate (CISD) in their role as Computer Network Defense Service Provider (CNDSP) for various government agencies and clients.
- Primary developer/maintainer of a collection of tools designed to monitor network traffic and identify potentially malicious communications or network intrusion attempts.
- Development on Red Hat Enterprise Linux platform.
- Re-engineered older C code that was poorly and haphazardly written. Updated to use GNU autotools, C++ compiler, and fully documented the code throughout, making it significantly easier for others to understand and maintain.
- Possess active security clearance at the TOP SECRET level.
2012 – 2014
Sr. Software Engineer at Booz Allen Hamilton (US Army CERDEC)
Software developer (contractor) supporting the research, development (C/C++), implementation and testing of Mobile Ad hoc Networking (MANET) protocols, as well as over-the-air management of MANETs via the Simple Network Management Protocol (SNMP).
- Developed an implementation of the Neighborhood Discovery Protocol (NHDP, RFC 6130) in coordination with the Naval Research Laboratory and the Internet Engineering Task Force; our software is to be released to the public as open source.
- Developed the SNMP interface (using open-source toolkits Net-SNMP and Agent++) to permit remote management of the protocol.
- Wrote, coordinated, and executed several real-world outdoor field testing events to measure range, throughput, reliability, and performance of our MANET protocols and the underlying 802.11 physical layer connection.
- Wrote test case documents and field-test summary reports with open source documentation and authoring tools, such as Gnuplot, L TEX, LibreOffice/OpenOffice, Inkscape and Gimp.
- Built and maintained an Ubuntu Linux server hosting Git software repositories, Wiki for collaboration and tutorials, BugZilla for issue-tracking, and XMPP for real-time chat.
2012 – 2012
Sr. Consultant at Red Hat
Technical consultant providing on-site support for clients developing web-based applications.
- Worked on-location at client site to support design, development and testing of web service components.
- Aided the promotion and successful adoption of Red Hat Enterprise Linux as the platform of choice for testing, development and final deployment.
2008 – 2012
Sr. Software Engineer at General Dynamics Robotic Systems
C++ developer for the U.S. Army’s Autonomous Navigation System, providing unmanned, autonomous capabilities to ground vehicles.
- Worked with large (10+ person) team developing a network-distributed (via UDP) Red Hat Enterprise Linux-based application, interfacing with multiple vehicle perception and navigation sensors, as well as numerous other vehicle and FCS components.
- Developed Wireshark dissector for parsing proprietary network protocol into human-readable form, along with tool to auto-generate the dissector C source code following interface changes.
- Developed software module to correct vehicle navigation errors, using a proxy class to hide proprietary implementation details in a separate compiled library and exposing only enough public interface methods as necessary.
- Encouraged and promoted the use of industry standard software development processes and procedures, as well as tried-and-true open source development tools to increase productivity while keeping licensing costs to a minimum.
2007 – 2008
Software Engineer at Aerotek (Interface & Control Systems, Inc.)
Software Engineer specializing in real-time command and control software for satellites, control centers, test sets and ground stations.
- Developed functional, schedule-friendly and cost-effective solutions to overcome limitations of the Spacecraft Command Language and deficiencies in existing code.
- Worked in a heavily command-line-oriented atmosphere where environment variables played a key role in system configuration and correct application operation. Utilized a very detailed and complex make system, with multi-layered makefiles for both Win32 and embedded (VxWorks) targets.
2002 – 2007
Software Engineer at Lockheed Martin, MS2
Real-time embedded software engineer responsible for maintenance, bug fixes, and new development and integration of VxWorks-based GPS integrator for MK-41 Vertical Launching System.
- Developed driver for custom-built Fiber-Optic Transmitter that was responsible for encoding and transferring large blocks of data across VME bus along very specific byte- and word-sized boundaries.
- Investigated many System Anomaly Reports and implemented corrective actions often involving complex changes to system functionality, interprocess-communication, task prioritization, modifications to process stack sizes, and BSP modifications.