056 - Upskilling tips and tricks with developer James Hart

November 24, 2020

After using Pluralsight to learn PowerShell a couple years ago, developer James Hart has embraced the process of gaining new skills. If you've been trying to figure out how to progress in your own career, James’ story is for you.

If you enjoy this episode, please consider leaving a review on Apple Podcasts or wherever you listen.

Please send any questions or comments to podcast@pluralsight.com.



Hello, and welcome to All Hands on Tech. I'm Daniel Blaser. Today I had the pleasure of speaking with James Hart. A couple of years ago, he was on a DevOps team that faced some pretty big challenges. They made use of Pluralsight to gain the skills they needed to be successful, and ever since James has prioritized learning new skills as he's progressed in his career. In this episode, James shares his story, his favorite courses, and tips and tricks for making the most of Pluralsight. If you've been procrastinating gaining some new skills, James's story should provide some motivation.



So to get things started, can you give us just a quick overview of your career trajectory and then also what your current position looks like?



Yeah, sure. So yeah, I studied mathematics in college, and then after graduation I went into software consulting, which, for anyone who doesn't know, is basically, a company will develop some specialized piece of software and then offer consulting services around it in addition to licensing the software itself, so basically services around implementation or support, configuration, those sorts of things, enhancements into the future. And so I started on the implementation side, and then went into support, and then finally moved into some kind of more technical projects around major version upgrades. So that was a lot of database-centric work, deploying multi-tier .NET applications. 



And then from that experience, I moved into a DevOps team, which was kind of newly formed at the company where I was at, and we were kind of tasked with improving that entire upgrade deployment process. And it was around that time that the company I was working for got access to Pluralsight for everyone in the company. And so we had a bunch of idea for things that we could do to improve that process but not a lot of experience kind of doing that and the tools that we would use to do it. And so I watched a bunch of courses on PowerShell, and our team got a lot of recognition companywide for the improvements that we were able to make there. So that was a really exciting time, and really have to thank my boss for allowing us the time to go invest in learning those things and being able to do that. And so after that, I kind of branched out and got into some kind of cloud infrastructure-type material, mostly on the Azure side and then into some, even some web development like Python and Angular. And then the next two jobs I got actually were basically on the back of that experience. First kind of on the DevOps, PowerShell automation, cloud infrastructure side, and then ultimately where I am now in Python software development. So it's been kind of a twisting journey, but it's feen fun. It's been exciting.



So for a related follow-up, give us an idea of what your day to day is typically like, if there is kind of a typical day, I guess?



Yeah, well, normal is a relative term, I guess. I've been working from home really since like March, I think. So in some ways, it's kind of even more the same day to day than it was before. Because it's like, okay, I just go up to my office. And I work on a globally distributed agile team, so when I start in the morning for me, it's like the afternoon for my boss and some folks in London. And it's the evening for the part of the team that's in Chennai. And so it's been interesting. That's the first time---other companies I've worked for have always been much more localized than that, so that's taken some getting used to, kind of working across time zones, things like that. So we support some legacy .NET applications. And then most of the development that we do is in Python, kind of on the back end, and then front-end stuff is in React. So it's been a fun journey getting here. 



You've already shared that Pluralsight has benefitted a team that you were on in a past position, but can you speak a little bit about how it has helped your own career and helped your own skill development?



Yeah, like I mentioned, that first exposure that I had, I think I watched like 40 hours of PowerShell courses over the course of a few weeks or something, because it was just so exciting being able to, oh, yeah, I can do all this stuff. And people weren't really sure how best to use these courses, this material that we had at the time, and it was really exciting to be able to kind of push the envelope at the company and on the team with the improvements. I was like, oh, yeah, look, I watched this, and here's how we can do this thing, and I automated this process, and now it runs so much more efficiently, things like that. So that was like a golden age, there was a period of like a year or so where the whole team were all just like trying to improve this stuff, learn new things. And yeah, and we got a lot of recognition for doing those things. So it was really beneficial to my career and even my mental, what would you say, picture of myself as someone who can just go learn something and I make some improvement. And then I realized on top of that that maybe I wanted to go into more of a development-focused career and kind of get away from maybe the more infrastructure side of things. And so having access to all this high-quality content on web development and Python and just anything that I wanted to branch out into was really crucial, I think, in being able to kind of pivot my career into more of a development focus.



