I'm a software engineer with 3 years experience in software engineering and 2 years experience doing software systems integration (thought 90% of that work was writing advanced scripts akin to a more standard application). During thos 5 years I quickly became one of a few go-to people on my team when bugs needed to be solved fast or others couldn't find a solution. I've learned that my favorite kind of work is solving hard problems in short amounts of time and rewriting legacy software to make the code more readable, maintainable, and testable. I'm very confident in my ability to pick up frameworks and languages in a short amount of time.
- Proficient (Frequently used): Rust, Python, Java, PowerShell, Bash
- Experienced (Occasionally used): C# (a few feature tickets), Groovy (1 Gradle plugin), C++ (college courses and a few bug tickets)
Linux (Arch/Ubuntu/Red Hat Enterprise), VMWare (ESXi/vCenter/Workstation/Horizon Client), Microsoft Windows
Docker/Podman/containerd, Proxmox, Qt/PyQT, LaTeX, Atlassian (JIRA, Bitbucket, Confluence), GitHub, GitLab, Gradle
This experience spans over all applicable jobs in my work history. Specific employers are not mentioned for brevity. If interested in reaching out for employment opportunities, please reach out to my email.
- Fixed time-sensitive Tactical Messaging bug in a short amount of time by working closesly with the Test cell that found it.
- Worked closely with customer to determine exact requirements from desired behavior.
- Created a UML XMI/XML parser in Rust to generate documentation from an XML export of an Enterprise Architect model.
- Built tool for parsing KLV data from transport stream video using standards documentation in Python. Additional revisions written in Rust for increased performance.
- Used PlantUML to create data flow diagrams for understanding Tactical Messaging traffic through the system.
- Convert unmaintainable Python applications into Java.
- Created and maintained GitLab CI/CD Pipelines including pipeline Docker image and pipeline YAML/config.
- Wrote Gradle plugin in Groovy to create MSIs using WiX on Linux operating system; Also created a Gradle plugin to sign RPMs.
- Created small SIEM (log aggregator and viewer) application from scratch using Python and PyQt5 under tight time constraints (3 weeks) while meeting cyber requirements.
- Develop and update both C# application behavior and WPF GUIs using Visual Studio.
- Migrated 20+ applications from bespoke build systems to Gradle build system.
- Build and publish docker images for existing applications.
- Built tool for parsing KLV data from transport stream video using standards documentation in Python. Additional revisions written in Rust for increased performance.
- Created application to test time accuracy of integrated hardware clock using Rust.
- Designed, developed, and maintained an automated installation application for bespoke hardware in Powershell/Bash.
- Learned Powershell from zero while being given full control over installation application.
- Developed an application that applies specific configuration files and upgrades firmware on firewall and switches based on user input.
- Developed an application that applies BIOS options on a legacy server BIOS by interpreting and manipulating serial data.
- Developed application that utilizes PXE and walks users through and verifies installation of ESXi and RHEL on various hardware layouts.
- Developed application that deploys Windows and Linux VMs to ESXi hypervisor and configures ESXi using PowerShell/PowerCLI.
- Created GUI based cyber workflow optimization and automation applications using PyQT/Python.
A user-first MSI generation library and command line tool written in Rust. Currently the main hobby project that I work on in my free time.
During the course of my paid work I've noticed a gap that seemed odd to me. There was no Linux command line tool that could build MSIs and were relatively fully featured and easy to use. The closest alternatve I found was msitools but it's based on WiX which is not straightforward to use from my experience and it is missing quite a few features that I desired at the time, such as running specific kinds of CustomActions.
A library used for parsing MPEG2-TS data and reading metadata from individual packets written in Rust. Almost feature complete. Only minor features needed.
Based on code that I made in Python for a tool used at my job. The Python implementation was slower than I liked so I figured I would used some of my free time to make a better version in Rust.
A library used for parsing KLV data from MPEG2-TS payload data written in Rust. Still requires quite a bit of work before I would call it done for the purposes I needed it for, but I don't have much incentive to work on it at the moment.
Also based on code that I made in Python for a tool used at my job. Done for the same reason as above.
A simple PPL calculator written in React/TypeScript. Not quite complete but almost good enough to use.
I always like to know how much PPL I can use at any given time while taking into account future planned vacations and other time off. I couldn't find any tools that already did this so I figured I would take the opportunity to do it myself and also learn some web development.