Doug Kiely

Software Engineer

Cupertino, CA | Silicon Valley
Orlando, FL | Space Coast

Programming Languages

C++ 11, 14, 17, 20, 23, 26 | C++ 98, 03 | C | Kotlin | Java | Javascript | Python | Bash

Operating Systems & VMs

Linux | Windows | Android | WebAssembly

Android Development

Android 2 Eclair - Android 16 Baklava | SDK | NDK | ASOP | Android Studio | Kotlin | Java | C++

Web Development

Javascript | HTML5 | CSS3 | Reactive Web Design | C | C++ | WebAssembly | Mobile | Desktop | Apache

Cloud & Internet Development

AWS | Azure | GCP | Linux | Windows | WebAssembly | IP | TCP| UDP | HTTP | RTSP | SMTP | DNS | POSIX | WIN32

Artificial Intelligence

Reinforcement Learning | Deep Reinforcement Learning | OpenAI Gym | PyTorch | Nvidia Jetson | UE5 | Unity 3D

Sep 2021 - Dec 2025

Concentrix Catalyst

Senior Software Engineer, Android Development, Cloud Architect, Systems Programming

Newark, CA

Device Intelligence and Analytics | Location Intelligence

Developed C++, C, Kotlin and Java software for Android mobile phones and Linux cloud-based servers

  • Developed Android system-level apps in Kotlin, Java and C++ using Android Studio, AOSP, HAL, AIDL, SDK, NDK, JNI, Clang++
  • Developed Android applications, modules and libraries using modern Android concurrency features, including Kotlin coroutines, lock-free atomics, latches/barriers and semaphores to improve performance and scalability
  • Developed Android app to measure latency, throughput of Cellular, WiFi, Satellite networks, including binding to carrier signed APKs
  • Developed lock-free Linux server code using C++ and GCC/G++
  • Developed asynchronous TCP/UDP networking libraries in C++ for Android and Linux, to measure the latency and active throughput of 5G cellular networks, using asynchronous networking APIs, thread barriers and lock-free atomics
  • Developed DNS client based on Berkeley sockets, BIND and C/C++ cross-platform code and libraries for Android and Linux
  • Implemented cryptography standards, using symmetric private keys, public/private asymmetric keys, hashing and secure transport protocols, including AES, HMAC, SHA, TLS/SSL, PKI, X.509 Certificates, QR Codes to authenticate user devices and protect data on mobile devices and secure data transported over cloud services, cellular, 5G Virtualized Networks, SpaceX Starlink satellite networks
  • Implemented HTTP protocol support with OAuth‑based authentication and AWS S3 integration using Kotlin, C++ and libcurl, to perform secure content delivery at scale to Android devices
  • Implemented networking support, including developing code and configuring TCP/UDP/DNS/HTTP clients/servers
  • Configured CI/CD build infrastructure and pipelines using GCC, Clang, Android SDK/NDK, Gradle, CMake, YAML, GitLab CI/CD
  • Architected, engineered, and deployed cloud infrastructure across AWS, Azure, and GCP, leveraging Kubernetes, Terraform, Hashicorp Enterprise Vault, Calico L3/L4, service mesh network and OCI containers to support scalable, fault‑tolerant services
  • Designed load balancing solutions (including Layer-3 Gateway, Layer 3/4 Network, Layer-7 Application Load-Balancers, DNS load distribution based on lowest latency) to optimize TCP/UDP traffic distribution and ensure high availability of cloud applications to millions of mobile devices, including performing orchestrated DDoS attacks of cloud infrastructure over a production 5G cellular network
  • Deployed code in environments with automated agent scanning of end-point devices with zero‑trust infrastructure models to support 5G cellular network operations, including migrating from perimeter‑based restriction to zero-trust identity/capability‑based access
  • Implemented tracing and observability of API calls using OpenTelemetry, Prometheus and Grafana
  • Researched, patented and developed code to detect if the location of a mobile device is inside or outside, and which floor, of a building
Jan 2020 - Present

C++ Gym

Open Source Software

Senior Software Engineer

Cupertino, CA

C++ Gym for Reinforcement Learning

C++ version of OpenAI Gym

C++ Gym API is nearly identical to the original OpenAI Gym

C++ programmers can use C++ Gym with existing books, research papers, tutorials and websites using OpenAI Gym to implement Reinforcement Learning algorithms

C++ programmers can use C++ Gym to implement Reinforcement Learning algorithms and gain more experience with the field of Artificial Intelligence and Machine Learning

Classic control reinforcement learning environments: Acrobot, Cartpole, Continuous Mountain Car, Mountain Car and Pendulum