Obviously, these skills themselves are important, but being able to figure out how to learn and how to continue to develop those skills within yourself and your own learning style, all of those things are almost more important than the skills themselves because you're setting yourself for the future as well. A related question, how do you personally stay committed to upskilling? Bingeing is obviously one technique that you mentioned before. But I think for most people, they can't spend hours and hours and hours every day. It's more like 20 or 30 minutes during lunch. It's trying to fill in those little gaps that may happen every single day. And that can be hard. That can actually sometimes be harder than the 8 or 9 hours at one time. So how do you stay committed to upskilling with a very busy schedule?



It's fitting in some ways that I called it a golden age because it can never last in that way. So there were a couple things. I was just a single guy. I didn't have really have anything else, any other commitments and things that were competing for my attention as much as lot of other people would have. So that gave me a big advantage there. But I think still you can kind of think of it as, you want to make success the path of least resistance. So Mark Seemann, who's a Pluralsight author, has some really great F# courses. He has a talk on YouTube called The Pits of Success. It's really about functional programming, but that's beside the point here, which is that often you think of success as rolling a boulder up a hill and trying to keep it there. And something goes wrong, and okay, I just fell off, and now you come back to square 1 or something. What if you changed the landscape so that success was rolling the boulder into a valley, into a pit, so that it was the easiest thing to do instead of the hardest thing? And so there are kind of two questions that you can ask yourself. You have things that are competing for your attention and you're not sure how you stay committed to some longer-term goal that you have like upskilling in some technology or whatever it is. And what are those things that are distracting that you could just stop doing? And it's easier in some ways to just not ask that question, because as soon as you do, then you can think of a few things. It's like, well, I could probably not do this and I could not do that. And if you allow yourself to be guided by that, then you can free up time that you wouldn't normally have, I think. And the other thing, maybe more importantly because maybe you've already optimized, you're like, no, I have everything under control, is you really have to actually be interested in the thing that you're trying to pursue. Because you're never going to---you can't force yourself to watch something, even if you technology have a spare hour or two. If you're not interested in it, you'll just find something else to do. And you could say, well, I'm never going to be as interested in some course on Pluralsight as I am in this other thing that's really interesting, and fair enough. But I think you have to meditate on, okay, well, how much better could your life be if you had those skills that you're looking for? And on the flipside, also how badly could things turn out if you fail to live up to that potential in the long term? And you have to have both of those things. You have to have something that you're running away from to motivate you when your vision of the future is nice, but you're pretty comfortable where you are as well. But that's not enough to only have that because you also have to have, like, well, you know, it could be a lot better, and I would really like to pursue that. And so having something to run away from and something to run towards gives you motivation from both ends of the spectrum there. And so I say you can do that, but it's something that I've done and something that I did. I could've been complacent and not really committed myself to trying to learn as much as I did. But I thought, well, I could be the person that I would like to become if I did this, and so I found those things that I was interested in and I paid attention to what those were. And sometimes I found, in particular when I was going more on the cloud infrastructure side, I found that I wasn't making the time to watch courses like that because it just wasn't as interesting to me. I wasn't like, well, oh, yeah, I'm going to go home and spin up a virtual machine. And it's not that exciting to me. But I could go home and I could write some new code or try some new design pattern or try something like that, and that was interesting. And so that was what I used to decide how and why I would pivot into doing that because it was something that drew my interest more. And so you have to pay attention to that. You can't just force yourself to think, oh, yeah, I definitely have to do this, whatever that happens to be.



