Podcasts

076 - Insourcing and reskilling strategies with Jessica Schneider and Don Jones

April 20, 2021

The tech talent shortage is fueling a workforce development revolution.  With more and more companies unable to find software developers and IT pros to fill open positions, employers are taking radical steps to reskill non-technical talent for these roles.  For today’s episode, we’re sharing the audio of recent webinar featuring Don Jones, head of developer skills at Pluralsight, and Jessica Schneider, Vice President of marketing and product development at DevelopIntelligence. They’ll be discussing the innovative strategies companies are using today to rapidly build robust talent pipelines.


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.

Transcript

Seth Merrill:

Hello, and welcome to All hands on Tech. Conversations with top voices in software development, machine learning, cloud security and leadership. I'm Seth Merrill.

The tech talent shortage is fueling a workforce development revolution. With more and more companies unable to find software developers and IT professionals to fill open positions, employers are taking radical steps to re-skill on technical talent for these roles.

In today's episode, we're sharing the audio of a recent discussion between Don Jones, Head of Developer Skills at Pluralsight. And Jessica Schneider, Vice President of Marketing and Product Development at DevelopIntelligence. They'll be discussing the innovative strategies companies are using to rapidly build robust talent pipelines.

Don Jones:

Welcome, everybody. My name is Don Jones. I'm the Head of Developer Skills at Pluralsight, and I'm joined by Jessica Schneider. Jessica works for DevelopIntelligence, which is a Pluralsight company really focused on rapid skill up in the tech industry. Jessica, welcome.

Jessica Schneider:

Thank you. I appreciate it. It's good to be here.

Don Jones:

So, we're talking about insourcing. And it's kind of a strange word. I think it's a relatively new word. So, we're hearing a lot about that as a new way of filling tech roles. Obviously, the hiring market is really, really challenging. And so, any new way to help fill those roles with qualified folks is probably very welcome. I guess, just to get us started, what is insourcing? What drives companies in that direction? And then, what are some of the factors that lead employers to go into an insourcing or reskilling program?

Jessica Schneider:

Yeah. So, insourcing, the way that I would describe insourcing is when an organization looks to its internal talent to build capability and skill rather than looking for resources outside the organization. So, they're looking to build up capabilities within their internal employee base, as opposed to recruiting somebody from outside.

Let's also define reskilling too, just so everybody is familiar with that term. When I talk about reskilling, I talked about it as a transformation in someone from one skill set to a completely different one. So, if you're taking someone who's got a skill in one area, in a technical sense, that might be a developer or systems administrator, and you're transitioning their role completely and looking at turned them into a completely different role like a developer to a data engineer or data scientist or assistant administrator to a cloud engineer or a DevOps engineer, that's really a rescaling program.

In contrast, upskilling is when you're enhancing a skill set, adding a complementary skill to an existing skill set, that's upskilling. Reskilling is just a complete transformation from one set of skills to another.

So, there are a few business drivers that companies are forcing companies to look at insourcing and reskilling. The first is tech talent shortage, I think we all are aware that developers are in high demand and tech roles are in high demand these days, as companies are moving through digital transformations. They're increasing their digital literacy. The demand for developers and tech talent is increasing. And there just aren't enough developers out there to fill those roles. So, they'll have to find them somewhere else and get creative about that.

The other driver, I think, is really around retaining and leveraging that institutional knowledge. When you've got an employee who has been with a company for a long period of time, they know things about that company that's really valuable. They understand the customers, they understand the product lifecycle. They know who to go to the ask questions. They understand what's worked in the past and what hasn't worked.

So, they've got a really strong set of knowledge that can be leveraged in other parts of the business, and you don't want to lose that and have them go somewhere else. You want to be able to really capitalize on that knowledge. Also, as companies are starting to automate and look for ways to reduce costs in areas, that can often mean a reduction in force, and having to let people go.

A lot of companies are looking at reskilling as a way to offer new opportunities to those employees and transition them into new roles, which is a great way to hold on to people. Again, that institutional knowledge and give them an opportunity to try a new career.

And then, lastly, because there's a tech talent shortage, because there's so much demand, there is a lot of competition within companies in hiring great people. It is hard to stand out when there are so many companies hiring. A lot of companies are offering great benefits, especially if you're in big cities or high tech cities, you're competing against some big organizations.

So, having an insourcing program, having reskilling programs is a great way to add to your recruiting. Employees come in and they look at that as a way to change what they're doing, and it's an opportunity that we can take advantage of later on. So, it's a great recruiting tool, when you're trying to get great people to join your organization.

Don Jones:

