Robert Herber

Senior Software Engineer

Las Vegas, NV · rwherber@gmail.com

I am an enthusiastic software developer who enjoys building cool software and solving problems.

View Resume as PDF
View Projects as PDF

Experience

Senior Software Engineer

Microsoft
  • This journey has just begun...
March 2022 - Present

Software Engineering Lead

MGM Resorts International
  • Led a team of 15 engineers to develop and maintain many services written in C# .NET in Azure to facilitate our digital check in process
  • Delivered digital check in’s first monetization feature, reservations addons, generating $1.3M in the first two months
  • Designed and developed a cloud housekeeping service that remains in sync with the on-premises source system while providing a fast, highly scalable, and highly available service to clients
July 2021 - March 2022

Senior Software Engineer

MGM Resorts International
  • Delivered core backend services for contactless digital check in 6 months ahead of schedule resulting in helping the company reduce operational loss from $300M per month to $100M per month
  • Led the development effort to build a GraphQL layer using Apollo Server (NodeJS) and Typescript on top of many REST services to provide a unified, easy to consume API for client applications
  • Designed the GraphQL service to scale up and out to handle millions of requests per day using AWS ECS and Lambda
  • Built CICD using Github Actions to automate testing, building, and deploying to production and non- production environments
  • Utilized Terraform infrastructure as code to automate creation and updating of cloud resources during CICD
  • Built automation to create dashboards and monitoring and alerting to ensure the team consistently meets out 99.9% uptime SLA
January 2020 - July 2021

Applications Developer II