I think that's a very wise perspective. I've heard of a lot of people that have burned out on learning or burned out on a specific project that they're working because of the fact that it was based around something that they didn't have that innate interest in. It kind of seems like a no-brainer, but it is so important that you do have that natural interest and that natural draw before you commit even more of your time to learning it and developing your understanding of it. I wanted to give you the opportunity to shout out any specific Pluralsight authors that have played an important role in your journey up to this point.



Yeah, sure, so obviously this answer is skewed by the courses that I watched. But I think Deborah Kurata and Scott Allen both jump to mind first, and I think they're like two of the top Pluralsight authors anyway, so for good reason. So Deborah Kurata's courses are very approachable, which was something that was, I think I watched some Angular development course of hers, which was something that was super new to me. It was very approachable, and I was like, oh, yeah, I could learn this. And Scott Allen, I mean, everything that he has put out is really good. His Azure one, the Azure development-type ones are, it's amazing how something so vast as cloud development can be condensed into like, okay, a half-hour clip of, oh, yeah, here's how you do this one thing that's probably what you're trying to do. It was like, oh, yeah, that's great. I spun up a couple apps on Azure, basically following exactly what he did. I was like, oh, yeah, I can just do this, and it was actually pretty easy. And then one probably lesser known, Vladimir Khorikov has a bunch of courses in the domain-driven design path. And he has one, something like Applying Functional Principles to C#, and that one, I really like his style of approaching programming. He has a very functional approach, functional as opposed to object oriented. And so I think about things that I learned in that course and kind of his way of thinking about problems very often any time I'm approaching something new, I'm like, oh, how do I have a more functional style when I'm developing this and not just like creating objects for the sake of them of something like that. And he has a blog too that I actually sometimes read that's really good. So definitely, yeah, shout out to Vladimir Khorikov.



I appreciate you sharing some of those names, and I know that the authors that hear this will really appreciate that as well. I mean, obviously their motivation comes from a lot of places, but I think one of the main reasons a lot of our authors spend the time to put these courses together is to make a difference in people's lives. So I really appreciate you sharing that. Beyond the courses in Pluralsight, are there any features or any functionality that you've found especially helpful, like, you know, I'm going to call you kind of a Pluralsight pro based on what you've said. Are there any tips and tricks that you have coming from someone with the experience on the platform?



Yeah, so I think, the Skill IQ I thought was pretty neat. I remember after I had binged all that PowerShell content, I took the skill IQ test for that, and I scored like in the expert range or something. And I thought, I was like, oh, yeah, okay, that's really cool. And then the whole team kind of saw that, you know, that I was working on, and they were like, oh, wow, okay. So it kind of created this sort of friendly competition between everyone. It was like, oh, yeah, well, you know, let's see how I score and do this stuff. So it was nice for me to be able to do that just to validate, okay, I do kind of know what I'm doing here. But then also from a team perspective, it created that healthy competition to get everyone motivated to do something. So that created a nice dynamic for everyone, I think. And then I think we even had our boss, like, oh, you take these things. You say you know x, y, and z, and then he was like, oh, okay, maybe I don't know it as well as I thought. So I thought that was definitely something that was helpful. And then I saw later that there are Role IQs. I haven't really dug into that very much, but the concept I think is really nice because it kind of spans maybe like a full stack range of skills that you would need to be a web developer. It's like, okay, well, you need to know the web piece. But then, okay, you also need to know something about the back end and about databases and about version control systems and things like that. So having that kind of full spectrum of knowledge there, I thought that was super neat that that was available. Because it's not obvious when you're coming into something new, maybe you know, okay, I need to know, okay, JavaScript, CSS, HTML, to be a web developer, but maybe there are a bunch of other skills too that wouldn't maybe have thought of off the bat. So yeah, I think that's a really cool thing that Pluralsight puts out.



That's a great story. And I'm glad that those competitions stayed friendly. I'm also glad that you mentioned Role IQ, because it can be a little bit of a commitment to get your role IQ, but I know a lot of work has gone into making that a valuable example and making sure that the components of every role IQ all make sense and they all fit together in a way that will actually be helpful for real-world developers. Next up, I wanted to ask what you're currently working on, what goals or projects, or what's your focus right now?