To make it as fast as possible for C++ programmers to get started, C++ Gym is implemented as C++ header files

Deep Reinforcement Learning can be implemented with C++ Gym using any available C++ machine learning libraries, including Eigen, PyTorch for C++ and much more

C++ Gym supports C++20 and above

Available on Github

Jun 2015 - Present

Personal Software Project

Senior Software Engineer

Cupertino, CA

Android SMS Messaging App

Developed SMS messaging app for Android devices

  • Developed Kotlin and Java code using Android Studio 3.x/4.x
  • Developed security and encryption code, using symmetric keys, public/private asymmetric keys, hashing and secure transport protocols, including AES, HMAC, SHA, TLS/SSL, PKI and X.509 Certificates.
  • Developed code to support Open Media Alliance’s (OMA), Wireless Application Protocol (WAP) Multimedia Messaging Service (MMS) Encapsulation Protocol specification
Feb 2010 - May 2014

Sony Electronics

Senior Software Engineer

San Jose, CA

Android Development, Systems Programming

Developed C/C++ code for Android platforms; and C/C++/Java code for consumer electronic devices, including multiple mobile phone and tablet devices, across multiple Android platform versions starting from Android 2 (Eclair)

  • Developed OS‑adjacent system software, hardware‑aware services, and optimized performance-critical code and memory usage in C/C++ to support the modernization of media content platforms
  • Developed C/C++ cross-platform code for Linux, Windows and Android using Clang, GCC/GDB and Visual C++
  • Developed Java code using Android Studio, Eclipse IDE, Android SDK, AOSP, HAL, AIDL/Binder, C/C++ using Clang, Android NDK, JNI
  • Developed HTTP protocol support for authentication and downloading of content to consumer devices
  • Developed RESTful client-side API Cloud support with HTTP, XML, OAuth
  • Developed security and encryption code, using symmetric private keys, public/private asymmetric keys, hashing and secure transport protocols, including AES, HMAC, SHA, TLS/SSL, PKI, X.509 Certificates
  • Developed synchronous/asynchronous code on FreeBSD-based embedded operating system
  • Developed asynchronous HTTP client code supporting OAuth secure protocol signature authentication
  • Developed code to integrate Digital Rights Management (DRM) of media and gaming content, including network-based DRM services
  • Android, Linux, Windows build system configuration, including Android AOSP, HAL, NDK/SDK support, using CMake, Makefiles
Sep 2006 - Oct 2009

Cisco Systems

Senior Software Engineer

San Jose, CA

Streaming Video & Advertising Platform

Developed C/C++ software for clustered video and content streaming network and storage devices used by domestic and international MSO's, including cable and telecommunications companies for next-generation video delivery, including RF and IPTV based systems

  • Developed reusable, multithreaded, synchronous/asynchronous, lock-free C/C++ code, including asynchronous TCP/IP and HTTP client/server network protocol stacks as C/C++ class/template libraries, on Linux-based MPEG video streaming and vault clustering servers
  • Developed software for Video On-Demand (VOD) and Network Digital Video Recorder (DVR) interfaces
  • Developed Targeted Advertising/Addressable Advertising software, requiring coordinated development activities with marketing, including major trade shows (Cable Show, Cable-Tec, SCTE, CableLabs) and vendor integration and demonstration projects for large MSO's (including Comcast, Time Warner, Cablevision, AT&T, Verizon)
  • Linux build system configuration, including creation of installable RPMs and distributable SDK
  • Rack and equipment configuration, including Cisco video streaming and vault devices, Cisco routers/switches, Cisco load-balance/fail-over cards/devices, Cisco Virtualization servers, Scientific-Atlanta MPEG linear splicing devices and Linux servers
May 2004 - Sep 2006

Arroyo Video Solutions

Senior Software Engineer

Pleasanton, CA

Streaming Video & Content Delivery Platform

Developed C/C++ software for a start-up Video Streaming, Networking and Storage server company developing next-generation MPEG streaming servers, content networking and content storage vaults funded by venture capital

  • Developed reusable, multithreaded, lock-free, server-side C/C++ code on clustered Linux devices, including TCP/IP and HTTP client/server network protocol stacks for video storage vaults
  • Developed and programmed file system interface module for an MPEG content storage vault cluster used for transferring video content, including support for failover and load balancing content transfers among multiple content storage vaults, including over satellite networks
  • Developed and programmed lock-free message processing algorithm for cluster communication and distributed processing
  • Developed and programmed network-based interface for the live recording of content in the first Network-based DVR (NPVR/RS-DVR) system used by MSO, cable, and telecom companies (first deployed by Cablevision)
Jul 2000 - Apr 2004

On Command Video

