Professional Experience
Comcast Cable ULearn
Technical Trainer, Software Development
Dec 2021 – Dec 2026
Worked with Human Resources to determine, design, and deliver
technical training courses for popular and upcoming technologies needed
within the Comcast ecosystem, including multi-day courses on Python, Docker, and Kubernetes.
Worked with internal AI teams to create a data pipeline that extracted course-related
material from internally hosted SharePoint sites, external APIs, and other sources, performed
various data transformations to convert the data into a JSON-based format, and uploaded the
data into an internally hosted Retrieval-Augmented Generation (RAG) intake system.
- Python
- Docker
- Linux
- Secure Shell (SSH)
- SQL
- Kubernetes
- AI
- RAG
Comcast Cable Business Class Voice
Software Engineer, DevOps Engineer
Mar 2016 – Dec 2021
Worked on the Business Service team within Business Class Voice operations. Primary responsibilities included the design, implementation, and deployment of new tools to help manage infrastructure for network management systems (BroadSoft) and devices (Adtran, EdgeMarc), private cloud OS provisioning (OpenStack), containerized infrastructure (Docker), and a Continuous Integration / Continuous Deployment (CI/CD) pipeline.
Worked closely with voice engineers, system administrators, and network engineers to design and implement a suite of microservice applications (both UI and backend). The tools were implemented in Go, Scala, Perl, and Node.js to automate and standardize a number of time-consuming and costly manual processes.
DevOps duties included the design and implementation of a developer- and operations-friendly CI/CD pipeline using Terraform and Ansible to provision CentOS resources into a primarily OpenStack cloud infrastructure. The pipeline consists of a Jenkins build system that deploys Dockerized containers into the Rancher orchestration system, which provisions load-balanced containers across multiple regions and data centers.
- Go
- Scala
- Perl
- Node.js
- Docker
- Rancher
- Terraform
- Ansible
- Jenkins
- OpenStack
- CentOS
- BroadSoft
- Adtran
- EdgeMarc
TEKsystems (contracted to Comcast)
Software Engineer, DevOps Engineer
Jan 2014 – Mar 2016
Centennial, CO
Worked on the Business Class Voice operations team. Primary responsibilities included the design, implementation, and deployment of new tools to help manage infrastructure for network management systems (BroadSoft) and devices (Adtran, EdgeMarc), and data center OS provisioning for both hardware (network-based provisioning using BOOTP, DHCP, CentOS Kickstart, etc.) and cloud deployments (OpenStack).
Worked closely with voice engineers and system administrators to design and implement microservice applications that automate time-consuming manual tasks across a complex infrastructure. These tools were built in Scala, Go, Perl, and Bash to integrate open-source and proprietary vendor systems with Comcast internal applications.
DevOps duties included designing and implementing command-line tools that integrate Comcast internal management and auditing systems with configuration management (Puppet), automating the deployment of tens of servers at a time across multiple data centers. These tools were implemented in Bash, Perl, and Puppet to manage all aspects of OS and application configuration.
- Scala
- Go
- Perl
- Bash
- Puppet
- OpenStack
- CentOS
- Kickstart
- BOOTP
- DHCP
- BroadSoft
- Adtran
- EdgeMarc
Ping Identity
Software Developer, DevOps Engineer
Dec 2011 – Dec 2013
Denver, CO
Worked on the Test Automation System (TAS) team. The team maintains an infrastructure that runs thousands of unit, web UI, and web-based back-channel tests on multiple Linux, Unix, and Windows platforms. These tests consist of Selenium-based UI interaction driven from JUnit and TestNG. The TAS team helps the Software Quality Engineers (SQE) maintain the architecture of the test suites and provides code-level library support that integrates the test suites with the testing infrastructure. The infrastructure consists of a custom in-house, web-based system that integrates the virtual cloud environment (OpenStack), distributed configuration system (Puppet), and remote execution system (STAF and SaltStack) needed to support the testing requirements of an enterprise-grade security product (PingFederate), and provides reporting and analytics of the results.
Ported the in-house testing infrastructure from the VMware-based Lab Manager environment to OpenStack. Worked closely with the Configuration Engineering (CE) team from the initial design phase, through the prototype and proofing phase, and into production. Ported the operating system templates from a static “golden template” architecture to a dynamic, configuration-based environment using Puppet.
- Java
- JEE
- Servlet
- GWT
- JUnit
- TestNG
- Jenkins
- OpenStack
NewsGator
Software Developer, DevOps Engineer
Jan 2007 – Dec 2011
Denver, CO
Designed, implemented, and released to the Play Marketplace an Android client that integrated with the Social Sites web platform, using the Social Sites REST API and XML/JSON serialization libraries to provide functionality on mobile similar to the web platform. Designed and implemented a desktop Social Sites client in Windows Presentation Foundation. Designed, implemented, and ran a Windows-based performance testing environment. Integrated i18n text into the Social Sites platform provided by a virtual team of translators.
Worked with a third-party vendor to integrate a collaborative filtering system (SenseArray) into the web-based online RSS reader, providing personalized recommendations based on users’ reading habits. Maintained the online store’s credit card processing system and integrated the marketing landing pages with Salesforce. Designed and implemented a Facebook application and a Google OpenSocial application that integrated with the online reader platform. Also administered the automated build system and supported the production load process and monitoring environment.
- C#
- ASP.NET
- ADO.NET
- XML
- NUnit
- JavaScript
- SOAP
- REST
- RSS
- AJAX
- Visual Studio 2005/2008
- Aptana
- CruiseControl.NET
- SourceGear Vault
- Team Foundation Server
- SharePoint
PrecisionWave
Software Developer, DevOps Engineer
Oct 2004 – Nov 2006
Colorado Springs, CO
Designed, implemented, and released to production Windows-based server software to control an RF signal generator. Worked with digital and RF hardware engineers to design algorithms that generate payloads for custom hardware, and translated the payloads into binary protocols transmitted over USB and PCI. Designed and implemented an NUnit test suite that controls various RF test and measurement instruments and inspects the signal generator’s outputs, communicating with instruments via SCPI, GPIB, and RS-232. Created custom hardware calibration applications.
- C/C++
- .NET
- XML
- NUnit
- SCPI
- Serial
- MFC
- Win32 API
- log4cplus
- USB
- PCI
- Binary protocols
- Visual Studio 2003
- CruiseControl.NET
Modis (contracted to MCI)
Software Developer
Jun 2003 – Oct 2004
Cary, NC
Designed, implemented, and released to production web services components for a company-wide automated network fault management system. Application tier implemented using stateless session EJBs; web service components built with XDoclet, WebLogic, and Ant-based tooling; data storage tier on Oracle. Wrote the JUnit test suite for the application. Also served in an advisory role for web services and system architecture, and handled build system implementation and operating system provisioning.
- Java/J2EE
- EJB
- SOAP
- XML
- SQL
- JDBC
- Ant
- JUnit
- XDoclet
- log4j
- BEA WebLogic
- Solaris
- Linux
- Oracle
- Eclipse
- CruiseControl
Oak Grove Software
Software Developer
Aug 2002 – May 2003
Apex, NC
Built a custom two-tier client management system for a trash removal company in the Charlotte, NC area. Technical lead for the full software lifecycle, including requirements gathering, technical and client documentation, design, storage, and implementation. Implemented in .NET with Office integration via COM, Crystal Reports, and the QuickBooks IIF format; backend on Linux and PostgreSQL via ADO.NET.
Designed and implemented a scalable, multi-threaded Counter-Strike tournament manager server that tracked player statistics across multiple server instances, let players register for tournaments and team matches while playing practice games, and moved players between servers when their match became available.
Worked on a large team to create a distance learning system for a NASA research program, delivering rocket-science university courseware through web browsers, CD, and DVD. Led the sub-team implementing the middleware components and component communication via SOAP and Sybase, including build and deployment to Linux, Unix, and Windows.
- .NET
- PostgreSQL
- ODBC
- Windows 2000
- Linux
- Visual Studio 2003
- Perl
- Java/J2EE
- Sybase
- JSP
- Tomcat
- Ant
- Solaris
University of Mississippi Field Station
Software Developer, System Administrator, Network Administrator
May 1999 – Aug 2002
Abbeville, MS
Technical lead for a small team providing the Field Station with a two-tier intranet, including research utilities for a web-based scientific data management system built with Perl/CGI (Apache::ASP), the Tangram object-relational mapper, Linux, and PostgreSQL. Designed and implemented a system to transmit data from remote weather stations to a central server. Also handled system and network administration, hardware procurement, and desktop support for Windows and Linux.
- Perl
- SQL
- HTML
- Expect
- Linux
University of Mississippi Business School
Software Developer
Jun 2000 – Aug 2002
Oxford, MS
Implemented software applying natural language processing techniques to search engine technology. Created web document extraction and text manipulation software to produce normalized word phrases from large data sets for database entry. Research funded by the Navy Personnel Research and Technology Program.
University of Mississippi Department of Information Technology
Software Developer
Aug 1997 – May 1999
University, MS
Provided tier 2 technical support as part of a small team: software installation, configuration, and troubleshooting for Windows operating systems and applications across the university; client network configuration and connectivity troubleshooting; hardware installation and upgrades; and maintenance of a private FTP server for internal software distribution.
Syntec, Inc.
Software Developer, System Administrator
Aug 1997 – Jun 1998
Oxford, MS
Created a database for intra-organizational reporting and financial tracking for a local parts company. Redesigned the public web interface for the National Association of Graduate Students to make the most of legacy data and present news updates. Provided free technical support for the Oxford Rape Crisis Center.
- Microsoft Access
- Windows NT
- Perl
- HTML
- JavaScript
University of Mississippi Department of Electrical Engineering
Technical Assistant
May 1995 – May 1997
University, MS
Maintained PCs for department faculty and staff and provided user training and assistance. Repaired and maintained laboratory equipment and assisted with hardware inventory.