iRacing Q&A: Dan Garrison
July 18th, 2014 by JaimeB
The next time an email or PM arrives from iRacingNews asking you to answer some questions for a story . . . you might want to keep Dan Garrison in mind. Away back in August of 2012, Dan took time to supply some “A’s” to our “Q’s” for an iRacer Profile. Fast forward to June, 2014 and iRacing.com was happy to welcome our newest employee, also known as senior programmer Dan Garrison.
This is not to suggest Dan got his job at iRacing strictly because of his iRacer Profile. There were, after all, the little matters of a BS in computer science followed by a lengthy stint with a company called IBM. But the iRacer Profile didn’t hurt his chances of making a cross-country move from Arizona to Bedford, MA as his place of employment.
As you’ll see, the change of scenery from the desert Southwest to the green (in summer, at least) of New England is not the first mid-course correction for Garrison.
Q: As far as I know, you’re the first person to parlay an iRacing membership into a job with the company. Can you give us a little insight into your professional background and how you came to go to work for iRacing?
A: I went to the University of Arizona, and my first degree was a BA in Music Theory and Composition; my main instrument is the saxophone, but I can get around a bit on a piano or guitar. Then after a two-year hiatus, I returned to school to earn a computer science degree and pursue my childhood fascination with math and computers.
Straight out of college I was hired by IBM as a software engineer involved with data warehousing. My first gig was working on the UI for Data Warehouse Manager. About mid-way through my career we acquired a smaller competitor, basically to get their data warehousing solution (DataStage) and their associated staff. I joined a team of their engineers but honestly it was a frustrating experience. I moved into customer support for the same product and, although the team was great, I longed to get back into development, ideally in something more interesting than databases and related tools.
“I started by going after my dream jobs . . . I figured if they didn’t pan out I’d expand my search. Suffice to say, I didn’t need to look any further!”
So after 14 years I decided to “look around” for other opportunities. I started by going after my dream jobs — applying at iRacing and a music software company. I figured if they didn’t pan out I’d expand my search. Suffice to say, I didn’t need to look any further!
I think the things that got my foot in the door at iRacing were my honest enthusiasm for the product, racing in general and programming. Of course, I didn’t just have enthusiasm, but I think that’s what separated me from the rest.
Q: When last we crossed paths, you were living in Arizona. Moving to New England must be quite a change . . .
A: Yes, Tucson and Massachusetts are pretty different. I haven’t experienced a winter here yet, so I feel like anything I say now would be highly premature. The cost of living here is noticeably higher, especially with regard to housing, but that’s to be expected.
Q: Have the perceptions you had of iRacing as a member changed now that you’re “on the inside” as it were?
A: The main thing I’ve learned is that, because we’re racing one another across the internet, things are never simple. The code has to deal with possibilities and complexities which — as a member — is difficult to fully appreciate; collisions, which is what members generally notice most, are only part of the problem!
Thankfully the team here is extremely dedicated and quite clever, and I’m impressed with the way they’ve been able to solve some formidable issues. It’s really pretty amazing that you can essentially race someone across the planet in real time, and the engineering that makes that work necessarily introduces a lot of complexity. Unfortunately, the result is that fixing something or adding a feature is generally much more painful than you might think from the outside.
Q: In retrospect, as a member, what was your biggest misconception about iRacing that has changed since working for the company?
A: I figured most everyone here would be getting together Friday afternoons and running races against one another. But I think most of the team is ready for a break from thinking about iRacing by the time Friday rolls around! For the most part though, honestly, things at iRacing are pretty much what I expected. The people here enjoy what they do, but work hard. Maybe there is a relationship between the two?
“Things are never simple . . . fixing something or adding a feature is generally much more painful than you might think from the outside.”
Q: Having got to know the “public face” of people like Dave Kaemmer, Tony Gardner, Steve Myers, Grant Reeve and Shannon Whitmore as a member, what’s it like getting to know them and working with them on a daily basis?
A: Everyone here has an interesting story that brought them here, and the guys at the top have their own unique personalities, but are all amazingly accessible and down to earth. They love the company and seem to enjoy playing their part in making it a success. It wasn’t that long ago that I first spoke to David K. during a phone interview, so I still vividly remember the nervous energy I had then. Occasionally, in the office it hits me out of the blue: “Whoa… I’m sitting here with Dave Kaemmer discussing computer science!” In a way I hope I never completely lose that feeling.
Q: How does your experience as a regular member influence or help steer your work at iRacing in a “member friendly” fashion?
A: I’d like to think that I’ll be able to represent the membership to some degree, and certainly I try to put on my “member” hat during discussions with teammates. I was told many years ago that it’s easy for engineers to get caught up in some technical problem that is theoretically interesting, but ultimately has little to no effect on the way customers use the product. I’ve tried to keep that in mind during my career.
Q: Can you explain your role at iRacing?
A: I’m still getting my feet wet to some degree, but my focus is on the simulator itself. Of course all the pieces are related, so you need to understand to some degree how it all “hangs together” and I can imagine working a bit on the server-side of things at some point. As part of getting familiar with the code and the tools, I’ve started looking into some minor bugs on my own, one in particular which used to hit me as a member. As you might expect, the fix is not going to be simple.
Q: I gather that your name and the term “dynamic track conditions” are being used in the same sentence around the office . . .
A: I’m starting to do some work on what I’m calling dynamic track data – the ability for the track to change at a fine level during a session. We’d like to model things such as the racing line getting rubbered-in and warming-up when interacting with the tires, and perhaps debris or fluids on the track. There are clearly several challenges in doing this and I’m still in the beginning stages, looking at different implementation options and trying to anticipate potential problems down the road (so to speak), but it is definitely an exciting project!
“I’m starting to do some work on what I’m calling dynamic track data . . . definitely an exciting project!”
Q: Can you elaborate a little on some of the challenges? Will that lead, sooner or later, to dirt tracks?
A: Some early considerations are: coming up with an implementation that will be fast and usable for both physics and the graphics engine; designing a scheme that provides good “resolution” with a reasonable amount of memory consumption; and, handling the fact that cars joining in the middle of a practice session will “inherit” the current track state rather than the “green” track they’d have if they joined at the start.
We’re not really talking about dirt tracks a lot yet, but certainly it would be more realistic with a dynamic track vs. a static one; so in a way this does help open the door for something down the road (so to speak).
Q: You mentioned that, by Friday afternoon, most everyone at iRacing is ready for a bit of a break from sim-racing. Now that you’re working on iRacing 40+ hours a week, do you still have time and the passion to sim-race in your spare time? If so, how are you doing?
A: I would love to keep racing, but I do seem to have less time now than before! A weekend or two ago, I did my first race in a few months. I practiced the Lotus 49 at Okayama for an hour or two and decided to jump into a race, even though I hadn’t driven in a long time and wasn’t as prepared as normal. Thankfully the L49 races are now about half the length they were originally!
Right at the start the guy in front of me failed to pull away from his grid spot, and I had to maneuver around him and let a couple of guys get by me. I managed to go the whole race without incident, finishing fourth which all things considered was a great result, and it was a good reminder of how much I enjoy sim-racing. I’d like to drive one of the Lotuses (Loti?) next season, but we’ll have to see…
Q: Tell us a little more about yourself outside of iRacing . . .
A: I am married and we have a five-year-old son, who asked that I try to build “iRacing for kids” so he could play! I’m a baseball fan and so I’m looking forward to visiting Fenway, and I used to run a poker league back in Tucson. I own a couple of pinball machines and have learned to maintain and fix them. Lately I’ve gotten more and more interested in the history of Formula 1, and of course I watch the races on the weekends.
Q: Apart from bachelor degrees in music and computer science, what advice do you have for someone who wants to follow in your footsteps, not so much in terms of getting a job at iRacing, but in pursuing a career in the video game “industry.”
A: I’m not sure I’m the best person to ask! I guess I could just give some general advice along the lines of going after your dream job: don’t give up hope if it doesn’t happen right away. Keep improving yourself and taking pride in what you do, and you will get noticed and opportunities will come.