So, you mentioned institutional knowledge. And I guess, culture fit is probably a good thing too. Someone's already there probably, already gets the company culture and that can be so hard to teach. So, obviously, when we're talking about insourcing like this and you're reskilling whether it's for software development, or data, or DevOps, or something else, a lot of the folks that we're talking about then would not have a technical background.

Jessica Schneider:

Yup.

Don Jones:

So, I guess in addition to some of the ones you've mentioned, what would be some of the benefits of taking that non-technical employee and skilling them into a technology role?

Jessica Schneider:

Yeah, and reskilling programs specifically dedicated to transforming non-technical talent into developers or technologists is becoming a very popular trend right now. I've seen a lot of organizations work to that to try and build up their internal development teams.

So, it's definitely something that people are looking at. When you take someone who's in a role, that is maybe customer facing, maybe you take a cashier who is in a retail environment, or you take someone who's on the phone in a call center, or you take a claims processor, and you train them on how to be a developer, and you put them in those development teams, they're bringing a perspective to those teams that normal developers don't have. They haven't worked in the business, usually, they don't know how the business side of things work.

So, you've got these folks with this great knowledge of how things work, and how customers respond to things. And you're putting them in a development team, and you're bringing that fresh perspective. And that's a really great way to think about things in a new way, approach development in a new way, approach features and functionality in a new way. And it's a great way to just expand knowledge and improve your products and services to your end customers.

Don Jones:

Yeah, it's funny, one of the curriculum managers on my own team was originally a mortgage broker, and got into software development to solve some business problems that they had in her division, and is now helping run an entire section of developer curriculum.

So, I can imagine it, just bringing that knowledge of the job that a developer who is hired off the street just might not know and might take a while to pick up. I can imagine how valuable that would be.

Jessica Schneider:

Yeah, I mean, if you think about, someone who's a claims processor, who's dealing with a lot of different stakeholders, they're working with customers, they're working with people in the business, they're using, probably, some type of software on a daily basis, putting them in a development environment gives them knowledge that developers don't have. And more than just, working with them to elicit requirements for a piece of software. You've actually, got someone who has working knowledge, and that's really valuable today.

Don Jones:

Yeah, yeah, for sure. So, okay, let's say, you're an organization and you've decided... This sounds interesting. What's actually involved? I imagine there's a good amount of planning that has to go into creating a program like this.

Jessica Schneider:

Yes, it can be a big undertaking. It involves a lot of stakeholders. It involves a lot of departments. And I think a lot of times, it can actually seem a little daunting. So, I like to provide smaller steps that you can do before jumping off the cliff into this big logistical program.

So, I like to say, the first thing is to really start thinking about the end results of the program. What do you expect students to be able to do when they're done? What are the specific tasks that you want someone to do? And so, we're thinking here specifically about a program that's designed to transform a non-technical person into a developer.

So, thinking about when they hit that developer role, what are the specific things that they're going to be asked to do by their team and by their manager? Are they going to be working on bug fixes? Are they going to be paired up with those senior engineer to do feature enhancements? What are the things that they'll be doing? And what do they need to know?

That information can really help you plan what the program should look like. You'll have a better understanding of these technologies that need to be included, the depth of knowledge that has to be included, and really the length of that program. So, those pieces of information are specific, but really help you plan that program overall, which is a really great way to start. As long as you know what your target program is, then you can make a lot of decisions from that.

The second thing that I like to really emphasize is the recruiting and selection process, and not just the front end, but what's going to happen to students when they graduate the program, where are they going to go? And what are they going to be doing? What kind of positions are they going to be in?

I think this is a part that I've seen companies not putting enough planning into. It is a huge part of the program. And so, thinking about how you're going to find employees, how you're going to recruit them, how you're going to evaluate them in order to get them into the program, and then what they're going to do at the end of the program, what jobs they're going to be taking at the end of the program is really important to understand before you even get started.

So, I would say, definitely, our priority is to think about planning the recruiting and selection process. And then, finally, I think the step that might be overlooked the most and could be the most valuable, ultimately, is to really recruit a champion within the business to support you in this initiative. It doesn't have to be somebody on your team or in your department.

It doesn't necessarily have to be a manager, but it should be someone who is passionate about the program, someone who's going to really support you and help you with decisions, help you remove barriers as you're going through this journey, help recruit people to mentor students, help with curriculum design. Someone who you can really rely on and partner up with, who can really help you make sure that this is a successful program.

Don Jones:

So, to sum all that up, this is really about a way to solve a business problem. And you need to know very clearly what that business problem is, and have the will to solve it?

Jessica Schneider:

Yup, that's right. That's right.

Don Jones:

All right. It sounds like a lot. You mentioned, it's a heavy... It's a big undertaking. It does sound like a lot.

Jessica Schneider:

Yup.

Don Jones:

What would you say a non-technical employee needs to get to, to learn in order to finally be successful?

