Lead Software Engineer - Arctos (May 2023 - Now)
I currently work at Arctos on Robotic Assisted Automated Laser Scanning systems as in the capacify of lead software engineer, and occasionally as an electrical engineer whenever the role demands it. So far, I've been able to:
- Port a C command line app to Go: the app converts acquired data from one format to another. I reduced conversion processing time from 35 min to 15 minutes by taking advatange of how simple it is to add multiprocessing to a Go application.
- Create a GUI for a command line app: I designed and implemented a graphical user interface for the command line application using React and Material UI library. I used the GoWails to package application as a single binary to make application easy to install and manage for end users.
- Lead electrical assembly of system: I researched, evaluated, and procured components for power distribution of a large electrical cabinet. I also assembled several of the subsytems, and conducted the system's bring-up process.
Backend Software Engineer - Pex (June 2022 - April 2023)
Golang Developer, Backend Systems (June 2022 - April 2023)
As a member of the backend developer team, I worked on improving systems that serve different products at Pex.
I was responsible for monitoring and debugging several microservices that runs in Kubernetes.
I led an effort to enable integration testing to run in CI. Previously, more than 80% of test depended on local database connection, which prevented them from running as part of our pipeline. I extracted the schema from the production database and used test containers to enable the test to run either in CI or on a local machine.
I also worked on updating the customer billing service and implemented metered billing for a new product offering.
Software Engineer - Mile Two (2020 - May 2022)
Golang Developer, Command-Line Dev Tools (March 2021 – May 2022)
As a member of a the data team, I worked on improve the data workflow of AI/ML engineers. The data command-line tool helps AI/ML engineers, and data scientists with data versioning, management and cloud transfer. The data is tracked locally, and transferred data in a docker registry for efficiency.
My first project on the team was to developed a way to record and visualize the tool’s CPU usage and memory consumption. I used Python (psutils) to capture the app's metrics, and create visualizations using Dash with Plotly for the results.
Later, I added the capability for the tool to give line specific feedback when users mistakenly adds invalid entry to configuration files (yaml, and json).
Currently, I am working on a tool to generate test datasets to exercises the features of the data catalog (an internal data sharing platform).
C++ Developer, Adobe Plugin (Jan 2020 – Feb 2021)
For my first project as a full-time developer, I created a prototype plug-in for Adobe Acrobat to increase the productivity of analysts processing redactions for multiple FOIA (Freedom of Information Act) requests.
Analysts process dozens of large PDF documents a week, and wet (ink) signatures require them to comb through a document page by page to redact them. I worked on a prototype application that enabled a set of features that would speed up their workflow. The notable features of the app are:
- Automated search of wet signatures within a PDF, previously a manual process, using OpenCV.
- A flexible redaction label manager. Instead of only applying one label to one redaction, the analyst can set labels to redaction in a one-to-one, one-to-many, many-to-one, and many-to-many in a single step.
While trying to achieve those results, I encountered a few problems. One of them was that signature lines led to many false negatives. So, I added a preprocessing layer to remove the lines before the search. The added layer reduced false negatives in search results by over 90% in cases where lines were present in the original selection. I also updated the app's architecture from single to multithreaded (along with the necessary data structures), which improved app UI responsiveness by pushing heavy computation to separate worker threads.
I led product sprint planning sessions by contributing issues and scoping features to implement within sprints.
Tools: C++11, Acrobat SDK, Visual Studio 2019, CMake
Aviation Systems & Electronic Hardware Engineer - GE Aviation (2014 - 2019)
Electronic Hardware Test Engineer (Jan 2018 – 2019)
I designed, built, and tested an electromagnetic interference tolerant interface box using optical isolators and fiber-optic cables. The interface was used to obtain data for Federal Aviation Administration qualification procedures for the hardware we built. I also wrote and executed test procedures for the qualification of flight-ready electronic hardware and designed printed circuit board test adapters using Altium Designer to facilitate test procedures.
Avionics Systems Engineer, Power Conversion (July 2015 – Dec 2017)
I researched, analyzed, and validated the protections devices we used on various circuits for the hardware we were producing at the time (Note: for the curious, look up transient suppression diodes). I used MATLAB to compute energy absorbed by the device and accounted for environmental factors such as temperature and altitude. I also analyzed the impact of a lightning strike on aircraft electrical sub-circuits.
I also wrote and managed the hardware requirements document for the 777X Backup Electrical Power System (BEPS) converter using DOORS.
Avionics Systems Engineer, Aircraft Health Data (Aug 2014 – July 2015)
I wrote and reviewed requirements for the aircraft health management unit. I also developed and executed test procedures for the aircraft health management unit.
- University of Dayton MSc in Electrical Engineering, Dayton OH, May 2017
- University of Notre Dame BSc in Electrical Engineering, Notre Dame, IN May 2014
- AWS Certified Solutions Architect – Associate April 2021
- Web Programming Technical Certificate, Sinclair Community College, Dayton, OH May 2020
- AWS Certified Developer – Associate Nov 2019