PROFESSIONAL EXPERIENCE

314px-CoreLogic_logo.svg.png

May 2021 - Present

PROFESSIONAL, SOFTWARE ENGINEER - CORELOGIC

My current position

1625174595306.jpeg

April 2019 - March 2021

SYSTEM ENGINEER - UNISYS

Promoted from an associate system engineer, I was responsible for developing an API backend for a security product.  In addition to what I was doing as an associate, I was also doing transfer of information (TOI) for stakeholders and field engineers and been adapting new technologies to meet technical and business requirements.

January 2017 - April 2019

ASSOCIATE SYSTEM ENGINEER - UNISYS

This position was transitioned from my student co-op position.  The tasks and responsibilities were the same as the student co-op.

June 2014 - December 2016

STUDENT CO-OP - UNISYS

The student co-op position was with Unisys.  As a first time position I've held in the tech industry, I learned the ability to fix bugs, write documentation on our products, and communicate current bugs, patches, and software implementation.

 

SIDE PROJECTS

MATCHAPEDE

Hybrid between snake and match 3

Converse your centipede through 12 levels as you collect food, create matches with the same colors, and perform cascades to complete objectives.

Objectives can include:

  • Making a number of matches.

  • Making a number of cascades.  Sometimes even consecutively.

  • Matching a certain number of pieces.

  • Obtaining a minimum score.

  • Completing a level under a time limit.

Why?

While there's numerous variants of snake, I haven't really seen the case of a snake/match 3 game

Programming Languages

The program was developed under Unity and C#.

JEWEL1AI

The self-playing Bejeweled 1 Bot

Jewel1AI is a AI bot that plays Bejeweled 1.  It uses OpenCV to act as the program’s “eyes” and pyautogui as the program’s “mouse.”

There is currently one AI variant available with another one planned:

  • Rule-based

  • Reinforcement Learning (not yet developed)

Programming Languages

The program is written in Python.

Frameworks

The following frameworks are used for this program:

  • OpenCV

  • pyautogui

  • Numpy

NAVICOM SF 3050 GPS DRIVERS

Software drivers for the Navicom SF 3050 GPS device

When I was in my fourth year of college, I was recruited into a team project on building a rover for the Intelligent Ground Vehicle Competition (IGVC).  My responsibility was supplying the drivers for the Navicom SF 3050 GPS device.  Since the drivers were only built for Windows, I had to develop a kernel driver for Linux.

The driver is derived from a template from one of Greg Kroah-Hartman’s kernel examples.  The only differences are the changed driver name and additional code to handle the two interfaces.  I also added a user level library for getting certain attributes from the GPS.

Programming Languages


There are two components that make up this project:

  • The kernel driver is written in C

  • The user library is written in C++

Please note that C at the kernel level is very different than at the user level.