Jessica Schneider:

Yup. I like to call these multilayer programs, because there's a lot to them. So, the most important piece probably is the technology. Understanding what technologies these employees need to learn in order to do the jobs that they're destined for. The example on this slide is focused on a full stack program. But, the programs that you design could be more backend, they have a focus on the front end, maybe they're focused on DevOps.

The technologies that you choose, will be dependent on the tasks that these students are supposed to do at the end of the program. What's important to understand, though, is that you're not trying to create experts at the end of this. You're creating entry level developers, junior developers. You want to give them a foundation, make sure they understand the technology and how to use it. But, you also want to create some curiosity, so that when they get to their new roles, they can continue learning on their own.

So, these programs are not intended to take really deep dives in every single technology, there's just not time for that. You want to give them the skills that they need to get started. And then, the confidence they need to be successful and to continue to grow those skills as they move into their jobs.

Don Jones:

I love that word confidence, by the way. That really is the crucial thing. And I think what a lot of people don't always realize is that the way the human brain learns, you couldn't take someone from zero to expert just in a class. There's going to have to be that, "Okay, let's stop now and go do things."

Jessica Schneider:

Right.

Don Jones:

And that's how we learn and build on that.

Jessica Schneider:

Absolutely. And if you think about it, the people going into these programs are typically equivalent of someone who's gone through a four-year computer science degree. They've had four years of education. They have a strong foundation. They understand what the process looks like. And so, they're coming into this organization with entry level skills as well.

So, you're talking about taking somebody in a short amount of time to that point. So, you want to make sure that you've given them the tools that they need, maybe not to know everything, but to be able to expand on that later on.

Don Jones:

And I imagine that the employer is going to be the one kind of, obviously, dictating what technologies are taught in a program. I think that would start to drive an understanding, okay, how long is this going to take?

Jessica Schneider:

Yeah, yup, absolutely. I do think there are some general rules of thumb around how long it takes. But, I think when you start to understand specific tasks, that's when you can start to think about what are the technologies? What are the concepts? How much do you need to pull in? I like to say, start big.

Let's just throw everything and let's build the most complete program that we can think of, and then we'll start to trim down, because maybe they don't need to know everything about deployment. Maybe, they don't need to know everything about UI and UX. Maybe, there's some things that they don't necessarily need to learn in the course of this program that they can learn either on the job or that might be driven by the team they're going to.

So, there's things that it's much easier to pull out than it is to add in at the end if you realize you've missed something. So, I say, start big. Dream big. And then, you compare it down if you need to.

Don Jones:

And so, you've caught on here how to think like a programmer. So, that kind of implies that in addition to the technology topics, we really need to be thinking a little more holistically as well, right?

Jessica Schneider:

That's right. When I say that these programs are multilayered. There's a layer underneath the technology training, which I think is almost as important, which is learning how to be a developer. If you're a cashier in a store, or you're in a call center, your day to day interactions, and the way that you work is very different than the way developers work, kind of develop a team.

So, you have to learn how to function in that environment. And the great thing about these programs is that you do learn that through the course of training. You're learning because you're applying skills, you're working with your instructor who's your technical architect, or your tech lead. You're working with your teammates, who are your co developers. So, you're learning all of these things.

So, how to think like a programmer, how to approach and solve problems, how to research issues, how to collaborate, how to frame a question for your tech lead in a way that gets you an answer that you can really use. Throughout the program, you're learning modern software development practices. Maybe, you're an agile shop, and you're learning how to develop in that way. Maybe, you're waterfall and you're learning another way.

You're going to learn quality and testing techniques, why it's important for developers to test as they code. You're going to learn testing strategies. All the things that make high quality code. Those are things that you're going to learn throughout the program that aren't necessarily spelled out in the curriculum. It's not part of the technology that you're learning. But, it's inherent in learning how to apply those skills.

So, all of those behavioral learnings are really important, because it helps you prepare for that role, not only to apply the technical skills, but also to be successful in that team environment, and really contribute.

Don Jones:

So, let's maybe dig into this a layer deeper. If a company is looking to build an insourcing program, what are some of the key elements that you would expect to see as part of that?

Jessica Schneider:

Right. So, I'll start by saying, I don't think there's any right way to do it. I think every organization is going to design a program that works best for them based on who their students are, based on who they've got internally, based on their subject matter experts, based on the roles that these students are actually going to.

So, I think any program that you design that works for your company is fantastic. I will say that there's a few best practices that I've seen work really well. I know that when you're trying to train someone who is not technical, and convert them into a developer, that an immersive program is the best way to do that.

