Pittsburgh Pirates – 2021

Logo of the Pittsburgh Pirates

I have written before about trying to get jobs in major league baseball front offices (Houston Astros – 2019, Los Angeles Dodgers – 2015, Kansas City Royals – 2014, New York Yankees – 2014), and had kind of given up after Houston told me that they could not pay me what I thought I was worth. However, Teamworks Online, which is the website that many major league baseball teams use, sent me an email notification about a job opening that said “Developer, Baseball Informatics – Pittburgh Pirates”. So, I submitted my custom-tailored baseball resume. At the time, I was rather frustrated with my lack of progress working towards a promotion at Indeed, and thought maybe a change of pace would be good. Plus, given how close the pandemic was still, I thought that they hopefully would let me work remotely.

I applied via the teamwork site. Initially, I received an automated email stating that I would not be considered for the position. However, a couple of weeks later, a fellow with the title “Director, Baseball Informatics” from the Pirates reached out to me:

Thanks for applying to our open developer role. I believe you may have received an email that you were no longer in consideration. However, that was sent in error so I wanted to reach out to see if you still had interest in the role and if so if you’d be able to have a brief phone call this week to discuss.

This was right up against the holidays, so I responded with a good time to call, and wished him Happy Holidays. He called me the next morning. We talked about my time on Usenet in rec.sport.baseball, my time in Project Scoresheet, and in Retrosheet, and the fact that I knew somebody in the Cleveland Guardians front office, etc. I also talked about my technical experience, of course, with my mixture of front-end, middleware, and backend development. I also talked about the technical screen I did for the Astros in 2019, and pointed him to the two coding projects I did, an inning simulator, and a web page the graph pitch locations and velocities over home plate using data provided by PitchFX(you can see this in the above-mentioned Houston Astros article).

And, of course, they provided their own homework assignment. They wanted me to design a “draft board” application that allowed employees of the organization to see data about potential draftees real time during a potential major league baseball draft. They wanted it to be “highly-available” and robust in a hostile network environment.

Looking back, I did do the assignment as presented. They wanted a lot of front-end features, talking about things like “Zoom functionality on the lists of digital magnets so users can see more or less of a list at once” or “A select group of users (admins) need to be able to re-rank players within a list and move/remove players from lists. These changes need to update on general users’ computers in near real-time.”

I know I wasn’t going to compete with a strong front-end developer on these kinds of features, so I concentrated on requirements like “During the draft itself, MLB provides an API that you can use to query drafted players. The app needs tocommunicate which players have been drafted in near real-time while the draft is happening.” and “This application needs to be highly available and able to handle significant service outages.”

I had significant experience developing APIs at Indeed; that is, the interfaces that user-facing applications use to get data to present to the user. And I had significant experience in making sure that the servers for that data were robust in the face of a hostile environment, or a experienced a significant load. And I could talk intelligently about security.

So my presentation was all about how this potential application would get all of the data it needed to make the application work. I talked about implementing a GraphQL service, using Amazon Web Services, monitoring with Datadog, and logging, with horizontal and vertical scalability, etc. (Sorry about all of this technobabble, but this is how I know how to implement something like this).

When I logged into the Zoom call, the director I had been talking to was there. He had three developers from his team, all of whom had been their a long time. I spent the first part of the call answering questions from them.

Then it was time to do my presentation. I spent about 45 minutes talking about the project and all of various facets that I felt needed to be developed and addressed. At the end of this discussion, I answered quite a few questions about this approach. At the end, I answered a couple more general questions, and then the call was over.

A few days, later, I heard back:

Thanks again for your time with us in this process. The panel was impressed with your technical depth and we all appreciated the time you took with the project and visualizing your thoughts and ability to walk us through it. While you were one of three strong candidates, we’ve decided to pursue another candidate for the role.

Specifically, one thing we wrestled with is how the skillset of each candidate fit with where we are as a group. The general feeling here was that your very strong middle tier skillset would be a better fit if perhaps we were a bit larger and had the ability to be more segmented in our work. Obviously, you have a number of strong skills and experience that would also be beneficial but wanted to give you some of that feedback.

I’m happy to jump on a call to discuss further but wanted to get this to you as soon as possible.

Thanks again and best of luck!

I was not terribly surprised, but I thought that this was a pretty positive rejection. I wrote back:

First of all, please thank everybody for their time. This was a fun thought exercise for me; I really enjoyed developing it.

The feedback in this email is greatly appreciated, and it is sufficient to explain your thinking. I wish you and your team (and the Pirates as a whole) great success in the future.

The Pirates are absolutely notorious as being the most miserly baseball team. The consistently have the lowest payroll. They receive a lot of revenue sharing as a result.

And it shows on the field. They last won a World Series in 1979. They went to the playoffs three consecutive years in the early 90s when they had Barry Bonds. But once he left, they did not go to the playoffs again until 2018. They had a brief stretch when they had used their advanced analytics to hire a great catcher, and had some good young players. But they never advanced past the first round.

Leave a comment