Geoffrey Paul, Developer in Huntsville, AL, United States
Geoffrey is available for hire
Hire Geoffrey

Geoffrey Paul

Verified Expert  in Engineering

Linux Developer

Location
Huntsville, AL, United States
Toptal Member Since
April 16, 2020

Geoffrey is a Linux developer with extensive expertise in modeling and simulation, supporting the US Army and Missile Defense Agency. He specializes in developing real-time software for high-performance, scientific computing. He has written software scaling from low-end desktops and 8-core workstations to high-powered servers with hundreds of cores.

Portfolio

Tec-Masters, Inc. / Torch Technologies
GNU Debugger (GDB), SysML, LaTeX, Qt 5, Signal Analysis, CORBA...
Tequinity, LLC
Bluetooth LE, Bluetooth Beacons, Python, Python 3, Pytest, NumPy, SciPy...
Freelance
C++, Qt 5, Qt, Performance, Optimization, Linux, C, Bash, Git, Algorithms...

Experience

Availability

Part-time

Preferred Environment

Sublime Text, Vim Text Editor, MATLAB, Bash, C++, C, Git, Linux

The most amazing...

...optimization I've implemented was a SIMD-based radar antenna algorithm that improved throughput by 50 times.

Work Experience

Lead Software Engineer

2013 - PRESENT
Tec-Masters, Inc. / Torch Technologies
  • Deployed a new development process focused on test-driven development (TDD) and automated unit testing, significantly increasing test coverage and reducing regression rates.
  • Updated the configuration management process to use better-integrated tools, such as Jira and Bitbucket, and increase automation of software packaging and deployment.
  • Led a team to design and implement a real-time application to merge simulated radar data with live radar data to facilitate conducting exercises and training in the field with US Army soldiers.
  • Led a team to design and implement a real-time application to record high-speed radar data for verification and analysis.
  • Led a major development effort to re-architect our radar signal injection application to better utilize the memory architecture and instruction sets of modern x86-64 server hardware, leading to a ten- to fifteen-time improvement in application throughput.
  • Reverse engineered the signal-injection algorithms and wrote white papers to document the algorithm designs, references, and assumptions for future developers.
  • Conducted peer reviews on code submissions and provided critical feedback to mentor and train younger developers.
Technologies: GNU Debugger (GDB), SysML, LaTeX, Qt 5, Signal Analysis, CORBA, Data Visualization, Pub/Sub, Sublime Text, Vim Text Editor, Makefile, GNU Make, Make, Radar, Physics, Numerical Methods, Regular Expressions, Statistics, GPS, Architecture, Signal Filtering, Network Protocols, Transmission Control Protocol (TCP), APIs, CppUnit, Sockets, Realtime, Object-oriented Programming (OOP), Code Review, SIMD, Multithreading, Processing & Threading, Simulations, Modeling, UDP, Multicast, Mathematics, QML, XML, Fortran, Cryptography, Qt, Linux RHEL/CentOS, AWK, Linux Server Administration, Algorithms, Bash, Automation, Bitbucket, Jira, Git, Test-driven Development (TDD), UML, MATLAB, C++, C, Linux, Ada, Performance, Optimization, Analysis, Data Structures, Research

Senior Software Engineer

2020 - 2021
Tequinity, LLC
  • Developed an indoor location-tracking service using Bluetooth beacons and trilateration algorithms.
  • Developed simulators to evaluate the effects of cutting-edge techniques from the academic literature on the overall positioning accuracy.
  • Designed tools, policies, and procedures to facilitate proper equipment calibration during site installations.
  • Designed tools and schema to accurately capture and manage site geometry data, such as room positioning and RF characteristics.
Technologies: Bluetooth LE, Bluetooth Beacons, Python, Python 3, Pytest, NumPy, SciPy, PostgreSQL, Amazon Web Services (AWS), Amazon S3 (AWS S3), AWS Lambda, Algorithms, Analysis, Modeling, Simulations, Research, Automation, Linux, Bash, Git, UML, Test-driven Development (TDD), Linux Server Administration, Linux Mint, SQL, GitLab, Mathematics, Processing & Threading, Multithreading, Realtime, APIs, Network Protocols, Architecture, Physics, Data Visualization, Vim Text Editor, Sublime Text, GitLab CI/CD

Senior Software Engineer

2020 - 2020
Freelance
  • Enhanced a Sokoban pathfinder algorithm to prevent known "bad" moves. These bad moves would create deadlock situations where certain entities could no longer be moved, leading to unwinnable games.
  • Optimized the memory usage patterns of the pathfinder algorithm from O(n^2) to O(n), which dropped the memory requirements for a 100x100 grid from 1.7 GB down to 770 KB.
  • Optimized the pathfinder algorithm for better search efficiency. This work reduced the runtime by over 99%, while certain larger test cases dropped from six seconds down to 40 milliseconds.
  • Optimized the level solver algorithm to eliminate bottlenecks, which reduced runtime by 90%.
  • Replaced a deprecated functionality to enable an upgrade to Qt 5.12.
Technologies: C++, Qt 5, Qt, Performance, Optimization, Linux, C, Bash, Git, Algorithms, Linux Mint, GitLab, Processing & Threading, Multithreading, Code Review, Object-oriented Programming (OOP), Make, GNU Make, Makefile, GNU Debugger (GDB), Vim Text Editor, Sublime Text, Data Structures

Software Engineer