So, immersive being you start on day one, and you go through the program and you exit on day X, and you are graduated as a developer. This immersive program allows somebody to really dig in and focus and learn in an uninterrupted time. So, Monday through Friday, 9:00 to 5:00, they're in the thick of it. They're learning concepts, they're applying skills, they're working with their team members, they're failing in a safe environment. And they're really, again, gaining that confidence to move forward. So, that immersive part is really important.

We also know that these are longer programs. These are over multiple weeks. Sometimes, even multiple months. So, having the patience to really stick with a program is incredibly important. We also know that no one student learns the same as another student. Students learn in a lot of different ways, especially adult learners.

And so, you're not going to design a program that meets everybody's needs. So, combining a variety of learning strategies in your program is really important to make sure that everybody's getting pieces of what works best for them throughout that entire program. So, instructor led training is important. You're providing an instructor, a coach, who's really working with these students and communicating concepts.

Self-paced, training is a great way to augment course material presented maybe in a different way from a different voice, than you got it from the instructor. Sometimes, just hearing it a little bit differently, really helps making sure that you're incorporating exams. I know, nobody likes that word. But, making sure that there is knowledge retention happening, and identifying areas where we can remediate a bit. Exercises, capstone projects, anything that you can do to infuse a variety of ways to learn is going to be really important to make sure that everybody is acquiring those skills.

Don Jones:

Yeah, it's important. It's interesting, and I'm glad that you kind of added that having some element of self-paced in there too, because I think another outcome of these training programs is you want someone to get to the end and then be a little self-sufficient. Some of their learning should start to be more self-learning as they go. And the more expert they get, the better they should become at that. And then, you're really creating a developer for life, not just a developer for the moment.

Jessica Schneider:

Absolutely, absolutely. In that last bullet there that post program learning and resources, every developer I've ever met and worked with, is just naturally curious and just wants to continue learning. They're incredibly curious about technology. They want to learn new skills. They hear new technology come out, they want to go understand it and apply it to what they're doing, whether it fits or not.

So, having those resources available to students. You're cultivating this curiosity in your students throughout this program. So, giving them resources that they can use after the program is done to continue learning on their own is really important, because you don't want them to stagnate in their roles. You want them to keep learning.

This is a starter program. This is a launch pad from which they can continue, and maybe find a niche of technology that works for them. Maybe, they still aren't quite sure what area they want to focus on. This is a good jumping off point. And then, they can continue to learn on their own. So, a really important aspect. And self-paced training is a great way to accomplish that.

Don Jones:

There's a business learning to take away too. I've worked with a couple of customers who, a fairly large ones who've done this type of program. And one of the things I think they really took away is that you can't treat this as a fire drill. This isn't the thing you solve in a week. And what they've learned is, as they've kind of done this over and over and gotten into their groove is, this is part of how they manage the business.

When they decide they want to stand up a new technology effort, a new app, or a new offering, or whatever, they build this time into the project launch plan, like they know, okay, we start here. And then, several months later, we've got the people on board, and we bring in some experienced folks from elsewhere. And we formed a new team, and it's just part of it. And I think that's important for businesses to understand is that you have to manage this. This is part of the business.

Jessica Schneider:

And it's a great point. And also, important to note that that doesn't happen overnight. You're going to start with your first reskilling program, and it's going to get off the ground. And it's going to take a while to really demonstrate results. But, I do think if a company is interested in really looking internally to find that talent, really interested in giving opportunity to people, they're going to build out that program, and it's going to slowly evolve into just the way that you do business. But, it does take time and it takes proof and demonstration. So...

Don Jones:

So, look, if you're committed to this, and you're going to do it and you look at this pool of non-technical employees that you have already working for you, all that institutional knowledge already fit for the culture, how can you tell who is likely to succeed? Because it's not... And I guess, it's not just succeed. But, persevere, you've got to stick with this. I've been through programs, and it can sometimes have a lot of self-doubt and imposter syndrome, and how do you look at the folks who've gone? And really, figure out who's going to make it?

Jessica Schneider:

Yeah, that's a million dollar question. It is the most important part of the program in my mind. Selecting the candidates, selecting the right candidates to go through this program is incredibly important, and can definitely be a challenge. I like to talk about this in three phases. You're never going to know a 100%, for sure until somebody gets to the end of the program. But, I feel like these phases are really going to give you some good confidence that you've selected the right people.

So, I like to start with recruiting. Part of the decision process is how are you going to find these candidates? Are you going to open up the application to anybody across the company and anybody who's interested can apply? Are you going to restrict applications to maybe a manager nomination or referral? So, that's a decision point that you have to make based on the nature of your business.

And, I like to also recommend some screening application to understand student motivation and where this is coming from. You can ask questions around, what do they want to accomplish? Why is this of interest to them? What are they hoping to get out of it? How is this going to impact them in their lives? Those types of questions are really great view into the motivation behind applying for this type of program.