Yeah, so where I work now, actually, also has access to Pluralsight. They have this unified learning platform that has Pluralsight and some other similar providers. And so they've put together their own learning paths in there. And so that continues to be useful, so I've spent a lot of time looking through those. So it's specialized for roles within the company, whether it's a technology role or related to Python development or whether it's software engineering in general or something like that. Because there are also a bunch of, I didn't even realize this, but there are a bunch of Pluralsight courses that are not really technical, that are more on like agile processes and things like that. So I've watched a few of those, and they're really good. So that was something that I thought was pretty neat. And then outside of that, I'm looking for my next big personal project to work on. I set up a GitHub page that I could write about things that I thought were interesting, so that's where my personal focus is sometimes. So I have written some stuff on F# and Python.



All right, I have one final question. Maybe someone is listening to this conversation and they're thinking, all right, this is it, I've got to actually commit to my own upskilling. I have a career goal in mind, and I want to make progress. I want to put aside 30 minutes a day. What advice do you have for them? 



Yeah, sure, so some simple advice. Listen at an accelerated speed, if you can. I basically always listen at 2x speed. If someone already talks pretty fast, then I won't do that. But pretty much I never go lower than 1.5. So then something that was going to be like a 1- or 2-hour video is now half an hour to an hour, which is shorter than a lot of TV shows. So it's really very manageable to put that time in. And then another thing is having the app on your phone is actually really useful. So recently I've been watching something while I eat breakfast, which takes 15 minutes, but 2x speed, that's really half an hour, so that's pretty good. I was kind of hesitant to do that at first because normally I like to takes notes or code along or something, but you can always go back and rewatch something later and catch up. So it's nice to watch something and be able to focus on it, and then you can go back and code along and do that sort of thing. So getting the double exposure even then is sometimes kind of helpful. And if you're doing something unfamiliar, then definitely do try to code along. That was something that was really helpful to me, especially doing some things that were very foreign like Angular development or something like that. But at the same time, don't feel like you have to code along if it's slowing you down too much. Because I've been on both sides of that. It's like, look, I definitely need to code along to this, or it's taking me way too long to code along, and I already have something that I'm trying to apply it to like at work or something, so it's not as necessary to get those reps in at home, as long as I can, you know, I would pull up Pluralsight on one screen and have whatever I'm actually working on at work on the other. And then I can kind of compare notes, so to speak. And then, yeah, kind of like I said before, I can't stress enough how important it is to actually be interested in what you're trying to learn. Because there were times that I tried to force, I think I was trying to watch something, not to bash someone who thinks this is super interesting, but it was like some low-level Linux administration courses. And I was really just not getting through them very well. And you have to realize that there's a real opportunity cost to letting yourself get stuck in a rut like that because all the time that you're avoiding watching something because the thing that's on your list is something you don't want to watch, that's taking away time. And then the time you spend sitting there not really taking anything in, it's time that you could spend in a better way even doing something not related to Pluralsight. So you have to realize the value of your time and use your interests to really guide where you should go. 



Those are all great pieces of advice and definitely spoken like someone who has spent time really perfecting their own process of learning. And I think that that's something that is really key for people to keep in mind is, they're like, maybe they're recommitting to this idea of learning and upskilling. That even if you spend 30 minutes and you look back and you're like, well, that was not the most productive 30 minutes, you've still learned a little bit more about how you personally learn best, if that makes sense. You become more efficient at this process over time. Even if the specific skills you're trying to learn don't stick, you're becoming better at just upskilling in general. Anyway, I really appreciate you taking the time to chat today, and I think our audience will find this inspirational and hopefully use your story as motivation in their own lives and their own career paths.



Yeah, absolutely, thanks for having me. Appreciate it.



Thank you for listening to All Hands on Tech. To see show notes and more info, visit pluralsight.com/podcast.