Lead Software Engineer
2013 - PRESENTTec-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: 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, 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, ResearchSenior Software Engineer
2020 - 2021Tequinity, 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/CDSenior Software Engineer
2020 - 2020Freelance- 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, GDB, Vim Text Editor, Sublime Text, Data StructuresSoftware Engineer
2006 - 2013Tec-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: 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, 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, ResearchJunior Computer Operator
2004 - 2006Tec-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, JSP, Java, XML, Mathematics, CSV, CSV Import, CSV Export, Statistics