You can also do some initial aptitude testing. So, there are some technical assessments that you can do, not necessarily about coding, but just basic computer literacy. Do they have enough knowledge about computers and how they work in order to move forward and be successful? You can do some cognitive assessments to determine, how well they problem solve, how they approach challenges and issues.

So, you can get some good quantitative data on these folks. All those things really create a holistic picture of who's applying. And that's a really great first step in deciding who moves forward in the process. So, that first phase of recruiting is a really important part. You've got to get some good information. They get to who's applying, so that you can decide whether or not you want to move into the next phase.

Don Jones:

I worked for a software consulting company one time and the president had a surefire aptitude test for incoming developers. And it actually, surprised the heck out of me. He said, "I'll only hire people who play a musical instrument." Like that, so [inaudible 00:25:22]. But, it turns out, it actually is kind of true. If you go to regional developer conferences and stuff, there's always jam sessions, like something in the brain. If it does music, it does coding really well too.

Jessica Schneider:

I just was part of a coding program, where a company had hired a bunch of new college grads who had focused on software development, and they were bringing them into the organization, and they were doing a kickoff for this onboarding session. And, I think there were 20 of them, I think 10 of them played a music instrument. And we really talked about trying to create like an ad hoc band out of that cohort. So, I'm with you, 100%. There's a good correlation, right?

Don Jones:

Yeah, to music.

Jessica Schneider:

It's map, it's music. Yeah, it fits, it fits. It's good.

Don Jones:

And so, I couldn't stop you. Phase two.

Jessica Schneider:

No, that's okay. It's good. It's good. I mean, you can ask questions like that. I think the point of this is that you have some freedom. And you, representing your organization in trying to design and initiate this, you can really decide how you want to determine whether or not a client or an employee is going to be a good fit. You have that ability based on your organization. So, there's a lot of freedom here.

So, the second phase is really around evaluation. And that's a two-way street. I think it's important for the program team, the ones who are owning this to evaluate students and their dedication and their commitment level. But, it's also important, I think, to allow the candidates to evaluate the type of learning that they're going to go into as well.

This is a milestone that allows them to really see what does it mean, when I say something, like learn to code or learn to be a developer? What does that really mean? What kind of content and curriculum is that? Is that really referring to? So, I like an evaluation phase that includes some type of content, whether it's reading an article and doing an exercise, whether it's looking at some self-paced content, basic level but self-paced content, testing their retention.

Something that gives them a way to, for lack of a better phrase, get their hands dirty with the content, and really understand. When I say, front end development, what does that mean? What does HTML mean? What does CSS mean? What are all those concepts mean, so that I have a better understanding?

Practice exercises are also a great way for you as the program team to evaluate problem solving skills. They might not get everything right, but how are they approaching it. And again, it gives those candidates a way to think about what are the things that they're going to be asked to do in training.

So, if you've got a candidate who goes through the evaluation phase, and says, "I've loved every minute of this, I'm on board, let's go." You've got a pretty good fit for the program. You've got someone who is at least on board, what they're going to learn. And they've also committed to going through that that portion of the recruiting process. So, they're demonstrating that they're ready to go, and then they're committed to learning.

So, then, the last phase is really around selection. I like to recommend a more detailed behavioral assessment. There's a ton of tools out there. I'm sure that most companies have tools that they use, but this is really around really thinking about that engineering culture fit. Is the candidate going to fit into the culture? Are they going to respond well? Do they really have the aptitude for that.

So, that gets a little deeper into that behavior. Interviews are supremely important. You would never hire a candidate without interviewing them into a new job. So, the same is true for this program. So, making sure that there's a pretty wide variety of people interviewing the candidates, existing software engineers, managers, people on the program team, to really get a sense of who these people are, as well as the candidates getting a sense of who they're going to be working with, as well.

So, it's an important part of the process. I think if you've done all those things, it's not guaranteed, but I think you're in really good shape of having the right candidate for your program. The last thing that I would say, which isn't necessarily part of the recruiting process, but having some grace period for opt out, because I can go through this process, I can think I understand what it's all about, but maybe I get into the program.

And within the first couple of weeks, I realized, "You know what? It's not for me, it's not what I expected. It's not what I wanted to do," or maybe something happens in life that's going to make it really difficult for you to continue on with the program. Giving students the ability to opt out of that program without penalty is a way to relieve some of the stress associated with accepting a position into this.

This is the big change. This is the big change for the company. It's a big change for the candidate. And so, anywhere you can mitigate some of the stress and pressure and make sure that they feel good about their decision. So, even just knowing that there's an opt-out period, I think really helps candidates make sure that they're making a good decision for themselves as well.

Don Jones:

