Badges
Certifications
Work Experience
Software Engineering Contractor
Exolvo Designs Group• July 2021 - Present
The main responsibility of this contract is to debug and add features to a full-stack search-and-rescue antenna configuration application with a React frontend and a Go backend. These enhancements allow users to configure, rather than just view, other users, antennas, and available satellites from the application, easing and speeding up the overall configuration. In addition to that, I programmed an external command send/receive simulator to enable testing without the need for availability of the actual component and its server. This simulator can also be configured to simulate errors. To greatly reduce the probability of regression errors, I added a GitHub automated test pipeline. This pipeline includes system, Postman API, Windows Service, and unit tests. In order to test the program in a configuration matching that of clients, I set up a Windows Failover server test system on AWS. Finally, I upgraded AIS, Radar, and VTS track-handling software in Qatar. This software runs on Linux and uses MongoDB.
Software Engineering Contractor
Self-Employed• October 2018 - Present
One task was to debug a Python image-processing program for an Upwork client. The client was initially unable to get the Linux-written program to work on a Mac at all, and Mac-compatibility was added by me to allow the client to use it. In addition to that, I participated in and completed Hacktoberfest open source programming challenge in 2018 and 2019, contributing to and improving others' open source projects. I am continuing to develop solutions in open source and personal projects, such as adding menu items to Celestia, an astronomy software application.
Software Engineering Contractor
RK Mechanical• September 2020 - July 2021
For RK, I developed a system which consolidated product data such as UPCs and prices from various vendors, in order to simplify and organize material retrieval for company operations. This system was written in Python, Docker, and Django, used MonogoDB, and operated in the Azure and Mongo Atlas cloud.
Software Engineering Contractor
Spectra Logic Corporation• March 2019 - October 2020
My primary task here was to program automated test software using Go. This included a Unicode filename test which allowed the development team to determine which characters did or did not transfer properly when backed up to storage platforms such as Spectra’s BlackPearl, NFS drives, CIFS drives, and AWS S3. Another task was to refactor API test interface code to make it significantly easier and more intuitive for testers to use. I also configured and executed data transfer performance tests using VMWare, various storage devices, protocols and configurations, and operating systems, to help the development team increase throughput and to ensure that specifications were met. This work helped to increase data scan speeds tenfold. Finally, I added, updated, clarified, and corrected Confluence documentation, and reported the results there, which allowed managers to easily gather them for reports.
Solar Installer
Golden Solar• April 2018 - October 2018
Volunteer Solar Installer
GRID Alternatives• November 2017 - April 2018
Senior Software Engineer
Polycom• November 2015 - September 2017
My primary responsibility was to debug the DMA (Distributed Media Application) code, written in Java and bash, in order to ensure that video calls of various protocols worked properly. I also reated an integration test framework made up of Python code and several docker images for the Microsoft AQUA project, to simplify and automate integration testing. In addition, I added new DMA functionality, with an emphasis on REST API services. Finally, I updated and ordered system configuration pages on Confluence to make them much easier for coworkers to understand.
Software Engineer
Techno-Sciences, Inc• August 2008 - September 2015
Most of my time was spent analyzing, designing, writing, and upgrading C++ device drivers for a variety of hardware such as joysticks, video servers, and cameras, as well as the code for inter-driver communication. Also, I designed Java GUI elements for these drivers and wrote the underlying code. I also built software programs to simplify hardware configuration for installers in the field. For that purpose as well, I wrote technical documentation for use by system users as well as other software programmers. Other responsibilities included creating Bash installation scripts to simplify installation of complex software, serving as lead software deployer and debugger on overseas maritime surveillance projects in Qatar, Indonesia, and Morocco, in which the systems contained both Windows and Linux machines as various hardware devices. In addition to all these things, I programmed a video recorder interface in C++, executed board and microcontroller software debugging of a 406Mhz distress beacon, participated in surveillance system hardware installations on several naval vessels in Indonesia, and refactored camera control C code into C++ to take advantage of the additional functionality, significantly reducing the size and complexity of the code.
Education
University of Maryland University College
Electrical Engineering & Computer Science, Professional Master of Engineering• August 2009 - June 2013
Drexel University
Electrical Engineering & Computer Science, BSCE, BSEE• September 2003 - June 2008