Word (.doc) version Donald Lee Chastain My GitHub
email: dlc@doughmain.net cell: (512) 413-2984

Summary Description

Accomplished senior software engineer with over 26 years of technical experience, exhibiting strong analytical and organizational skills, likes to learn new technologies, takes ownership of assignments and drives for results. A creative and personable team player that has developed solutions in a wide range of programming languages, for various operating systems.


Software engineering focusing on development and integration using open-source tools and languages in support of a large, scalable system with an ever-increasing number of users.



Senior Software Engineer Spawn Labs (A GameStop company) 7/2011 – present
In the design and development of a new cloud-gaming service, I served as the DevOps engineer primarily responsible for management views and alerts. The service is scalable from hundreds of simultaneous users to many thousands, and gives us same-minute visibility of actionable service issues, with informative alert emails containing links to relevant logs and a management web site that ties together the views of our custom hardware and shows its real-time status as well as historical performance data. I added the management pages to our Ruby on Rails web site, wrote servlets in Java for an additional Jersey server with a REST API, used linux VMs running first CentOS and later Ubuntu, automated package installations with Chef, collected and indexed logs with logstash and viewed them with elasticsearch and kibana – these are all examples of some of the open source software that I first evaluated and then integrated into the system. Unit tests are run automatically (by Jenkins) at the end of the build process (kicked off by source code changes when received at the GitHub repository), and some of the integration tests were reusable as runtime monitoring scripts, and were added to the alerting system either as icinga/nagios plugins or by running them from cron and directing their output into the monitored logs (rsyslog). Programming languages used include Java, Python, Ruby, javascript/jQuery, and unix scripting – bash, korn. Development environments were primarily IntelliJ or command-line vi, on Mac (Lion), Windows 7, and linux hosts. Version control was first subversion, later git. Issue tracking and Agile environment via JIRA/Greenhopper.
Software Engineer III Overwatch Systems (A Textron Systems company) 5/2008 – 5/2011
As a developer on the DCGS v3.1 multifunction workstation (MFWS) program, provide new features across several areas of the Viper framework application in an Agile development environment. Object-oriented development was primarily done in C# in Visual Studio 2010 (.NET 4.0 Framework) under ClearCase source control. User interfaces were designed with a Model-view-controller (MVC) architecture using either WinForms or the WPF. The underlying database was SQL Server 2005 and unit tests used Rhino-Mocks to interface to assemblies that were not actually present on the development platform. Led a team of four developers in a difficult migration of the internal security service from an outdated C++ Windows Service to a managed C# WCF service. As an individual contributor, a few of the new features that I added were: integration with the Jericho user authentication and authorization API to their EnterSpace product; conversion from an enumerated single-value security classification to a CAPCO-compliant security marking for entities in the system; ability to export alias lists along with the entities that use those aliases; addition of timezones to dates imported into the system from either Analyst’s Notebook or Excel. When not working a new feature I did problem resolution in any of several areas across the application, documented and tracked with ClearQuest. Much of the work needed was in the areas of MTF messages and XML interoperation with the ACE system. Made multiple trips to the CTSF at Fort Hood, TX and the System Integration Laboratory (SIL) at Ft. Monmouth, NJ to support OWS interoperability test events. On my own initiative, developed a WinForms client adapter that uses reflection to instantly serialize and display the fields of any currently selected entity in the system, in an XML format. This visualization provides a valuable tool for quick analysis of entity to database alignment, and facilitates the design of new interoperability solutions.
Senior Software Engineer Booz Allen Hamilton 9/2004 – 5/2008
Provided software engineering support to the US Navy at SPAWAR Systems Center, delivering solutions in Java and .NET:
The CMW project is an ASP.NET 1.1 web application hosted on Windows XP Server 2003. It provides authenticated users with account management capabilities via a web browser, through a seven-tier architecture that provides access to the Microsoft SQL Server 2000 database. Development was done in C# with the Visual Studio .NET 2003 and the SQL Server Enterprise Manager. Working closely with the end-user customer to define requirements and refine the implementation, added new features, new pages and menu options to the web site, integrating them into the architecture at every layer. Delivered the final product and user training to the USSTRATCOM customer at Offutt AFB near Omaha, NB. Received a letter of appreciation from the SPAWAR customer after this assignment.
For CDF and COLT, performed software maintenance and development in C, C++ and Java, on both SUN Solaris UNIX and Windows 2000 in a client-server network environment. These environments were on GCCS-M platforms; developed the software as installable DIICOE segments. Noteworthy accomplishments: developed a wrapper library that bridges a legacy rpc-based api over to the socket-based api for the new architecture, thereby providing an upgrade path for trainer clients that was not previously possible; automated (via UNIX scripting) a procedural task that previously required several hours, now done in under ten minutes; regularly resolve trouble reports covering issues ranging from user interface enhancements to resolving messaging problems and memory leaks; developed a new gui tool to facilitate SYBASE database management tasks specific to the project. Developed a ‘radio’ client application in Java that has been described as the ‘best tool that we have for demonstrating COLT server capabilities’. Responsibilities included not only software development and maintenance but system and network administration of the various (more than 30) workstations on three differently classified networks.
Software Engineer – Technical Lead Ilex Systems (An L3 company) 6/1999 – 9/2004
Performed software life cycle maintenance on these DoD systems for the Communications Electronics Command (CECOM) at Fort Huachuca, AZ. As the team technical lead, provided project management support for these systems while at the same time providing specific software solutions on both the UNIX and Windows platforms, utilizing primarily C, C++ and Java. Trained and mentored other team members as needed. Throughout these projects, the teams fluctuated in size between 7 and 29 members, to include software engineers, functional and security testers, and specialists in configuration management, quality assurance and user documentation. As the technical lead, directed and distributed the workload of the other software engineers as needed to meet release schedules set by CECOM and the system manager, and regularly stood in for the system manager.
Specific technical accomplishments include:
  • Added a COM server process to the ASAS-Light system to parse RECCEXREP messages. This server interfaces with the MS Access database as needed to automatically deliver message components that can be plotted on the map or displayed to the operator/analyst.
  • Implemented a C client to a Java based map server.
  • Developed Excel spreadsheets on the Windows 2000 system that can tap into the ORACLE database on demand and display real-time metric information on a team’s progress in resolving the various Software Problem Reports (SPRs). The other teams within the company adopted these spreadsheets and the system managers use them regularly in their reporting to the government.
  • System Upgrades – From Solaris 2.5.1 to the 64-bit Solaris 8, from DII-COE 3.2 to 4.6, Windows NT to Windows 2000, from ORACLE 7.3.2 to and various lesser COTS packages and drivers as needed to keep up with the operating systems and security posture of the systems.
  • UNIX shell scripts to automate team processes such as baseline file requests and file locking, integration of changes into the source tree, examination of file differences, and packaging of solutions into DII-COE segments.