So Jessica, as you're starting to build this program, let's dig into that, evaluate a little bit more. How you go about creating that internal pipeline?

Jessica Schneider:

So, there's a lot of different ways that you can do that. I think if you are creating these reskilling programs, and you're looking at trying to do them over time, and you want to build a pipeline, there's a lot of things that you can do to do that. We call it the candidate funnel. But, you might start with a set of self-paced content, that covers some of those basics.

You might go through an assessment to find and to see if they really retain that knowledge, then you might assign a coding exercise where they're going to have to apply some of that knowledge. And then, you might go through that interview process. So, that process could take some time. So, this whole recruiting process does take time. If you're looking at running these programs over and over again, you might want to build up a pipeline of candidates.

So, if you open your recruiting process, and you make that available year round, you're going to have groups of students who are ready to go get training as they move through that process. So, really, thinking about how often you want to run something like this, what's the lift to get candidates right into the program? Are there times of the year where this might be more appealing than others? Or do you want to just consistently, have people through this process?

So, thinking about all those things, so that you're ready to go, like when the business needs people to go through the program, and they've got positions available making sure that you've got candidates ready to go into that process. That takes some time. That's not something that's going to happen in your first reskilling program. But, certainly over time, as you start building it and thinking about, how do you fill that funnel with more people on a more regular basis is important.

Don Jones:

Yeah, and I like that idea of the employee kind of co-investing a little bit, doing some learning on their own. It's kind of both that that this is what they want to do and demonstrate that they've got some commitment to it, that's a great idea.

Jessica Schneider:

Yup.

Don Jones:

All right. So, here's the money question. How do you measure success? What does success look like?

Jessica Schneider:

Right. Quite literally, the money question because these are not cheap to do, not only in dollars, but in time and resource, too. There's a lot of people involved in making this happen.

So, there's a few ways that you can measure success of these programs. The easiest is to look at participant based metrics. The easiest of all of those is to determine whether or not a student graduates from the program. It's very easy to say, has this student done what they need to do? And are they eligible to graduate? I like to talk about a few different elements of measurement. I think knowledge retention is important.

You can do that through exams or through some other means if you want, but making sure that they've retained the concepts. Being able to demonstrate that they can apply the skills that they've learned is important. We do that usually, through projects or some larger application that they build.

But, I also like to look at behavior change as well. And that sort of thinking like a programmer. How did they act in class? Were they collaborative? Were they engaged? Did they ask good questions? Did they struggle through things and get to the end? How did they behave throughout that class period?

So, if you're evaluating students on those few dimensions, you're going to have a pretty good sense of who's going to make it through the program and who's not. So, setting that graduation milestone is a really easy way to see whether or not a participant has been successful.

You can also look at employee satisfaction, though. You can gauge if employee satisfaction is going up specifically within those engineering teams. That's a great metric of whether or not those participants are finding success. And then, you can also look at employee engineer or engineering employee tenure, or your developer staying longer? Or the people who are going through this program staying on those engineering teams longer? Are they staying within the organization? Are they moving around? Are they looking for new opportunities?

We hope that programs like this that are cultivating talent, and moving them into new positions, is really helping to increase the amount of time that developers are spending on teams. You want those engineers as they gain experience, and they gain knowledge. You want them to stay in your teams longer because they're contributing ultimately to your products and services. So, that's an important metric.

From a program perspective, there are a few things that you can do to measure whether or not the program is a success and is making an impact on the business. Graduation rate is an easy one. How many people that entered the program are graduating the program into those positions? You can also look at time to productivity, when those graduates go into their roles, how long is it taking them to commit production code.

You can look at those metrics and compare against people who might be hiring outside of the organization into entry level positions. Is your internal cohort committing code more quickly than your external cohort? So, that's a great metric to measure. I would expect that if you're using these programs, to fill your development teams. Your recruiting and onboarding costs are going to go down.

You don't have to go out to the market to find candidates. If they're already employees, you shouldn't have to spend a lot of time onboarding them. They already know the company. They've got their laptops. They're good to go. So, those costs I would expect to go down. And, also, I would expect, if you're hiring people who understand the business, who have been there a while, I would expect those engineering team contributions to go up as well, new features that maybe you hadn't thought of.

Some of those fresh perspectives coming in. Maybe, there's some reduced operational costs. Again, thinking about a role in a different way. Improving customer satisfaction, because you're really, creating products and services that really have true voice to the Customer based on those different perspectives.

So, I think there's a lot of different metrics that you can use to demonstrate that these programs are really valuable to the company, and adding a lot back in. So, a lot of options. These are certainly, not all of them. But, certainly, you can measure the program.

Don Jones:

Okay. So, I think our last point is real talk, what are the risks? What are the difficulties? How do we prepare? How do we mitigate?