2006 - 2013
Tec-Masters, Inc.
  • Developed an application to inject simulated target scenes into the Terminal High Altitude Area Defense (THAAD) radar system.
  • Ported the signal injection software from a legacy SGI MIPS architecture running the IRIX operating system to a modern x86-64 architecture running Red Hat Enterprise Linux.
  • Automated the analysis for software requirements verification, using Linux scripting languages, reducing the verification timeline from over three months to two weeks.
  • Replaced a legacy, paper-based configuration management process with a new process, using modern tools, notably Git and Bugzilla.
Technologies: GNU Debugger (GDB), Signal Analysis, CORBA, Data Visualization, Pub/Sub, Vim Text Editor, Makefile, GNU Make, Make, Radar, Physics, Numerical Methods, Regular Expressions, Statistics, GPS, Architecture, Signal Filtering, Network Protocols, Transmission Control Protocol (TCP), APIs, Sockets, Realtime, Object-oriented Programming (OOP), SIMD, Multithreading, Processing & Threading, Simulations, Modeling, UDP, Multicast, Mathematics, Perl, Fortran, Cryptography, Linux RHEL/CentOS, AWK, Linux Server Administration, Algorithms, Git, Bash, Automation, MATLAB, C++, C, Ada, IRIX, Linux, Qt 5, Performance, Analysis, Data Structures, Research

Junior Computer Operator

2004 - 2006
Tec-Masters, Inc
  • Developed JSP applications to dynamically explore the equipment health of UH-60 Blackhawk helicopters.
  • Developed Java servlets to batch process UH-60 health data overnight.
  • Designed an Oracle database schema to store report results.
  • Implemented new health-processing algorithms designed by the engineering team to facilitate evaluation and discussion.
Technologies: HTML, MySQL, PHP, LAMP, Oracle RDBMS, JavaScript, CSS, SQL, Oracle, Jakarta Server Pages (JSP), Java, XML, Mathematics, CSV, CSV Import, CSV Export, Statistics

Simulation-over-Live Driver (SOLD)

A real-time application that injects simulated radar targets into the Terminal High Altitude Area Defense (THAAD) radar system. I was one of the software engineers responsible for implementing the real-time variant of the SOLD algorithms for use in the hardware-in-the-loop testing of the radar. I was the lead software engineer responsible for the later redesign of the SOLD software to increase real-time stability and performance on newer server hardware.

IQ Merge Unit

A real-time application that combines simulated radar in-phase and quadrature (IQ) data with live radar data, such that radar equipment in the field can observe simulated targets. This allows US Army soldiers to conduct exercises and training in the field with their equipment. I was the lead software engineer responsible for designing and implementing this application.

IQ Recorder

A real-time application that records several sets of radar in-phase and quadrature (IQ) high-speed data, along with timing information. The data recorded by this application was used to verify the accuracy and real-time performance of other IQ-processing systems. I was the lead software engineer responsible for designing and implementing this application.

IQ Generator

A real-time application that produces randomly-generated radar in-phase and quadrature (IQ) data to facilitate fuzzing and performance testing of other IQ projects. This application was required to maintain the highest possible data rates for weeks to stress the downstream applications. I was the sole developer on this project and completed its development within three months.

Watcherr

Watcherr is a wearable health-monitoring solution for senior care residences. It provides automated tracking of patients, allowing nurses to more quickly and efficiently respond to patient needs. I was the back-end developer responsible for the indoor-location tracking aspect of the system.

Sokoban 2SG

https://www.linux-games.org/p/1109295
A variant of the classic Japanese game of Soko-ban, featuring players as warehouse keepers to efficiently push crates onto goals without trapping themselves. The full version included advanced path-finding algorithms, level-solution management, automated-solution finding, and solution-optimization algorithms. I was contracted to analyze the algorithm designs and implementations to identify bottlenecks, to improve memory requirements and time efficiency on larger levels.
2014 - 2017

Master of Science Degree in Modeling and Simulation

University of Alabama in Huntsville - Huntsville, Alabama, USA

2005 - 2009

Bachelor of Science Degree in Computer Science with minors in Mathematics and Physics

University of Alabama in Huntsville - Huntsville, Alabama, USA

Libraries/APIs

CppUnit, Sockets, NumPy, SciPy

Tools

Vim Text Editor, Git, MATLAB, Sublime Text, Radar, LaTeX, Bitbucket, Jira, Make, GNU Make, Makefile, GNU Debugger (GDB), Pytest, GitHub, GitLab, GitLab CI/CD

Frameworks

Realtime, Qt, Qt 5, Jakarta Server Pages (JSP)

Languages

C, C++, Ada, AWK, UML, Bash, SysML, Python, HTML, SQL, Perl, Vala, Java, Fortran, XML, QML, CSS, JavaScript, PHP, Python 3

Paradigms

Automation, Object-oriented Programming (OOP), Test-driven Development (TDD)

Platforms

Linux, Linux Mint, Linux RHEL/CentOS, Oracle, NVIDIA CUDA, IRIX, LAMP, Bluetooth LE, Amazon Web Services (AWS), AWS Lambda

Storage

MySQL, Oracle RDBMS, PostgreSQL, Amazon S3 (AWS S3)

Other

Mathematics, SIMD, Multicast, UDP, Modeling, Simulations, Processing & Threading, Code Review, Multithreading, Performance, Optimization, Analysis, Data Structures, GPS, APIs, Physics, Transmission Control Protocol (TCP), Signal Filtering, Algorithms, Numerical Methods, Statistics, CSV, CSV Import, CSV Export, Architecture, Network Protocols, Linux Server Administration, Regular Expressions, Research, Cryptography, Signal Analysis, CORBA, Pub/Sub, Data Visualization, Bluetooth Beacons, Computer Graphics

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring