Get Puppet Enterprise First 10 nodes are free!
Try it now
Request a demo
Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Puppet Comply Find and prevent compliance failures
Compliance EnforcementRemediate to stay in compliance
Continuous Delivery for Puppet Enterprise Build, test, and deploy infrastructure as code faster and easier
Content & Modules Pre-built scripts to automate common tasks
CentOS EOL Here’s how to secure your CentOS infrastructure – even after EOL.
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 >>
Supposedly, Albert Einstein once said, “If you can't explain it to a six-year-old, then you don't understand it yourself.” That might be a bit harsh, but it holds true for teaching just about anything: You’ve got to meet learners where they are. That’s why Puppet recently launched new on-demand training courses and more. There’s a new, engaging way to learn how to do things with Puppet without going down too many rabbit holes.
On this episode of Pulling the Strings, Ben Ford interviews Principal Training Solutions Engineers Jain Waldrip and Tom Chisholm about designing training with “highly calibrated visuals,” the exciting new avenues for Puppet learners, and much more.
ON-DEMAND PUPPET TRAINING
What’s led Jain and Tom to their roles in Puppet training
What you can expect from Puppet’s new on-demand training courses
Introducing Puppet Console Overview, an interactive, guided tour of the Puppet Console
Take new on-demand Puppet training courses
Check out the PE Console Overview
Get in touch with the Puppet education team at firstname.lastname@example.org
Ben Ford [0:19] Hello again and welcome to today's episode of the Pulling the Strings podcast, as always powered by Puppet. My name is Ben Ford. I'm our developer relations director here at Puppet and I'm pretty active in the community as @binford2k. We may have talked once or twice. Today, we're talking with a couple of members of our education team. Tom Chisholm is one of the training solutions engineers. He builds stuff for the education team and one thing that I know about him is that he's a collector of rare books. So I'm curious to know what's your favorite rare book that you have?
Tom Chisholm [0:49] Yeah, probably one of the rarest we've got is the Richard Feynman's autobiography called Surely You're Joking, Mr. Feynman! What makes it rare is it's actually signed and that turns out to be Feynman's deal is he never signed anything. So I would say that one or first edition King Kong with the original dust wrapper.
Ben Ford [1:15] I did not know that about Feynman. I know that he was very much a joker.
Tom Chisholm [1:20] Yeah, he liked to play the bongos during his lectures and whatnot, but yeah, he had a thing about signing anything and so if you can find a signed Feynman white paper or book or anything, you've got a little gold on your hands there.
Ben Ford [1:36] That is really cool. Do you want to tell us a little bit about yourself?
Tom Chisholm [1:39] Yeah, Tom Chisholm, I've got a background in ... my career is kind of split in half. Started as a DBA and then moved into a DBA manager role. Then after reading the Phoenix Project and seeing a little bit of the writing on the wall, I made a slow jump to DevOps as I progressed through a couple of jobs. Moved to contracting, doing a lot of contracting work with DevOps, and then, saw the opportunity at Puppet to join the education team and made the jump here, going on two years now. I think it's a little over two years.
Ben Ford [2:17] That is pretty exciting. I have some very similar stories in my past. We should share some of those at some point. Jain [Waldrip] is the other person from the education joining us today. I have worked a lot with Jain. They're very, very, very incredibly helpful with any questions that I have about any of the things that they're working on, they're building right now and lots of semi-related topics. Jain, I saw that you put down that you are passionate about photography, so I was wondering if you had a favorite photo shoot or anything, and then if you wanted to talk a little bit more about your background and how that works.
Jain Waldrip [2:51] Sure, that sounds good. It's hard because I think as we grow and evolve with our art, we tend to like our more recent stuff better. So maybe one of my favorite photo shoots was in downtown Houston. We were on the rooftop of a parking garage and we did not actually have any models, but it was kind of a community meet and shoot. And my partner PJ, just went and found a random couple and they were both just finishing up a different photo shoot and PJ asked them, "Hey, do you want to come model for our photo shoot for a group of photographers of different skill levels and things like that?" And we got amazing pictures of them. So I think that's my recent favorite. It will change by the time this podcast is published, I think.
Ben Ford [3:48] I hear that.
Jain Waldrip [3:50] The favorite one that I've done yeah, is that one because those two women just had so much good chemistry that I could photograph them while they were talking and the kind of candid photos I took of them while they were talking actually turned out to be way better in terms of pose and authentic expression than the ones that I had them pose for, so that was very cool.
Ben Ford [4:14] That does sound pretty neat. I know that ... I think that I agree with you in the recency, it brings a benefit or you think of more recent things as being more exciting. I've realized that I have a lot of old projects that I'm excited about, that I've done, that I'm proud of, and looking back at them, I think that I'm more excited about the memory of them, kind of like, what's that phrase? Rose colored glasses memory.
Jain Waldrip [4:41] Yeah. I think there's two reactions that I can personally have when I look at any code that I wrote more than six months ago, and one of them is like, "Oh my God, what wizard wrote this?" I'll never be able to comprehend that. It's beyond my mortal kin. Then, the other reaction is, "Wow, what complete and utter simpleton wrote this?”
Ben Ford [5:03] They’re both me, right?
Jain Waldrip [5:05] Then I check Git and they're both me.
Ben Ford [5:09] Hold on. So do you have anything interesting about your background that you bring to the education team other than your beautiful photo shoots?
Jain Waldrip [5:16] Well, other than photography, which I actually do ... photography and videography are very interrelated skills, and I try to bring that when I'm recording class materials. I used to be a fire performer on the side and I have a lot of experience of having my hair on fire, and I think anyone in the DevOps world can relate to that. It's very immediately familiar.
Ben Ford [5:44] I think this might be the first literal story of hair on fire that I've heard, but yes, that is absolutely a thing.
Jain Waldrip [5:52] Actually, it's lesson of an event when you are spinning fire because you just end up brushing down your hair or you throw a smothering blanket over it, you're done. It's a five-second event. DevOps, or doing QA or anything involving a customer-facing environment, it can go all day. That hair on fire can last for hours.
Tom Chisholm [6:13] Had an outage last for three days once, that was a miserable experience.
Jain Waldrip [6:19] Nightmare.
Ben Ford [6:19] And you're just watching that counter just count up.
Tom Chisholm [6:22] Yep, money going out the door.
Jain Waldrip [6:25] We did a more career-oriented introduction with Tom, so I'm going to say ... also, I have the same title as Tom. I am a principal training solutions engineer. That's a lot of words and I'm not entirely like 100% sure of their relationship to each other, but I've recently, after over a year here at Puppet, learned to get the words in the right order, of which I am immensely proud.
Ben Ford [6:50] I know all the words. I'm not entirely certain what they mean in that order, right?
Jain Waldrip [6:54] I think that principle is the rank and training solutions engineer is because we are both instructors and we write a lot of code and server configs to get solutions up and running so that students can put puppet on them.
Ben Ford [7:11] Interestingly enough, I was part of the team that came up with that title to begin with, which is kind of funny, but we went back and forth and back and forth about what to call the people on the team and it was exactly what you've talked about because you can't just say instructor because we built so much stuff and people weren't satisfied without having that recognized and you couldn't say engineer by itself because that kind of pigeonholes you into one role and the training solution engineer is what we ended up kind of compromising on.
Jain Waldrip [7:43] Well then I feel very clever for figuring that out.
Ben Ford[7:49] That actually brings up my first question, as I'm curious to know, what got you all into education and tech education and what keeps you doing this? What keeps you teaching people?
Jain Waldrip[7:59] Sure. So in my 20s, my first job was in tech, and that I was a support technician for a video game company, when they launched the first play on the internet kind of live service. We did a third party support. It was very, very tight metrics. I learned a lot. I learned TCP/IP networking, stuff like that, and it was really hard for me after that though, to get jobs in my 20s because I didn't finish college until right before I turned 30. And as a trans woman in the early, early 2000s, I just was not considered very employable. A lot of people would find out about that on background checks and would not want to take a chance on me. They were a little too freaked out. That's kind of how the world was. So when I was living in the Midwest, I ended up getting a job right before I graduated college. I had used my tech skills at multiple jobs, even like administrative assistant jobs, building little databases for tracking employee things, and stuff like that, but when I got my first job in software development, right at the tail end of college when I was about 29, I was hired as a documentation developer because I was a linguistic student and I submitted a writing sample and everything. What we actually needed was we needed automation for our QA endeavors and I was fortunate to one, be kind of an autodidact and a self-starter, so I taught myself to code in Ruby primarily via Google. And two, I was fortunate to have a community of loosely related but easily contacted mentors in Ruby and I could just ask them when I had big questions and I had some background in technology. I knew how to write a little bit of code like Basic and Pascal, things like that, that we learned in school. This was my first chance to really get hands-on with programming. So, this opportunity to get a little bit of guidance from mentors, not a lot because they couldn't be very hands-on, they weren't there every day and just take my own skills and learn and go as far as I could. That changed my whole world. That made me immediately more employable. The tech world was a much easier one to find jobs in and I had a solid background skillset to build on and it just sort of took off from there and I am eternally grateful for that learning opportunity. So what I think is attractive about education is one, I am kind of a lifelong learner. I never want to stop learning new things. The world is so fascinating to me and two, it gave me so much to be able to learn on the job and workplace education can change your life. I know that because it changed mine and I really want to give other people as much of that opportunity as I can.
Ben Ford[11:27] I love that story.
Jain Waldrip[11:29] It was a bit long I guess, but it was very passionate also.
Ben Ford[11:32] It was very passionate and I was sitting here just engrossed in the story and I forgot to ask any questions.
Jain Waldrip [11:41] Thanks. Well, thank you. Thanks for letting me yeah, unfold the whole thing.
Ben Ford[11:47] No, that's great. What about you Tom? What is attractive education for you?
Tom Chisholm[11:54] I’ve always been fascinated by how some people could explain things that made intuitive visceral sense and there's a great feeling when you think, "Ah, I got it." I've always been fascinated at how some people can pull that off and others can't. So I've always been involved with education. In a prior life, I was a high school teacher for a little while until I got my first paycheck and then I go, "Somebody made a horrible mistake. Wait, that somebody is me." And slowly moved into tech after that. When I was a DBA manager, we got to talking and we figured it would be easier to train internally than it would be to hire and much cheaper. So I was involved with putting together training programs for DBAs that we would hire people from the help desk internally and bring them on to the DBA team, train them up slowly. I put together all those classes. I did that for two separate companies. The second company that I jumped ... when I was making the transition between DBA and DevOps, we actually did a bake off, the company I was at wanted to get into the config management business and this was about 10 years ago. So we looked at both Chef and Puppet and did a ... stood up a Chef server and did it all, to the motions of, you say which one is better. For a bunch of different reasons, we went with Puppet.
Ben Ford[13:28] The right choice of course.
Tom Chisholm[13:28] Yeah. Puppetized fleet of SQL servers 10 years ago, which was no mean feat at the time, which I'm still kind of proud of and then, put together a training program to bring on additional help at that company for writing Puppet modules and whatnot. So when the opportunity came up to join Puppet as a technical instructor, I jumped at it. It came down, there was two positions up in SE and tech instructor. I did the tech instructor jump.
Ben Ford[14:04] That’s pretty cool, and I like what you said about seeing somebody who can put the words out and help people make those shifts and understand something that they didn't understand before. Interestingly, I have a kind of similar background there, and that I had the pleasure/misfortune of working for a university some time ago before Puppet, and the interesting thing about that is that when you're attached to a grant, usually a slot for employment, a person that has worked into the grant and I was hired to build and maintain a supercomputer cluster or a supercomputer because the anthropology department that I was working for was doing massive, massive simulations, like population simulations. Their simulations were taking 32 days to run. So clearly, they needed a supercomputer do it, right? Once I was hired, the first thing I did as any good software engineer is I looked at requirements and looked at the code and looked at what we were going to do, and I realized that academics had written the code, scientists had written a code, not programmers. Let's just say they didn't know very much about buffering, and so the code that they had written was very, very inefficient and I changed one of their logging methods and it took their runtime from 32 days to about three hours.
Tom Chisholm[15:26] Nice. That's an optimization.
Ben Ford[15:29] It was ridiculous, but that meant that I was attached to a grant and if ... like I didn't have a job anymore, because I programmed myself out of building that super computer, I didn't have a job, but I was attached to the grant and if I had walked, the grant would've been retracted so I felt like obligated to stay. So I looked around and I found other things that I could do and I built myself a job and one of the things that I ended up doing was teaching those anthropology students Java so that they could help program in the simulation. So I was teaching people like this utter paradigm shift and just watching them do that and just watching them shift from into the mindset of telling the computer exactly what they needed it to do and just watching that click. That was when the education bug hit me and I was like, "That's a thing that I can do." It was just very cool, and when I moved into Puppet, that was the same kind of paradigm shift, is taking people from the battle days of writing shell scripts to "Hey, there's a ton of that that you don't have to do anymore because we actually have computers that are smart now.”
Jain Waldrip[16:35] First of all, hooray for Java and I'm also from an academic background because I worked on a university software for a while, getting academic librarians to agree on specifications for a library system was quite a feat because every university library uses a different metadata format for their catalogs. Secondly, I think I really like what you and Tom said both. I think that explaining things simply, even when they're complex, that's the primary job skill of an educator, whatever else comes along with it, engaging an audience, creating good written material, creating good visual material, the primary skill always comes down to simplifying complexity.
Tom Chisholm[17:27] I think it was Einstein who said, "If you can't explain your doing to a six-year-old, what you're doing is worth nothing." Now, that may be a bit hyperbolic but the principles that I agree with, think of folding ideas on YouTube or wait but why. These people take extremely complex ideas and they break them down into easily digestible chunks and usually that involves visuals. It's like get rid of the wall of text, get some highly calibrated visuals. When I say calibrated, I mean that has intelligence behind them, that a lot of thinking went into them to make them that simple.
Ben Ford[18:11] Yeah, and it's not always visuals either, it's understanding the different modes that people learn and the different things that they connect to, like finding the right metaphor or finding the right thing that they can anchor their learning to, that they already understand.
Jain Waldrip[18:26] Listening to whether people say, "I see or I hear or I feel.”
Ben Ford[18:31] It sounds like you both did a lot of both academic and self-learning and some mentoring and whatnot, and I'm curious to know how you feel like they all fit into how people can learn about a new topic or kind of like up-level their skills or whatnot.
Jain Waldrip[18:48] So I like mentorship. Some of my favorite people that I have ever worked for have also been the kinds of people that I can knock on their door and say, "Hey, I would love if you could mentor me on this." And I usually bring a problem and my suggested solution so that they don't feel like I haven't spent any time or effort trying to come to my own conclusion or my own solution. I think that what mentorship brings and training in particular is it brings a human element to learning because you can try and be an autodidact with anything, but there are obviously some skills that we require human training for, like doctors are very fond of saying, "You can't learn to be a medical expert just by Googling things." What you do learn in fact is if you Google things enough, is you have cancer and it's some bizarre intractable and treatable form, almost inevitably. That human experience I think is one of the best teachers and to me, the value of mentorship is getting to learn from someone else's failures so that you don't have to make your own failures as often and learn from them.
Tom Chisholm[20:06] Yeah, they can shorten your apprenticeship.
Jain Waldrip[20:08] Yeah, exactly. I think we learn by failing. I'm learning to play Go right now the Chinese board game.
Ben Ford[20:15] I like how you clarified that it wasn't the language.
Jain Waldrip[20:19] Yeah. Yeah, I would like to learn Go Lang too. Actually, I'm fascinated by it, but it was ... so I'm learning go for about the dumbest reason possible and it's because chess was too hard for me and it turns out Go has simpler rules and therefore is infinitely more complex.
Ben Ford[20:37] That makes a lot of sense. Someday you should teach me how to play Go because I also want to learn it.
Jain Waldrip[20:44] Yes, once I really learn how to play it, I'll teach you but you lose so many games at first and you learn so much every time you lose, but I lost my first 100 games and these are against easy computer players. I lost my first 100 games before I ever started winning and that's where ... sometimes it helps to be able to talk on Facebook with my friend, send him screenshots. My friend Rick has an amazing knowledge of Go. He says that he is a high ranked beginner, but I think, from my perspective, he's a mentor and a guru.
Tom Chisholm[21:23] To a certain extent, you have to be an autodidact in our field. It moves so fast and there's new things to learn all the time, and there's not always time to go to a conference or money from the company you're with. You have to teach yourself to a certain degree, but like Jain said, with a mentor, you've got somebody there that can shorten your apprenticeship if you can find somebody to mentor you. Other than that, you have to scour the internet, looking for, does a cloud guru have what I need? Does different educational outlets have what I need? It's just nice to find something finally that brings it all together, whether it's a blog post or course that you took through Udemy, whatever it is. In short, being an autodidact is necessary. It's a necessary skill on tech, I believe, but it does bring its own problems, like Jain and I were talking before the podcast, if you learn your vocabulary primarily through reading, you're going to mispronounce some word.
Ben Ford[22:33] That’s me.
Tom Chisholm[22:34] You’re going to have somebody go, "Huh, what?" And then, they'll correct you and you go, "Dammit. I know what the word means. I know what applies to it but ..." so yeah, as an autodidact you have to be comfortable with the fact that you may have missed some obvious stuff and it's nicer if you had a mentor to help you through that.
Ben Ford[22:56] One of the things that I've had personally struggled with as far as autodidact and learning stuff from Google is knowing how to find stuff that's actually still relevant, current and whatnot. Just recently, somebody asked me to do a little compare and contrast sort of thing about Puppet and Chef and Ansible and some of the other competitors, and I started writing it all out and then I was like, "Wait a minute, I don't know how many of these assumptions are actually still valid right now." And I had a real hard time actually quantifying which of those things that I thought that I knew, I still actually did know and were still actually current.
Tom Chisholm[23:36] Right, they don't call it Ansible Tower anymore. I just found that out.
Ben Ford[23:39] Really? What do they call it now?
Tom Chisholm[23:41] I forget. It got rolled deeper into the Red Hat offerings, so they're calling it something not as cool as Tower, but yeah that's just a buttress to your example. It's like-
Ben Ford[23:56] Shoot. Now, I have to go Google more and figure out what this is because I'm still using ... apparently I'm using the wrong words. So Jain, you recently did a blog post about some myths about Puppet that aren't really accurate anymore. Do you want to talk about some of the things that people still think that the Puppet can or can't do or whatnot?
Jain Waldrip[24:18] “Puppet is complicated," is one of the myths that we took on. What I would say to that instead is that Puppet is complex.
Ben Ford[24:30] I like that distinguishment. I'm really curious to hear what you're going to say about this.
Jain Waldrip[24:36] Okay, cool. Well, I feel hyped now. You hyped me up for myself. Puppet can handle complex tasks. If you have a script for maintenance that absolutely just needs to be an ad hoc one-off script, you want it to run on both Windows and Linux machines and you want it to only run, say once a month. You can do that and the implementation of that task is complex because what you will do is you'll write both your Bash script and your PowerShell script and then, you'll have a JSON file that contains metadata so that Puppet knows that these scripts actually are the same task. You'll wrap that pair of scripts up as a task. That's complex. I wouldn't necessarily call it complicated because I think complicated is a value judgment. You can do very complex things with Puppet or getting started, you can just let it manage your implementation out of the box. You can write very, very simple Puppet code. I think that in my opinion, Puppet code almost never needs comments because it's written in one of my favorite paradigms, which is communicative code. I love communicative code. I think I should be able to read your code and know what you're thinking. Whenever I wrote a DSL in software testing, I would try and make it communicative and descriptive of the application it tested, and I think that's what Puppet does very particularly well, is it gives you very simple codes so you can start simple and grow complexity as is needed.
Tom Chisholm[26:15] I just want to follow up because I think complicated is a value judgment. The relationship, it's complicated or it's complicated or complex is manageable. You can manage complexity.
Ben Ford[26:29] I like that.
Jain Waldrip[26:31] You can avoid it altogether until you feel comfortable and ready for it. Tom had a great metaphor about that too, which I would like him to say it, because I think it sounds better coming from him.
Tom Chisholm[26:42] Which one?
Jain Waldrip[26:43] It was how long is a piece of string?
Tom Chisholm[26:46] Right. Yeah, I'd say it's complicated or it's complex. It's like saying, "Well, how long is a piece of string?" You have to define what you're trying to do. If you're trying to install a SQL server for instance with Puppet, you're asking a lot of that software, the puppet software or any other config management tool software that you're using and it's going to be complex, but there's ways of keeping that complexity in check by paradoxically, adding more abstractions like our roles and profiles, Puppet's roles and profiles with just another shim, one thin mint here of abstraction, you can have a whole bunch of ... a very manageable complexity at your fingertips.
Jain Waldrip[27:40] Everyone loves a good Monty Python reference. I got that little meaning of life. One meant it's wafer thin. I think that's a really good way to encapsulate the difference between complexity and complication, like if someone says, "Oh, there was a complication. Oh, that's bad news." If someone says, "Well, it's complex," you're ready to listen and the instruction is going to be subtle and nuanced and I think that's almost like telling Puppet to install an SQL server, as an example, if we want to dig deep into that, you could make it very, very easy or you could make it very complex, right Tom? Because you could just say, "Hey, I just want you to put Postgres, or I just want you to drop Sqlite3 onto this Ubuntu server or this Rocky 8 server, and I want you to expose the firewall ports for it." And that's all you got to do, is you got to throw in this program, unlock the firewall, ensure it's installed, ensure it's running. Here's your firewall modification and you're good to go and that's actually pretty easy to do in public code. That's just three different blocks of code right there. That's all.
Tom Chisholm[28:55] Yeah, and if you go with defaults and utilize the roles and profiles, you're not writing much code at all.
Jain Waldrip[29:04] Whereas if you want to manage the ... say, if you're using, I don't ... this is a little bit of a data technology, but it's one that we used in a library project a long time ago. So if you're using Lucene and you need to rebuild the Lucene search index and that has to happen, say every six hours, you're going to have to kick off a Java task for that and that's big. The database easily managed, very, very small solution, but you're going to want a custom task that swaps out that search index for you, the index that does all your search tokenization and is aware of all your metadata around your search terms, things like that. So you can do simple things and you can do complex things. It really depends on what you need and what you're comfortable with.
Tom Chisholm[29:55] How long is a piece of string?
Jain Waldrip[29:57] How long is a piece of string?
Ben Ford[29:59] I think the answer is as long as you need it to be, right?
Jain Waldrip[30:02] There we go.
Ben Ford[30:03] So do you have any new training or new offerings that you're excited about that you want to tell people about?
Jain Waldrip[30:10] Do we? My gosh.
Ben Ford[30:13] That would be a yes.
Tom Chisholm[30:14] Yeah, there's a couple. We have, I call it a digital pamphlet for one of the better word,phrase.
Ben Ford[30:21] This is sounding interesting.
Jain Waldrip[30:22] This is the best thing. Let me tell you, I am so excited about this thing, that I literally put it in my email signature.
Tom Chisholm[30:30] Yeah, we call it the PE Console Overview. It's written in Articulate, I believe, but it's a guided tour of the console and now you can Google PE console and you can see pictures of the console, but this actually walks you through pretty much every link on the left nav of the console and it's got clickable buttons that say, "This is what our back does. This is what the node groups do. This is what the node link does for you. This is reports. This is plans. This is tasks." And it takes everything that ... pretty much everything that Puppet can do, including the invisibly things that happen at the command line and brings that complexity forward and it makes it manifest in a visual presentation.
Ben Ford[31:27] This sounds really cool and I'm almost thinking that the help button in the console should just link directly to this.
Tom Chisholm[31:35] We’ve been talking about ... with ZigBee too, about what we can do with it and I'm excited about that.
Ben Ford[31:42] Now, what are you excited about, Jain? You have something that's very different that you're excited about, but I can tell that you're very excited.
Jain Waldrip[31:50] Let me tell you, Ben, I actually am super hyped for the console overview and Tom is too modest to say it, but he helped put it together with one of our former instructional designers, Tara.
Ben Ford[32:02] Sweet.
Jain Waldrip[32:04] It is so awesome. When I saw it, I was honestly like, "Man, I wish I had seen this in my first couple of weeks at Puppet," because the first time I used Puppet I was evaluating infrastructure management tools and it was like 10 years ago or more maybe, I guess we're looking at 12 years now and Puppet has changed a lot since then. It has grown, it is-
Ben Ford[32:32] For the better.
Jain Waldrip[32:34] Puppet Enterprise in particular. Yeah, it has so much that it can do now. In that vein, there's one thing that isn't out yet, it's kind of a sneak preview, but I wanted to say that Tom and I are working on an idea that I pitched in December and it's a PE introduction, so Puppet Enterprise Intro. We don't have exactly a title for it yet, so we've just been calling it PE Intro, but it's kind of a high level overview of what does Puppet Enterprise do and for people who are familiar with Puppet the language or people who are confused about what is Puppet, is Puppet a language? Is it software? I don't get it. Here's kind of a high level overview that's coming up that you can just look at. We're doing a long version and a short version because sometimes people don't have time to sit down for a four-hour workshop. So we've got a four-hour workshop we're planning to offer. Rough time, four hours. We haven't recorded it yet, so don't quote me. The whole goal is to make Puppet approachable for potential practitioners, new practitioners, anyone who just wants to see how is this put together at a high level without getting into the technical details. So the people who are very jazzed about Puppet at their organization can also kind of break it down into a small manageable explanation that they can share with people.
Ben Ford[34:03] It’s really cool. Puppet is such a complex ecosystem. There's so many different moving parts that when you come to it as a beginner looking at it, it's like you feel like you have to understand all of these different moving parts. In reality, you really don't, and it sounds like what you're talking about is kind of chunking that so that people can approach it as they're ready to learn new parts of the ecosystem.
Jain Waldrip[34:27] You know what, that's exactly what I was thinking when I pitched this last year, was I was thinking our training is really good at giving a technical introduction to Puppet. It starts out small and builds. So it does start out at a very approachable level, but I thought we need to fill in this piece for people who don't want to get into the weeds of the tech or who are like, "Hey, I would like to be an advanced practitioner, but later, let's take a little step first.”
Tom Chisholm[34:55] Jain has put together some pretty fantastic visuals and like I indicated earlier, visuals are it for me, picture tells a thousand ... is worth a thousand words and we want to make it so it's not just wall of text, and the visuals that she's come up with are pretty good.
Jain Waldrip[35:18] Well, thanks. Some of them are still in my sketchbook, so I don't want to sell them too hard, but thank you so much Tom. One thing that I would have to say, I would credit mostly ... I think Bart was putting this together. It is a new release. It's on demand video versions of our first three days of lessons. So PE 101, PE 201 and PE 301. PE 101 gets your feet wet with Puppet and then PE 201, you start waiting in and PE 301, you start learning to swim with Puppet code. It's a good sequence, a good progression. It's three days of seven to eight hours of an instructor talking to you when you do it as an instructor-led training. Those are some of the trainings that Tom and I offer, but what Bart has done is he has some recordings and he has spliced them together so that you can take them on your own time, on your own schedule whenever you want. Because I remember what it's like, when you try to attend a training from work and you've got so many fires to put out or you've got so many people demanding your attention or you've got this code that really needs to go out on time, it can be a lot to try and keep up with a live class because the demands of our jobs and also our leaders don't always give us complete freedom when we're taking trainings.
Ben Ford[36:41] We don't all have the fireproof blankets to put out the fires in our hair, right?
Jain Waldrip[36:45] Those are really necessary. You should keep those at your desk, if you work in DevOps, you should get ... yes.
Tom Chisholm[36:53] She’s right. Every single class that I've taught, at least two people have had to drop because, "Got to go, work is calling, got to go." So the on-demand is nice because you can start and stop whenever you're ready. All the labs are linked in there, so it's the same classes as the instructor led, it's just at your own pace.
Ben Ford[37:17] I like that a lot. I think we're coming up towards our time here, but as we're closing up, I think that the thread that I'm hearing from all of these different stories, and correct me if I'm being too simplistic here, but what I'm hearing is that complexity is something that's manageable and that we should embrace that instead of being afraid of it. As the lifelong learner and the lifelong teacher that we've talked about, I think that these kind of training and education opportunities are some of the best ways that you can keep up with this space because like you said Tom, it's a very, very fast moving space and we have to keep up with it. Would you agree with that or would you want to expand on that a little bit?
Tom Chisholm[38:01] No, I totally agree with that. I think that's a very accurate summary of our conversation.
Jain Waldrip[38:05] Yeah, I think so too. Complexity is manageable and complexity gives you room to grow. You can start out small, you can start out simple and then, you can grow. You don't need to ... if you're just adopting Puppet for the first time, you don't need to put all of your nodes under Puppet control all at once. You start out simple and you iterate, just like any programming language is complex. We were talking about Java earlier. I love Java. I was terrified of it when I was starting out. I had done Ruby, and Ruby lets you ... it makes certain conventions like curly braces and parens. It makes those things optional, and I looked at Java and yeah, to have to declare a type for a variable sometimes even before the assignment of the value, I was like, "I'm never going to remember all of this." Then you know what changed Ben, is I took an instructor led training course in Java. Yeah, I did. My employer paid for an instructor for a group of us to start working in Java because we were moving from Ruby to Java for one project, and I started to love it once I understood it. I was like, "Wow, this is so powerful." It can do some really good threading, which is threading and parallelization are I think, shortcomings of Ruby. So you have to use a client that kicks off multiple sessions of your Rails app or your Sinatra app-
Ben Ford[39:40] Or you can do what the Puppet server does and just wrap it all up in JRuby and kind of pretend that that doesn't exist.
Jain Waldrip[39:45] I do like JRuby, but to return to the point, Java has a lot of complexity, but there's so much cool stuff you can do with it. It can be intimidating at first, but there's a reason that it dominated the ... and here we get back to the autodidactism, is it TIOBE index? There's a reason that Java dominated the top of that index for 10 years running in the number one spot, something like that. How do you pronounce that, by the way?
Ben Ford[40:16] I haven't got the foggiest idea. I don't even know how to say the word Petrol. So I'm very much the way that Tom described it, like the person who learned how to speak by reading. So I'm not the person to ask that question too.
Jain Waldrip[40:31] No one is going to take a stab at it. No one is going to back me up.
Ben Ford[40:35] Right on. Well, if people have questions or ideas or want to follow up or chat with you about any of these, are you in the community Slack or any other way for people to get in touch with you?
Tom Chisholm[40:46] Yeah, I think we're both in the community Slack. The other option is email, email@example.com.
Ben Ford[40:54] Well, I am very excited and I'm going to make sure to put links to everything that we can in the show notes. So if you're listening to this and any of those sound interesting you and you want to follow up, they will be in the show notes, everything that we have that is releasable, and if it's not ready quite yet, you should just keep watching for it, and we will definitely tell you when they do get published, I'll put something out on our Mastodon Feed and I'll paste it into the community Slack and let you know about the new trainings coming up. Well now, I think that is a wrap for today, and thank you so much for coming and having such a deep, rich, interesting conversation. This was far more interesting than I thought it was going to be. It was a lot of fun talking about these topics with you, so thanks for being here with us and for everybody listening, thank you for coming along on this journey with us, and thank you for being on our Pulling the Strings podcast.
Jain Waldrip[41:54] Thank you so much, Ben.
Tom Chisholm[41:55] Thank you Ben.
Ben Ford[41:56] See you all next time.
Get started or take the next step to Puppet Certification at your own pace.