Jessica Schneider:

Yup. So, you're going to run into challenges as you go through these programs, as we all do. So, some things to look out for, and some things to think about. One is time allocation. We've talked about these programs taking time. And by time, it could be 12 weeks, it could be 14, 16 weeks. Depending on the number of technologies, this could be a significantly long program, not to mention the time that you've got to invest to recruit and select the candidates, not to mention the transition time.

So, when you start this program, you could start it on day one, and six or seven months later, you could actually place a candidate in that role, and then it still takes time for them to be productive. So, you have to make sure that the company is willing to invest in the amount of time that these programs can take.

Again, I think once you establish it, and once you demonstrate success, and you start running these programs more frequently, that time allocation becomes less important because you're running them know over and over. But, it can be a hurdle in programs for sure.

Secondly, I would say, thinking about transition support is really important. When you're graduating students, when you're putting them in the new role, you want to make sure that they feel supported, and that they feel like they are transitioning into that role in a way that's effective. So, do you have mentors that you can assign to them? Are they being paired with senior engineers for day to day? Do their managers understand what they need coming out of the program to make them feel successful?

So, that's a really important part of the process. You could have somebody go through the program and graduate and be a star in class. But, without support in that day to day, they might fail without really knowing what to do. And that makes them feel bad, it makes the program look like it didn't do what it needed to do. So, making sure that you've got that coverage is really important.

Another thing that I see, sometimes causing confusion is around program ownership. So, there's a lot of teams, there's a lot of departments involved in these programs. Engineering is involved, HR, L&D, talent development. There's a lot of teams that are invested in these programs. But, there should be one owner, one ultimate owner, and the person who's making the decision about the candidates, the team that's making the decision about the content and curriculum, who's making the decision about placement.

If you can identify the team that really owns the program, then everybody can support that team and help to make those decisions. But, having a true identified owner really helps to eliminate some of the confusion and miscommunication around the programs.

And then finally, we don't like to fail, but there will be attrition. There will be people who drop out of the program for one reason or another. We hate to see it happen. But, life happens and sometimes, the program is not for them. So, people aren't going to leave. So, there's a couple things that you have to think about what happens to the students if they choose to leave in the middle of a program? Do they go back to their old roles? Do you find a role for them elsewhere in the company? What's the message to them?

And then, have you think about establishing expectations around nutrition going into the programs? Knowing that you're going to have some level, and making sure that all the stakeholders and the leaders are aware of that. When it does happen, it's not a red flag, and it's not a negative point on the program. It's expected. If it doesn't happen, it's great. But, if it's expected, then your messaging changes a bit.

So, really, understanding what that looks like. And some of that just takes experience and running in a few times. Some of it just takes understanding the students who are going through. So, those are some things I think is they're important to look for, they're important risks to think about. They shouldn't prevent you from doing the program. But, the more information you have up front, the better. So...

Don Jones:

So, you have a one good question from the audience, I want to bring in.

Jessica Schneider:

Yeah.

Don Jones:

As we come to an end here, would you consider the approach of teaching people that are outside your organization, and then maybe offering them a full position if they get through it successfully? To me, that almost feels like, you might be starting a new line of business to run a school that's accessible to everybody, and then you pick the cream out of that? Yeah?

Jessica Schneider:

Yeah, I mean, I have worked with clients who have done it that way as well. They've got both internal cohorts where they're looking to insource talent within their organization. And then, they've got external cohorts where they're looking outside to the community, to find people who are interested in software development, or interested in technology, but don't have the means to do it on their own. So, they run these programs for an external group, with the intent that when they're done, they get hired into the company. So, absolutely, a possibility, and definitely a great thing to offer.

Don Jones:

And do you have any tips for putting a curriculum together? I know, I have some strong opinions on this, but I'll let you go first.

Jessica Schneider:

So, I have a few... I'm curious to hear yours, too. So, yeah, in my experience, the more information you can gather around what you're trying to accomplish, the better because then you can think about, if there's specific tasks that you understand and you know what it takes to do those tasks, you can start from the beginning and really build up.

So, if I know that I have to do a bug fix in a certain area, what are all the things that I have to understand in order to do that? And are there any complimentary technologies that would be important for me to understand in order to complete that cycle? So, I said in the beginning, start with the end in mind. I like to know, specifically what students are supposed to do, so that we can really think about what are all of the different technologies that we need to include, and what are the levels of emphasis? Do we need to spend more time in one area than another based on what we think they're going to be doing? So, what do you think, Don? How have you approached that?

Don Jones:

Yeah. So, I think something everyone has to realize is, especially as technologists, we often don't know how the human brain learns best. We tend to front load abstract concepts, because we think getting the definitions out of the way will help.