Senior Software Engineer

San Jose, CA

Video On-Demand System

Developed and designed Video On-Demand (VOD) technologies, including as Lead Architect, Technical Lead and Lead Programmer

  • Developed software using C/C++, JavaScript, Delphi/Object Pascal
  • Implemented VOD systems with Internet standard protocols including TCP/IP, HTTP, SMTP, XML, XSL, HTML and MPEG video/audio
  • Lead Architect, Technical Lead and Lead Programmer of patented interactive TV menu navigation system used in hundreds of VOD system sites and a half-million dedicated televisions
  • Developed software using C/C++, Javascript, Delphi/Object Pascal
  • Developed multithreaded server-side C/C++ code using Visual C++, Borland C++ on Windows; Kylix, GNU GCC on Linux
  • Developed client-side applications using Javascript, DHTML, CSS, XML (AJAX), including cross-platform browser code support
  • Operating systems used for development included Windows 98/NT/2000/XP, Linux
<
Jun 1998 - Jul 2000

Paradyne Networks

Software Engineer

Tampa Bay, FL

Network Management System

Developed NMS (Network Management System) software for Frame-Relay, ATM (Asynchronous Transfer Mode), DSL (Digital Subscriber Line), and IP (Internet Protocol) networks

Domestic and International NSPs (Network Service Providers) and Telecommunication companies use the software in Network Operations Cernters (NOC)

Software analyzed the performance of Data and Voice networks and networking devices

  • Developed LDAP-enabled directory applications using OpenLDAP, including migrating existing data to LDAP schemas
  • Various networking protocols and technologies used during development, including Frame-Relay, ATM, DSL, and Internet standard protocols including IP, TCP, HTTP, LDAP, SNMP and FTP

Operating systems and platforms utilized for development include:

  • Unix and Windows, including Sun Solaris, HP-UX, IBM AIX, Linux, Windows NT
  • Netscape and Microsoft web browsers
  • Oracle and Sybase SQL databases
  • OpenLDAP directory and Apache web servers
Jun 1997 - Jun 1999

Integrated Network Solutions

Software Engineer

Irvine, CA

Compact Disc Recording Software

Programmed CD-R recording devices using low-level APIs with C++, including standard SCSI commands and proprietary CD-R interfaces

Developed multithreaded, 32-bit object-oriented class library APIs used for the implementation of high-level CD-R recording software

  • Reverse engineered CD (compact disc) standards, including Redbook audio and Yellowbook data formats
  • Developed high-performance, optimized memory-management algorithms, including support for parallel multi-CD duplication
  • Developed object-oriented library API code to support re-use and extensibility for future storage devices, including DVD and video data formats
  • Supported standards-based and proprietary Optical Storage devices including SCSI-1, SCSI-2, SCSI-3 and IDE
Apr 1998

MessageLink, AFS, Inc.

Software Engineer

Contractor

St. Charles, MO

Windows Video Display Software

Windows video system programming and multiple-monitor support for Windows 98, utilizing C/C++, Delphi, Win32 API and video card API libraries, used for informational devices, including TV and display monitors

Aug 1996 - Feb 1997

K.Tek Systems, Inc.

Software Engineer

Consultant

Tampa Bay, FL

Internet & Web Development

Internet platform development utilizing TCP/IP Networks, Windows NT Server, Microsoft Internet Information Server, BackOffice, Active Server Platform, Visual Basic, VBScript, ActiveX, Java, Javascript, HTML, SQL, Adobe Photoshop

Aug 1995 - Jul 1997

Interlink Communications, Inc.

Network Engineer

Contractor

Tampa Bay, FL

Internet Services

Designed and Administered LANs to WANs connections to Internet Backbones utilizing Frame-Relay, TCP/IP Networks, Windows NT Server, Microsoft IIS, Netscape Servers, Post.Office Email Server, Berkley Internet Name Domain system (BIND DNS) and Cisco Routers

Sep 1995 - Jan 1997

Natural Fitness Concepts, Inc.

Software Engineer

Contractor

Tampa Bay, FL

Windows Software

Developed Nutra-Body, Nutritional / Fitness Analysis Software for Windows 95 utilizing Object-Oriented Analysis/Design, Object-Oriented Programming, Visual Basic, Win32 API, ActiveX, Access, SQL and Relational Database Design

Jun 1995 - Aug 1995

The Blue Group, Inc.

Software Engineer

Contractor

Tampa Bay, FL

Windows Audio Software

Developed digital audio application software for Windows

Jan 1995 - May 1995

Information System Services, Inc.

Software Engineer

Contractor

Treasure Island, FL

Windows Software

Developed Windows software applications