Parker Hess

Austin, Texas 78745 · (217) 819-0522 · parkhess217@gmail.com

I am a data engineer that enjoys finding creative solutions to complex problems.



Education

University of Illinois Urbana-Champaign

Bachelor of Science - College of Engineering
Computer Science - Intelligence and Big Data
August 2015 - May 2020

Mahomet Seymour High School

August 2011 - May 2015

Work Experience (Climate LLC)

Climate LLC is a subsidiary of Bayer that works on collecting farming data and data from other sources to produce models that then can be provided to farmers to help them improve yeilds through machine learning models. I was on the "Governance, Engagement and Innovation" subteam of the Data Team as a data engineer
  • Maintaining ETL data pipelines run in Domino Data Lab
  • Building out and maintaining an internal pipeline tracking tool known as data provenance
  • Coming up with and refining processes deployed throughout the data team to improve workflows
  • Working on data quality tools to ensure data met certain quality critieria
  • Maintaining various dashboards that provided insights into our data

Work Experience (Silverwork Solutions)

Silverwork Solutions is a smaller start up company the develops software for automating parts of the mortage lending process. I began working there in September 2020. The company's clients are mortgage banks all over the United States. My role as a software engineer came with several responsibilities such as:
  • Writing and Debugging Object Oriented C# Code
  • Using FlaUI to automate the processing of loans on industry standard software (Encompass)
  • Utilising SQL to store and fetch data using Microsofts Entity Framework Core
  • Working with my team to develop and maintain software in a scrum development environment
  • Managing Deployment of some software into production fro both bug fixes and enhancements
  • Interacting with the client to provide support and aquire requirements for future enhancements
  • Rigerous use of Git, Unit and Integration Testing, Clode Style Conformity, and other practices associated with the engineering of enterprise level software.

Python Game

This project was an attempt to recreate a lot of the main features of minecraft in python3 in a way that was also very performant. One of the challenges was to be able to minimize the number of rendered objects while still being able to manipulate the voxels of the world. My solution was to have the primary loaded world vertex data in a single object and a second object used to hold the vertex data of new block faces in the event a new one was discovered. The vertex data of the primary object was manipulated in GPU memory to remove destroyed block faces. There were many other technical challenges that I had to find solutions to in order to maintain game performance and prevent lag spikes.
  • Dynamic world loads and saves to disk
  • Perlin noise based world generation
  • Multiprocessing to separate rendering from vertex data construction
  • Directional lighting and shadows using custom GLSL shaders
  • Libraries used: Pygame, ModernGL (A OpenGL 3+ wrapper)
  • Demonstrantion Video here
  • Code on Github here

Simplified Map Reduce Engine

This project was for my Distributed Systems class at the UofI. The project was written in Golang and was built up in multiple stages. The first stage was creating a heartbeat based failure detector. The second was creating a simplified distributed file system that was fault tolerant and performant on top of the failure detector. The second stage was also responsible for the leader election. The final stage was to use the distributed file system to store temporary files on each node that contained the sharded dataset. The nodes would then apply the map and reduce stages to the dataset and return the compiled output back to the client that requested the operation. There was substantial use of goroutines and pipes both within the stages and connecting the stages.
  • Tested to work on up to 10 virtual machines with bully algorithm leader election
  • Fault tolerant with up to 3 simultaneous node failures even while processing
  • Congruent runtime with apache mapreduce on a 100MB datasets over the 10 VMs running various map reduce programs

Android Game

This project for my Software Design Studio class at the UofI. The game has ways of playing. The first is against a bot and the second is multiplayer with a friend by sharing a code with them. There is a python3 tcp server that handles the sessions and saves the player’s wins and losses to an SQL server. The app also lets the user check to see where they are on global leaderboards and what other peoples scores are. The game is round based and handles all the edge cases regarding players not joining a game or timing out and closing a game session.
  • Java android game made using Android Studio
  • Rendering on a mobile device and handling screen inputs
  • TCP connections to a python backend
  • MySQL querying from the python server to save, update, fetch, and delete data
  • Custom login and authentication system

Skills

Programming Languages
  • Python3 (11 years experience)
  • Java (7 years experience)
  • C++ (6 years experience)
  • C# (6 years experience)
  • SQL (6 years experience)
  • Golang (1 year experience)
Tools & Other Skills
Pygame OpenGL, GLFW, TensorFlow, SKLearn, Numpy, Matplotlib, Pandas, ModernGL
Threading, Networking (UDP and TCP), Git, Unity3D (Including OVR game dev), Docker, Msys2, Clang, GCC, SSH, Verilog