Software Engineer Science Applications International Corporation (SAIC) 3/1996 – 6/1999
Object-oriented software development and software engineering using Java, C, C++ and AIE for applications on UNIX and Windows operating systems. Performed UNIX system administration and network support as needed. Provided the division manager with technical input related to proposals, statements of work, schedules, and capabilities. Provided guidance and training to the technical staff. Added new functionality to the IEW Synchronization Matrix (ISM), a graphical C4I software application which provides a visualization of various battlefield operating systems entities and their relationships to each other in time and space. The ISM incorporates several aspects of Collection Management, Requirements Definition, and Asset Management. This application was originally done solely for the Army in AIE and C, later expanded to all branches of the military and converted to Java for more flexibility and platform independence. Led the conversion to Java (an effort that lasted one year and involved six other developers), and wrote an AIE to Java translator (in Java) that was central to the conversion. The conversion to Java was an initial step towards integrating into the JCMT workstation; had previously integrated the AIE version into ASAS RWS.
Senior UNIX Architect PARANET 2/1995 – 3/1996
Worked at various customer sites in Tucson, Phoenix, and Fort Huachuca to help establish a southern Arizona branch for Paranet, a Houston-based company that provided a wide variety of technical expertise for customers that need to outsource some or all of their information systems requirements. Customer sites worked: Burr-Brown, Motorola, Charles Schwab, Hughes, Allied Signal, Southwest Gas, University of Arizona, Intuit. Tasks included UNIX system and network administration, configuration, integration, troubleshooting, and documentation, and lasted anywhere from a few hours to several months at any given site. Worked alone in most cases, but occasionally participated as part of a team of 3 to 10 personnel at the customer site, for larger projects. As part of a cooperative agreement between Paranet and SUN, acted as an on-call service representative for SUN Solaris installations and trouble calls in Tucson and on Fort Huachuca.
Computer Scientist Sierra Cybernetics / TRW 4/1992 – 2/1995
At the US GOSIP Open Systems Environment Testing Laboratory, regularly assessed FTAM and MHS products for correct testing of their underlying protocols (SESSION, PRESENTATION, ACSE) by test labs, as a prerequisite to being placed on the US GOSIP register of OSI conformant products. Automated routine tasks such as test analysis and report generation, using Borland C and the Object Window Library (OWL). Later worked with TELNET and SMTP protocols in the TCP/IP stack, and made a presentation on the lab’s standards conformance testing and the JITC registry to the Internet Engineering Task Force (IETF) during their meeting in Toronto, Jul 94. Switched to Sierra Cybernetics in February of 1994 in order to retain this position when TRW left the INTEROP contract.
Started with calibration and repair of general-purpose test equipment, then quickly learned the HP instrument control programming language (RMB), and began automating the calibration test procedures. Was eventually shifted to the engineering department to oversee that work (in advance of getting my degree) and then also became the system and network administrator for approximately 100 workstations, while attending Cal State Long Beach in the evenings. Was promoted to software engineer several months ahead of graduation. Using C and UNIX ksh scripts, automated several systems including the configuration management software release process, purchase requests, and engineering problem reports. Completed all programming work, including documentation and training, for the Electronic Paperless Interactive Calibration system, which took local calibration data and entered it into a remote ORACLE database for equipment status tracking. Transferred to the INTEROP project at the JITC, Fort Huachuca AZ in April of 1992.
Electronics Technician Tektronix 3/1983 – 10/1984
Calibration and component-level repair of the 7K line of laboratory oscilloscopes and the TM-500 series of general purpose test modules such as signal generators and frequency counters, digital voltmeters, and the timing generator. Expanded into the remotely controllable TM-5000 series and wrote automated test procedures on the TEK-4052 graphics controller and the 4041 instrument controller.
Electronics Technician 2nd Class (E5) United States Navy 3/1980 – 3/1986
Graduated first in class of Electronics Technician 'A' school, was then assigned to the guided missile destroyer USS Berkeley DDG-15. Performed operation, calibration, and repair of transceivers in the VHF to UHF ranges and various related equipment such as antennas and signal switchboards. After three years active duty, converted to active reserves in 1983, serving at the Ship's Intermediate Maintenance Activity (SIMA) in Long Beach, California, with honorable discharge in 1986.

Sampling of Additional Professional Training

Certificates and Awards