So, look for a partner or a consultant who can come in and help you with that. Someone who's familiar, both with technology and instructional design, who can help not only identify what needs to be taught, but put together a curriculum that teaches it in the right order, that can aim for reasonable outcomes. We'd like to do this in 12 weeks, and we want them to be a world expert. Cool, not going to happen, right?

Jessica Schneider:

Right. Right, right.

Don Jones:

Ask for help, bring someone in to help with that.

Jessica Schneider:

And, to that point, just in terms of how the brain works, linear isn't always the best way to do it. Sometimes, you have to teach something that you might not really need to know until the end, because you got to know that before you start at the beginning.

Don Jones:

Yup. That sequencing is huge.

Jessica Schneider:

So, understanding that... Yeah, you don't start from basic one, and then go through advanced, sometimes you got to do some advanced and intermediate, then go back to basic. Sometimes, you have to do circular learning where you're learning some things, and then you got to go back to the beginning.

So, being open to really understanding that a curriculum like this, that lasting a long time, you have the ability to play with that. You have that time to really think about how you want to roll it out.

Don Jones:

So, if you snag someone from another team and move them into an awesome engineering role, now that other team has to backfill.

Jessica Schneider:

Yeah.

Don Jones:

How do you see companies managing that messaging?

Jessica Schneider:

That's a great question. I think when you open up a position like that, you are offering opportunity as well. So, I think it depends on the organization. I think, if my organization is creating reskilling programs, and I'm tapping a high performer on a customer service team, and I'm putting them into a program where they're going to go get another job, I'm going to look for somebody who can fill that role. And maybe, I start internally. Maybe, I start with somebody on that team who might be able to fill that role and consistently like build that chain of insourcing.

But, I also think it's a great opportunity to talk about the fact that, if you join a customer service organization and you want to try something else, there's opportunity to go try something else. And if you're a great employee, and you're valuable, and you love what you're doing, there's ways to expand that, and there's opportunity beyond what you're doing. So, I think it's a good message that all employees can share.

Don Jones:

Yeah, I personally hate losing a good team member, but I love to lose them to something better that they love.

Jessica Schneider:

Yup.

Don Jones:

So, you can't be too sad.

Jessica Schneider:

That's right. That's right.

Don Jones:

Okay. Last question from the audience. A lot of companies already work with local schools to try and create themselves an incoming talent pipeline, does this type of program replace that? Is it more of a compliment to it?

Jessica Schneider:

Yeah, I would not say that. I would not say that it should ever be a replacement. I do think it can augment existing abilities. I think you're always going to want a pipeline of talent that you're bringing into your organization to work in those technical roles. I think that anything that you can do to work within the community and to work within your own organization to pull people in, is a great thing.

So, I don't think it has to replace those upwards at all. I don't think it has to replace external recruiting efforts, either. I think, the more diverse your team is from experience level to where they live to what their background looks like, the more you can pull into your organization, the better that development team is going to be. So, I wouldn't say it's a replacement at all.

Don Jones:

Right. So, Jessica, thanks so much for joining.

Jessica Schneider:

Yeah.

Don Jones:

I'm going to let you have the last word. Are there any other big, I guess, like frequently asked questions about reskilling on tech talent that you hear a lot that we haven't touched on?

Jessica Schneider:

Yeah, we touched on it a little bit. But, I want to emphasize it. I get the question a lot. How can these programs impact my business? And I think it's a good question. We've talked a lot today about some of the business metrics and some of the business side of this around, how do you measure? And what are the risks? And how do you prepare?

But, I think where I would like to leave everybody is, the more important question is probably how is it going to impact my people. I think when you give opportunity to people to become something that they'd never dreamed of becoming before, that's a really inspiring thing. I think that when you tell somebody in customer service, or a cashier, or anywhere in the business that, "Hey, if you're interested in software development, there's an opportunity for you, we're going to put you through this program, and we're going to put you on a development team."

That's an amazing experience and amazing opportunity. And I've been fortunate enough to see that transformation. I know what it looks like when you take someone from an existing job and move them into something that they really are passionate about. And that's an amazing transformation. But, it's not just impactful to the people who are going through the program.

The people who are working with those candidates as they come out of the program, their existing team members that are seeing them move on, employees across the company that are hearing about these programs. It's a great way to inspire your team. It's a great way to make sure that your organization understands that the company is invested in you and your success. And that's a great message.

Don Jones:

That is a powerful message. Jessica, thanks so much for your time and presenting all this today.

Seth Merrill:

That's it for today's episode. If you're interested in virtually attending other Pluralsight discussions live, visit pluralsight.com/events for a calendar of upcoming webinars, live coding demonstrations and live events. To listen to more episodes of All Hands on Tech, visit pluralsight.com/podcast.