Chris is a seasoned programmer with over 30 years in the tech industry, including 15 years in gaming. His career has been marked by a diverse portfolio of projects, ranging from charming mobile games to cutting-edge VR and AR experiences. Recently, Chris has been channeling his passion into developing educational games that help children to love learning.
At Prodigy, it's not atypical to have a dozen or so PRs merged per day day. We were running into situations where we're ready to merge, but out of date. We were really looking for some automated solution to solve this.
Merging multiple PRs per day meant re-running 20-minute automated checks before a deploy. The constant stop/start meant developers being out of date with mainline. This constant context switching slowed code deployment and bogged down the team.
At Prodigy, it's not atypical to have a dozen or so PRs merged a day. The problem we were facing is that we would have automated checks that run on our PRs before they can be merged.
We were running into situations where you're ready to merge, but you're out of date. So you hit the update button, these automated checks could take up to 20 minutes to run. After running, you may find that someone else has also been waiting to merge.
There's the context switching of having to come back and wait.
We were looking for some automated solutions, and Aviator was able to provide that in in a nice way where you just tell it you're ready to merge, forget about it and it will let you know when it's done.
I think the docs are pretty good from what I remember on the Aviator site. The one that helped me the most was the API docs, understanding what each field does. And I was able to go through field by field and decide which we needed.
Aviator’s documentation made it easy to integrate Aviator, and for their developers to be onboarded.
Aviator enabled Prodigy’s developers to deploy code without switching context and re-running lengthy automated checks. An internal survey was taken, in which the developers had positive feedback to running deployments with Aviator.
Unfortunately it's all anecdotal. It's something that really can't be measured. Switching context, you want to merge something, but can't, and have to come back in 20 minutes to see if it's mergeable now.
Maybe you have to update and then come back later in the day. The impact is largely around that time savings and the context switching, being able to just tell Aviator you're ready to go and let it do its thing.
I did take a small internal survey after the fact and basically improved everyone's lives. So no one had anything negative to say after we did the integration.
My favorite feature of Aviator is that you don't see Aviator. You add the label in GitHub and you go do something else.
Aviator’s behind-the-scenes management of PRs, conflicts, and deployments meant less management from Chris’ team when it came time to push code.