Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Find and prevent compliance failures
Continuous Delivery for Puppet Enterprise
Build, test, and deploy infrastructure as code faster and easier
Compliance Enforcement Modules
Remediate to stay in compliance
Content & Modules
Pre-built scripts to automate common tasks
Get Puppet Enterprise
First 10 nodes are free!
Try it now
Request a demo
Find thousands of component modules built by the community and guidance on using them in your own infrastructure.
Visit Puppet Forge >>
Open Source PuppetPerfect for individuals and small infrastructure
BoltAutomate tasks in orchestration workflows
See all open source projects >>
Contribute to open source projects >>
What does cross-team collaboration, git murder mysteries, and role-playing games have in common? The incredible DevOps superpowers of Ben Ford and Garrett Rowell answer those questions for you in this Pulling the Strings episode. Their collaboration resulted in an engaging game that debuted during Puppet Camp for attendees to play. The rocking, virtual scavenger hunt allows you to use your technical skills to solve problems while also having fun at the same time. Put your headphones on and crank up the treadmill!
00:00:19DemetriusHey, everyone, thanks for joining this episode of Pulling the Strings podcast powered by Puppet. I'm delighted to be your host. My name is Demetrius Malbrough, principal technical product marketing manager here at Puppet. And I'm really excited today to talk with Garrett Rowell, professional services engineer, and also Ben Ford, developer advocate. Garrett, please introduce yourself first, if you don't mind.
00:00:45Garrett RowellYeah, hi, I'm Garrett Rowell, a professional services engineer here at Puppet. So I started my career thinking that I wanted to be a Java developer. That really only lasted a few months, and then I decided to switch roles to a sysadmin, where I was then introduced to Puppet, and fast forward to about eight months ago, and now I'm with the Puppet team.
00:01:07Demetrius MalbroughFantastic. Thank you for that intro. Ben, can you tell everyone about yourself?
00:01:13Ben FordMost definitely. Hey, everybody. My name's Ben Ford. I have been in the Puppet community for quite a long time now. But before I came to Puppet, I was actually working at a university and one of the things that I did was, somehow I got roped into teaching a Java class. So there's like a common thread there. But teaching a Java class for anthropology students who, I mean, they all knew how to, at least, turn on a computer, right, so I've had a lot of experience. I've done a lot of work with people who have been exposed to new ideas and new things. And when I came to Puppet, I use that in our education department and use it to kind of facilitate sharing ideas in ways that were, you know, unique, different, got past some of the barriers that people have. And that's kind of what we're still doing today in the community. I'm working on ways that people can be exposed to new information to learn new skills in ways that are, you know, maybe interesting or fun or maybe something that they've not tried before. And that's sort of what we're talking about today.
00:02:13Demetrius MalbroughFantastic. Well, today we are going to talk about the inception of a game that was introduced to our Puppet camp several weeks ago. And the reason we are dedicating an entire episode on this is because I was thinking, what if we could play an engaging game doing Puppet camps where people could also use their technical skills to solve a problem while also having fun at the same time. So let me throw this first question out at you, Ben. Where did the idea for a game come from anyway?
00:02:49Ben FordI think I ran into something on Reddit, of all places, just poking around, reading stuff. I think was on one of the DevOps subreddits. And somebody had built a game that they had called a Git Murder Mystery. The idea was pretty basic, pretty simple. They they had to Git repository that had a whole bunch of commits and a whole bunch of branches and a whole bunch of stuff. It was an active repository that had clearly been used for a little while. And then there were some clues and you had to use your Git skills to poke through the history. Look at commit SHAs, look at authors, and use those to travel back in time and sort of identify who is responsible for this dastardly crime, the murder mystery part. And I thought, you know, I wonder if we could do something like that in the context of Puppet. And that's about as far as I got. I proposed that to Garrett and said, hey, I don't really know how to build this. I don't know what to do. But it seems like there's a nugget of an idea here. It seems like there's something that we could do. And he sort of ran with that.
00:03:51Demetrius MalbroughOK. So it sounded like you guys just really built off one another and you kind of collaborated together. But what did you want to accomplish by playing the game, especially like during the Puppet camp?
00:04:05Ben FordWell, in context of what's happening this year, I think we all know that we're sort of trying to reinvent what the physical events that we've had over the last many years be in a virtual space. How could we make them engaging? How can we make them fun? How could we give people something that they might otherwise be missing out on? So I'd been busy brainstorming and thinking of how we could get people engaged, how we could do things that kept people's creative side of their minds working, as well as just sitting there listening to dry lectures and talks. And so that's really what it was. It was like, we want to get people engaged. We want people to have fun. And we want for people to kind of learn at the same time.
00:04:42Demetrius MalbroughWhat about the parameters that you and Garrett discussed to build a game around? What are some of those?
00:04:49Ben FordThat's really interesting because I didn't really give him parameters. I didn't really say, hey, I need you to accomplish this, I need you to accomplish that. What I did is we just sort of sat down and we had some, like the return that we wanted out of it. And that is that, what I mentioned before, I wanted people to be engaged, have fun, and learn something. But the implementation of that I didn't really know about. So we just sort of had a few conversations and I said, hey, this is what I want to do. And he sort of looked at me like, you're crazy, you have three heads. And we talk back and forth a little bit about different ways that we could put that together. And he went from there and sort of like invented these things and checked in a few times. Hey, and what about this? What about if we do something troubleshooting instead of looking through code? What if we tried it using Bolt, etc.? A couple of things like that. And we just sort of like collaboratively built those those parameters you were asking about. We sort of went back and forth and explored the idea and used that to build out what the roadmap and what the game and what we were gonna be able to do with it.
00:05:50Demetrius MalbroughSo, Garrett, let's hear from you. So how did you get involved with this? And just tell us a little bit about that.
00:05:57Garrett RowellYeah. So I had a few weeks where I was not customer-facing, and my manager, Jaime Mickelson, asked me, hey, Ben has this crazy idea for this game, right, would this be something that would interest you? So for me, I thought, okay, this is, you know, a cool idea. Sure. I'll give it a shot. Let's see what we can build together.
00:06:20Demetrius MalbroughI guess, was this intimidating, you know, having a like a free creative license to just work on this game?
00:06:27Garrett RowellNot terribly. I mean, completely different from, you know, my day-to-day job. But I was up to the challenge, right, it was something that, hey, I normally don't get to do, and hopefully the community will get some benefit out of it.
00:06:42Demetrius MalbroughSo, OK, so let's go a little bit deeper. So how did you end up with, I guess, the gameplay and, you know, the framework of how the game is actually structured?
00:06:54Garrett RowellYeah. So first, what I did was took a look at the Git scavenger hunt game that Ben sent me and like, OK, well, can we make this work in a Puppet way and threw around a couple of ideas and some back and forth between me and Ben and, you know, the murder mystery theme really didn't seem to fit what we were after. I was having a real hard time making that work. So I pitched the idea of, hey, what if we actually instead made this a scavenger hunt where it's, you know, task-driven and things crop up, and the user has to solve for the problems that arise? And we kind of just went from there.
00:07:33Demetrius MalbroughGarrett, I have to ask this question and maybe jumping off topic a little bit, but what sort of games did you play as a kid and did that influence, I guess, your creative process here?
00:07:43Garrett RowellYeah, so I started playing a lot of RPG games as a young kid. Games like Legend of Zelda series, The Elder Scrolls Series, and way more than I can even list here. But one common thing between a lot of those games is oftentimes you are sent on a fetch quest where you have to go retrieve something and bring it, or whatever. So that really influenced me there because like, hey, that actually seems like something we could implement here. If a task arises, I have to go react to it somehow. So I thought that was a perfect fit for our little scavenger hunt idea.
00:08:23Demetrius MalbroughOK, great. So RPG and maybe I'm a little out of touch, what is RPG?
00:08:29Garrett RowellRole playing games.
00:08:33Demetrius MalbroughAlrighty then. OK. I just learned something new. So maybe I'm showing my age here.
00:08:39Garrett RowellThat's alright. Learning new things through a creative process, that's what this whole thing is all about, right?
00:08:44Demetrius MalbroughYeah, it is. I'd love to have a reprieve here so I appreciate that. But I guess digging into the story again. So how did that story evolve? And, you know, who wrote what parts? And just give me some really nitty gritty details about who did what and what was actually involved in the story.
00:09:04Ben FordSo Garrett kind of came to me with the troubleshooting idea, and he didn't really have anything fleshed out. He was just like, is this a thing that would work? Does it fit what we're trying to do? And I thought it sounded great. I didn't really have a vision as to how the game would end up going or like what the story would be. But I just said, yeah, I really like that. And we went back and forth just a little bit and he put together a lot of these scenarios. So, like, here's the thing that is broken, this is how you could fix it. And he, like, wove them into a timeline of problems going wrong, and came back to me with that. And then I thought, you know, if we took that and we evolved it just a little bit, we could turn that into like a, like connect the lines between them and turn it into an actual story, rather than just here's a problem, fix it; here's another problem, fix it. And that's how it kind of evolved from there. Garrett built the scenarios, and like what was broken and how to fix it, etc., and sort of put them together in a timeline. And then I sort of like wrote a story around it and connected them together.
00:10:04Demetrius MalbroughAnd I guess you can't tell us the story, but I guess someone has to attend the Puppet camp and wait to actually play with the game. Is that a fair statement?
00:10:13Ben FordI can't tell you the whole story because I would like you know, you give you a little bit too much advance warning on how to fix the things, but I can give you an idea of what the game's about. It's pretty straightforward. A lot of us have stepped into a new role, maybe at a new company, or switched teams or something, and we come into something brand new. We don't really know anything about the infrastructure we're looking at, but something's not right about it. And so as you learn how the infrastructure is set up, as you learn what moving parts are where, you start finding things that you have to take care of, that you have to fix to get their infrastructure working properly the way that it should be. And so that's what this game is sort of revolving around, it's like if you come into a new, a brand new infrastructure and you start exploring, just kind of like what Garrett was saying earlier about the RPG, where you explore and as you explore, you find tasks, you find problems that you have to solve. It's the same way when we explore new infrastructure, you look for things, you identify problems. And as you solve those problems, sometimes that leads you to another problem. And that's sort of what this game was about. Here's an infrastructure, figure out how to get it running.
00:11:16Demetrius MalbroughThat seems like a fantastic storyline. And I do have to admit that I have not had a chance to play the game yet, Ben. But I promise that I will take an opportunity to sit down and see if I can actually work out how to solve the puzzle and the problem and work through the game.
00:11:33Ben FordWell, you're in luck here because we have another Puppet camp coming up on the 25th, that's June 25th.
00:11:39Demetrius MalbroughI have to check my calendar though, Ben [laughs]. So before we wrap up, do you have any advice for anyone just starting out in their career in automation and where this type of creative thinking and problem solving is beneficial?
00:11:58Garrett RowellYeah. So one thing I would like to mention is just don't be afraid to try something new, even if, you know, it's not something you're used to doing, right, it took several iterations to make this game what it is. And between the constant feedback of me and Ben just throwing ideas at each other, this came out of that. So if we weren't willing to try something new, this would have never happened.
00:12:22Ben FordAnd I think too, like if you want to look at creative thinking and problem solving, the thing that always strikes me is people often think that they have to like be a technical expert at a thing to identify a problem, and I don't think that that's true. I think it's more about like how you think about a problem and how you look at like what could be wrong and figure out how to eliminate different things. And you don't have to be an expert to know how to, like, reduce that problem space a little bit. The more you reduce the space of things that could be broken as you're going through this troubleshooting process, the easier it becomes to see what might be wrong. So if you just start reducing, like logically cutting down the number of things that could be causing the problem you're looking at, often you lead yourself right to the answer and without the expertise that you might have thought you needed.
00:13:08Demetrius MalbroughYeah, that is great advice from both of you. I appreciate that. And Ben, I really love your statement: you don't have to be an expert. And for those who are maybe new starting their career, the number one and most important thing that I have learned in my 20-year career is to, number one, make sure that you are -- I hate to say this, but -- hungry and passionate about what you're doing. If you do have that hunger to learn more, then you actually take the time to dig into exactly what you would like to learn and the objectives that you would like to uncover when you are actually out there looking for a new position or looking for that first job, whether it's an internship or if it's the next career jump.
00:13:53Ben FordI really like that idea, because it sort of leads you to look at not just the immediate solution, but like dig in a little bit deeper and go to the next level of what maybe that fixes. Maybe that's the break fix to your problem. But what could be causing that in the first place, and maybe going a little bit further not only solves the problem today, but it helps prevent the problem from reoccurring later on down the road. Or maybe it identifies ways that that could be sort of, like, manifested in other ways. So that hunger of looking just a little bit further, looking like one level deeper, it's going to pay off every single day.
00:14:29Demetrius MalbroughWell, there you have it, Pulling the Strings listeners. Thanks for sharing with us. And the final question, I guess if someone wanted to play this game, how would they go about playing this game? Is there any other way that they could play this game?
00:14:43Ben FordWell, right now, the only way to get to the game is by attending a Puppet camp. No surprise. That's one of our big draws right now. But we are talking about ways that we could reuse some of that content. We've been talking about doing like, I don't know, like what you would call it, tournament sort of style in Slack periodically. And we also built the content framework to be a little bit reusable so that maybe the pro services could use it in their trainings or maybe we could do it in workshops, because it doesn't take a lot for us to set up one of these games. So at some point, we'll make it available for things that aren't just a Puppet camp. You want to talk about that a little bit, Garrett?
00:15:25Garrett RowellYeah, I mean, that was definitely something that we took into consideration in the beginning as well. It was OK, let's get something going for this Puppet camp, but how might I be able to use this elsewhere, right? And like Ben mentioned, it has potential for trainings or just in general other scenario-driven type situations. So we definitely did think about how this might be deployed in other scenarios than just the Puppet camp.
00:15:54Ben FordAnd for anybody listening who's not quite familiar with what our Puppet camps are, it's just our community-oriented conferences. We run them globally at time zones all across the world. You can find out more about them at the Puppet.com webpage or just follow the link at the bottom of the podcast.
00:16:09Demetrius MalbroughAnd I would like to thank our guests, Ben and Garrett, for sharing with us on Pulling the Strings podcast, powered by Puppet. Thank you.