Centuri Group
  • Led the initiative to convert our back-end web services to .NET Core from PHP, leading to up to 100% speed increases on HTTP requests and resulting in better integration with our otherwise Microsoft stack
  • Mentored junior and senior developers alike on C#, TypeScript, and common design patterns
  • Led the effort to start using TypeScript for front-end development, leading to more maintainable, selfdocumenting code with less run-time errors
  • Worked as part of a team to design, build, and maintain various in-house applications used by workers to automate daily progress reporting, safety audits, materials management, and more
  • Developed and maintained many RESTful APIs using SlimPHP (PHP), and .NET Core (C#)
  • Developed and maintained many client side applications using JavaScript, AngularJS, VueJS, and Xamarin
  • Improved the development speed of the team and the maintainability of the PHP codebase by building an OData Query Builder library for quick and fluent building of OData queries
March 2019 - January 2020

Software Developer Contractor

Wellborn Cabinets
  • Developed a web application (using Bootstrap, PHP, JavaScript, SQL, and the Google Maps API) and an accompanying IOS application (using Swift) that allows a user to define a geofence shape on a map. The shape is then saved in a database and anytime a user with the application installed on his/her phone enters or exits any shape saved in the database, the entry/exit is recorded in the database
  • Created a web application (using JavaScript, jQuery, AJAX, and PHP) that allows users to create room layouts with various 2D shapes. The shapes all have collision detection and will attempt to find the next available area to occupy if a collision between two shapes occurs. The system also allows users to save and load room layouts in a local database
  • Utilized the Google Drive, Gmail, YouTube, and Google Calendars API to integrate Google account support into the company's existing content management system
  • Developed and maintained many PHP CRUD applications to collect, analyze, and display business data
  • Utilized the QuickBooks API and OAuth2 to build a web application (using PHP) to transmit and validate secure transactions to QuickBooks
  • Analyzed and diagrammed the company’s online ordering system using UML standards
  • Created a room designing program that allows users to design a room to their liking
  • Developed a scheduling web application (using PHP, SQL, and Bootstrap) that shows the available time slots for appointments based on the employee’s availability, room availability, and time and date
August 2016 - January 2019

Software Developer Contractor

Able Games LLC
  • Worked as part of a team to develop a mobile game (Android and IOS) using Unity and C#
  • Developed the game’s artificial intelligence using finite state machines and behavior trees
  • Optimized the game’s code to be able to achieve 30 FPS or more on target devices while rendering and computing complex tasks for up to 50 units on screen at once
  • Scripted roughly 80% of the game’s gameplay mechanics, logic, and features
  • Demoed the prototype to producers and marketing professionals at the 2018 Game Developers Conference
December 2017 - August 2018

Chemical, Biological, Radiological, and Nuclear Specialist

U.S. Army Reserves
  • Sergeant directly in charge of managing, supervising, leading, and training 4 people
  • Personally responsible for over $1.5 million worth of military equipment
  • Experienced in detecting, handling, analyzing, and decontaminating hazardous materials
  • Participated in 5 major Army training events
  • Completed and excelled in the Army Warrior Leadership Course
November 2009 - November 2017

Family Services Counselor

FamiliesFirst Network
  • Case manager responsible for 7 dependency court cases
  • Prepared and presented various legal documents to the court
  • Referred clients out to various community-based services based on family need
  • Responsible for assessing environments and people for potential child safety hazards
August 2015 - July 2016

Education

Master of Science

Kennesaw State University | Kennesaw, GA
Software Engineering

GPA: 4.0

January 2017 - December 2018

Graduate Certificate

Kennesaw State University | Kennesaw, GA
Computer Science Foundations

GPA: 4.0

August 2016 - December 2016

Bachelor of Science

University of West Georgia | Carrollton, GA
Criminology

GPA: 3.98

December 2010 - May 2015

Projects

WoW Auction House Watcher

Web Application
Skills Used: VueJS, TypeScript, REST, C#, .NET Core, Azure, Docker, Eventhub, Hangfire, Github Actions

  • Developed a service and accompanying progressive web application (PWA) that tracks auction prices for World of Warcraft that allows users to create watch lists and alerts based on price movements
  • API built to RESTful standards (including the use of JSON patch documents for patch requests)
  • MySQL and Entity Framework used for a code-first approach to database creation/updating through the use of migrations
  • .NET Core Identity and JSON Web Tokens used for user identity, authentication, and claims
  • Hangfire used for background job processing to collect auction data and clean old data
  • Azure Event Grid used for event based alerting
  • SendGrid used for email alerts
  • Hosted using Docker and Azure

Fireheart - Action Role Playing Game

3D Unity Game
Skills Used: C#, Unity

  • Developed a 3D action role playing game where the player can interact with game objects, fight enemies using a complex ability system, complete quests, and explore a hand-crafted 3D world
  • Utilized the state design pattern to implement non-player character behaviors. NPCs can search for specific targets, patrol areas, chase targets, attack targets using various abilities, follow and protect the player, and reset their states when needed
  • Utilized C#’s binary formatter to save player data between play sessions
  • Developed an ability system using the strategy pattern where the player can utilize many different abilities each with their own unique behaviors and effects

Entropy Game Engine

Game Engine
Skills Used: TypeScript

  • Developed a fully functional 2D game engine that can be used to build many different types of 2D games
  • Modeled after the Unity game engine's architecture (component based game objects, scenes, etc.)
  • Implemented computer path finding using the A* algorithm backed by weighted graphs, priority queues, and binary heaps
  • Implemented collision detection using spatial hashing
  • Built a system where the developer can programmatically describe the shape of a room/map and point to specific sprites on a sprite sheet and the engine will take that data, slice up the sprite sheet, build the described room with the smaller images, and then reassemble them into a single HTML image element for ready rendering
  • Implemented positional logic using 2D vector math
  • Built a custom system for input and event management
  • Built two sample games using the engine. One to demonstrate pathfinding and general engine features and another to demonstrate the physics engine
  • Tested using the Jest JavaScript/TypeScript testing framework

TypeScript Extended Linq

Library
Skills Used: TypeScript, NodeJS, Jest, NPM

  • Developed a library for JavaScript/TypeScript modeled after .NET's System.Linq with additional features from the popular MoreLINQ library
  • Published the library to NPM for anyone to use

TypeScript LRU Cache

Library
Skills Used: TypeScript, NodeJS, Jest, NPM

  • Developed a LRU cache library for JavaScript/TypeScript
  • Published the library to NPM for anyone to use

PHP OData Query Builder

Library
Skills Used: PHP, PHPUnit, Packagist

  • Developed a PHP library used to fluently build OData queries
  • Published the library to Packagist for anyone to use

Workout Scheduling Application

Web Application
Skills Used: C#, TypeScript, SQL, .NET Core WebAPI, Angular, HTML, CSS, Bootstrap, MySQL, Entity Framework, REST

  • Currently developing a web application that can be used to schedule workout sessions
  • API built to RESTful standards (including the use of JSON patch documents for patch requests)
  • MySQL and Entity Framework used for a code-first approach to database creation/updating through the use of migrations
  • .NET Core Identity and JSON Web Tokens used for user identity, authentication, and claims

First Person Shooting Game

3D Unity Game
Skills Used: C#, Unity

  • Developed a 3D first person shooter game where the player must shoot monsters and find supplies to survive an endless onslaught of enemies

It's Another Clue! - Riddle Game

Web Game
Skills Used: PHP, HTML, CSS, Bootstrap

  • Developed a web-based game where the player must answer five riddles in a row to win. The possible answers for each riddle are displayed as a list of 12 images; all with Nicolas Cage's face!
  • The system randomly pulls from a pool of 16 riddles. The system keeps track of which riddles the player has seen in the current playthrough so that the player will not see the same riddle twice in a given playthrough
  • The system will randomly pull from a pool of 30+ images to create the list of 12 possible answers for each riddle (11 images chosen at random and the answer image). The system ensures that no two images are the same for a given riddle answer pool.

WoW Guild Sales Application

Web Application
Skills Used: PHP, SQL, HTML, CSS, Bootstrap, MySQL

  • Developed a web application that allows the user to add sales events, customers, services to be sold and their associated costs, create groups of players for each sales event, track amount of in-game currency owed to the group from the buyers, how much the buyers have already paid, and how much is owed to each player. Data is driven by a local MySQL database, Blizzard’s Battle.net REST API, and Warcraft Logs’ REST API
  • Integrated Blizzard’s Battle.net REST API to automate populating and updating the player database
  • Integrated Warcraft Logs’ REST API to automate calculation of total in-game currency owned to each player based on who participated in each sold event. The system also filters out players who purchased the service from the calculations based on data from Warcraft Logs and the local player database
  • The system ties together all of a player’s characters in the database so that reports will show currency owned to that player instead of being split between each character that player played for the sales events

Restaurant Suggester Application

Web Application
Skills Used: PHP, Laravel, HTML, CSS, Bootstrap, REST

  • Developed a web application that will suggest a random nearby restaurant for indecisive individuals
  • The system allows the user to refine his or her search by searching by keyword and/or by distance
  • The system caches the results from the Google Maps API request which allows the user to cycle through the results with minimal API calls (a single Google Maps query can return up to 60 results split into 3 pages. If more than 20 results are returned, the system uses the next page token to retrieve results 21 - 40 and 41 - 60 for a total of 3 API calls per 60 results)

Side Scroller 2D Game

2D Android Mobile Game
Skills Used: Java, Android

  • Developed a 2D side scroller game where the player dodges falling objects and earns points by shooting down incoming enemies
  • The game has infinite levels where each level is increasingly more difficult than the last
  • No game engine was used to develop this game

Mars Clock

Android Mobile Application
Skills Used: Java, Android

  • Developed an android app that displays the current Coordinated Mars Time (the solar time at the Martian Prime Meridian), Mars Sol Date, Earth GMT time, and a time zone clock of the user’s selection
  • The Coordinated Mars Time and Mars Sol Date are computed using formulas provided by NASA’s website

Skills

Primary Programming Languages
  • C#
  • PHP
  • TypeScript
  • JavaScript
  • SQL
Secondary Programming Languages
  • Java
  • C++
  • Lua
Cloud Providers
  • Azure (Function Apps, App Service, CosmosDB, Event hub, Event Grid, App Insights)
  • AWS (Lambda, ECS, Fargate, ECR, AWS API Gateway, SNS, DynamoDB, Cloudwatch)
  • Google Cloud Platform (Apigee)
CICD
  • Azure DevOps
  • Github Actions
  • Terraform
  • Azure Resource Manager (ARM) Templates
Frameworks
  • .NET Core
  • .NET Framework
  • Hangfire
  • Apollo GraphQL
  • SlimPHP
  • Angular
  • AngularJS
  • VueJS
  • Unity
Testing Frameworks
  • NUnit
  • XUnit
  • JUnit
  • PHPUnit
  • Jest
Databases
  • Azure Cosmos DB
  • AWS DynamoDB
  • Microsoft SQL Server
  • MySQL
  • SQLite
Tools
  • Docker
  • Git
  • Visual Studio Code
  • Visual Studio
  • SSH Tools (PuTTY, WinSCP)
  • Postman
  • Microsoft Azure
  • Azure DevOps
  • Chrome Developer Tools
  • Debuggers
  • Package Managers (NPM, Composer, NuGet)
  • UML Modeling Tools (MS Visio, draw.io)
Concepts
  • RESTful APIs
  • GraphQL
  • Serverless
  • Infrastructure as Code
  • Object Oriented Analysis and Design
  • Object Oriented Programming
  • Design Patterns
  • Software Development Methodologies (Agile, Waterfall)
  • Testing and Quality Assurance
  • OData
  • LAMP Stack
  • MVC Architecture
Soft Skills
  • Leadership
  • Teamwork
  • Team-building
  • Management
  • Conflict Resolution
  • Collaboration
  • Written and Verbal Communication

Awards

  • Summa Cum Laude Graduate (2018)
  • Best Graduating Graduate Student (2018)
  • Summa Cum Laude Graduate (2015)
  • Dean’s List for 8 consecutive years at the University of North Georgia, the University of West Georgia, and Kennesaw State University (2010 - 2018)
  • Ingram Scholar Recipient: requiring a 3.75 or higher cumulative GPA (2015)
  • Distinguished Honor Graduate of the Army Warrior Leadership Course (2013)
  • Honor Graduate of the United States Army Chemical School class 22-10 (2010)
  • 3 Certificates of Achievement for excellent performances during various Army training events (2010-2015)
  • Achieved a “Gold” rating in the Georgia Work Ready program (2009)