So I've never been to India before, I'm not familiar with your development community. Can you guys tell me, I'm curious what size of companies you're working with. Can you raise your hand if you work for a company that's 10 people or less? Okay, all right, cool. How about 100 people or less? All right, so big a company. So 500 people or less? All right, now we're good to go. All right, and then like, okay, 2,000 people or less. All right, how about over 2,000 people? Will it be interesting? I mean, it sounds like there's definitely some larger companies represented in the room, and these ideas, you know, larger companies sometimes are really interested in this sort of thing, and sometimes it's hard to get ideas started in bigger companies. Regardless, you know, obviously I think it's worth thinking about and worth considering. It's a little bit about my story. I'm from the US, I live in Chicago, and actually from 1996 to 2000 I was a family therapist. That was my previous career. I got my undergrad and master's degree in psychology and family therapy, and I worked with troubled kids. Within 1999 I learned HTML and kind of got into web development that way through the front end and then worked my way back to eventually Pearl, when I was doing a little startup near Chicago, and had to learn Pearl to keep my job. I was kind of a writer at an HTML developer, I guess you could say, and they needed me to learn Pearl, so I did as quickly as I could, because I had a wife and a kid and I needed to put food on the table, so I had a lot of incentive. A couple years later I ran into a book called Software Engineering, which is a book by Keith McGrady, I think in 1989. And it just kind of introduced some concepts to me that were helpful. Like I said, I don't have like a formal education in software development or computer science or software engineering. And this book, Software Progressionship, gave me just a small vocabulary to help me understand where I stood. I didn't feel like I was a computer scientist at that point. You know, I was basically a web developer, self-taught. I couldn't really feel like I could call myself an engineer either, but I felt like I could call myself an apprentice, because that's what it means. It introduced the concepts of apprentice, journeyman, and master, which I finally felt like I could label myself as something which was helpful. And I think it was super helpful to be able to say, I'm an apprentice, which helped me understand where I stood a long way to go. Even though, you know, at that point I was like a senior application developer at this little company I was working at. It made me realize, well, there's all sorts of much, much better people and much, much better companies in the world that I should be kind of aspiring to. So as the years progressed, and got my big break by working for ThoughtWorks, which for me was, I worked really hard in order to make that happen. I read a lot, and I started paying my way to go to, like, agile conferences in the United States and eventually convinced them to hire me. And while I was there, I started writing about apprentices. ThoughtWorks is a great company. Does anyone here work for ThoughtWorks? I use it? Yeah. Okay. Me too. Anyway, so I mean, ThoughtWorks has a lot of great people in it. That's one of its biggest assets, obviously, of people. So I was able to actually interview a lot of people there about their experiences becoming software developers, kind of compare that and contrast that to my experience of becoming a software developer and then create some patterns, not like software design patterns, but like apprentice patterns, like patterns that work for helping people who are trying to become software developers. So I started writing about that in 2005. Then a couple years later, I actually stopped writing for a little while when Ruby got exciting in the US and put my writing away for a little while because there were some big opportunities to take hand into Ruby and Ruby on Rails in the US. And a lot of ThoughtWorks is doing a little company called UPTIVA in Chicago. And in 2006, and then in 2007, we kind of landed our first Ruby project, and my first instinct was to go and find an apprentice to help me physically. Because I knew that there's people who kind of like me out there who probably know the program, or probably didn't have any credentials and just needed kind of a break or like an opportunity to kind of get up to the next level. So anyway, that program, we did that a number of times over the years and grew an apprenticeship program between 2007 and 2012. Along the way we got an acquired by Groupon in Chicago and got to bring the apprenticeship program there and grew it where it's still going. That's the book I wrote. It did eventually get published in 2009. And it's actually available online for free. If you just Google apprenticeship patterns, I think the first link is actually the open Creative Commons link to it. It's all in HTML, but it's also like on Kindle and all that good stuff. And like I said, and this is not a book for people who want to create apprenticeship programs. This is a book for news opera developers. It's basically kind of our career guide. It's guidance for the aspiring opera craftsman. So that was published a few years ago and thankfully it's not a book that goes out of date quickly. I'm kind of lazy. I don't like writing lots of books. So I chose a topic that doesn't go out of date. It really says that relatively. Anyway, so just, basically what why apprenticeship? Why do I think this is a topic worth talking about why do I think this is something worth investing time and resources in? And I've given this talk a couple of times, both times in the US. So I'm not sure how well it fits here. So you guys need to interrupt me and tell me, like, no, that doesn't quite work. Or if it does work, just kind of nod your heads a little bit. But in the US at least, and I'll probably put it in that context, our mainstream hiring models are too narrow. And by that I mean employers see a need that they have. They write a job description. It's got a bunch of skills on there, very, probably very specific acronyms and things like that. And then they can't fill it and then they complain about not being able to find anybody. And that happens a lot in the US. We've seen it in the latest light. There's a lot of unemployment and underemployment. And yet there's lots of jobs that are going unfilled. I don't know if that's the case here. But a lot of that is because employers have like too narrow job descriptions for their entry level or for their entry level jobs. And people have this problem, I assume as worldwide, which is they can't get their first job but they need to have some experience. And so in order to get that experience you need that first job. And because of all the online resources and tools that are basically free or cheap, assuming you have an internet connection and a computer, there's people out there who are learning to code, you know, that you can hire that don't necessarily have like a ton of, that don't have a great credential, but they have a lot of potential and they have the ability to code at this point. So I don't know what the number is but there's an untold thousands of what we call high potential, low credential underemployed people available and they already know how to code. Because I mean 2012 was kind of a big year for online learning for software development, for coding. Things like Team Treehouse and CodeAcademy.com, things like that made it easier than ever for people to kind of level up on their own relatively cheaply. And so there's just a lot of people out there that maybe they don't fit the usual job description, maybe they don't have the right credentials in general, but they have the potential to be great contributors on your team if given the right structure. One of the other reasons that apprenticeship works really well is because you're growing people into your culture as opposed to just finding people and kind of jamming them in already pre-made, which you have to do to a certain extent when you're hiring more senior people. The nice thing about apprentices is they grow up in your culture. It's kind of like a child being raised in a family and they just kind of, for the most part, fit into that family. It's a little bit like that. And it actually engenders a lot of loyalty when it's done right, as you'll see in some statistics that I gathered about retention of apprentices over the years. And then MC is a culture of learning. Apprentices, their biggest responsibility is their own learning. And that tends to impact people around them and it tends to be a good influence on the more senior people in the room or on their team who are maybe a little more jaded or tired or stressed or whatever and apprentices come in and they're learning and that tends to create a culture of learning because they're hungry for knowledge. So how does it work? Let's get into that a little bit. I think one of the fundamental, basically the fundamental structure in apprenticeship is someone who's willing to mentor. A relatively experienced practitioner. They don't have to be like an architect or like the best software developer in the team, but they need to be experienced. They can't be like a beginner themselves. And so they need to be willing to mentor. That's not, those two things don't always coexist, right? Sometimes there's something that's good. It's an experienced practitioner, but they prefer to just be a team leader or something like that and not necessarily bother with beginners. That person needs to be on a team and working on a project that's within reach of the apprentice. And by that I mean, and that kind of is an opportunity to find and talk about when I say apprentice. I'm not talking about somebody who doesn't know anything. I'm basically talking about the way we approached it was, let's find somebody who's within six months of our entry level. Normally, if we're looking for an entry level hire, let's take that and push it back six months and that's the kind of people that we're looking for. So I mean, our first apprentice is definitely an ardent coach. They just didn't have the cred or the presentation yet to get hired as an entry level. Or the credentials are their reputation. So the project needs to be within reach, meaning that the apprentice within six months or actually within two months should be able to start being a contributor on the project. So if it's a very, very specific domain, well, you probably can want to find people who don't have the ability to pose super well. You have to probably understand that domain. Another way that it works is that it's, and I guess part of my philosophy towards this is by emphasizing culture or work curriculum. So as people, when people get excited about apprenticeship and wanting to put a program together, often what they'll do is, sorry, philosophy training. Although I get really excited about putting a curriculum together. All their favorite books and all the right things to work on and checklists of skills and things like that, which is good, but often they'll delay even starting bringing an apprentice on while putting all that together. I don't think that's overkill. If you have the ability to put that together, you can probably put it together on the fly when you actually have an apprentice with you. And I think better use of time is to focus on creating your existing culture and cultivating that. And ultimately what you want is, I mean, a culture is going to adapt and survive and grow people, whereas a curriculum is going to get out of date really quickly. Anyway, next, contributing in the trenches is really another fundamental right there with having a mentor. If the apprenticeship goes by and it's been six months and the person isn't a contributor in the trenches like painting on the project, then it's not really a successful apprenticeship to me. By the end of the apprenticeship, they should be a productive team member and almost indistinguishable from anybody else. Basically to the point where it would hurt to lose them. Generally in my experience that after about two months people are able to be productive and your investment is at least starting to pay off a little bit. Another important aspect of how it works is having a pet worker. They're spending some of their time in the trenches on the team being a contributor of pet programming. I got to think about some feedback. But another really important place is to have a safe pet project for the apprentice to work on. Where it's their own independent work, they get to choose the technology, they get to choose the application. This is an opportunity for them to make mistakes in a safe place as opposed to on production code which is what they're working on in the trenches. Then the critical thing that we've learned over the years is having structured feedback groups at multiple levels. When we first started our first apprentice there weren't a lot of feedback groups other than just pair programming and having a relationship between me and our first apprentices. We started adding structure over time and ended up nowadays with a structure that has multiple levels like I alluded to here where the biggest feedback group is 6 months. That's basically if the apprentice can't make it as an entry level sovereign developer within 6 months then it's not really going to work out. The relationship is structured in such a way that we're in or out at that point. That's the biggest feedback group. The next level in is 2 month milestones basically. Every 2 months there's a milestone meeting where the apprentice comes and does a demo of their pet project, a code review of their pet project, a retrospective on how the last 2 months have gone. They present a topic that they learned about for 5 to 10 minutes, that sort of activity. In the room of 5 to 10 more senior people who are kind of involved or there for feedback to just kind of be involved in the apprentice's growth. At that meeting there's a decision made whether they're going to continue, whether it's not working out when they're done or whether we're going to hire them right then. And that happens 3 times every 2 months. Inside the 2 months there's weekly meetings. There isn't necessarily spending it all day every day pairing with their mentor. They might not even necessarily be on the mentor's team for a week or two during this time. But the report is definitely on the hook for meeting with them once a week just to see how things are going. So that's the feedback groups that we do over the time. So some of the results we've seen from this and I gathered this from Optiva which was the consultancy that I was a partner at and there's 2 other apprenticeship programs that I asked for numbers from Hashrocket which is another U.S. based consultancy and A-Flight which is at this point probably the biggest apprenticeship program that I'm aware of. These all have presence in Chicago and also Hashrocket has an office in Jacksonville, Florida. From these 3 I gathered these last summer from these 3 or programs there's been 58 apprentices that have gone through over the years. 80% of those apprentices are still 80% of the apprentices that successfully completed their apprenticeship are still with the company. 54 out of the 58 succeeded. Can I ask a question? Yeah. What anti-patents have you seen really by actually working in trenches? Have you seen any anti-patents there? Yeah. Absolutely. The first anti-patent and of course I was the instigator of these anti-patterns and it's part of the learning process but the first anti-pattern was our first apprentice that we brought on it was a big success. He learned very very quickly. He was a pro programmer that came in and learned Ruby like felt instantaneously and so we quickly brought on like 2 or 3 more apprentices over the next 4 or 5 months and that was definitely an anti-patent. Because if the ratio gets screwed up between junior and senior people on a team you end up with apprentices pairing with apprentices in the trenches and that's not what you want. So definitely one of the things we've learned, I guess an anti-pattern is not going past 1 to 1 ratio junior to seniors on a team but the opposite, hiring too many apprentices at once fitting over a year in that way. So that's definitely heard and that first apprentice that we had left after a year because he wasn't being mentored like the way he was expecting because there were these new apprentices that came in to our attention. Does that answer your question? Yeah. Try to think of some other examples. The reason why I ask is because I'm doing a very similar thing and a bunch of 5 to 6 grads. 5 to 6 grads? Straight out of school and we are doing exactly a project from the trenches. We open sourced it last couple of weeks back so that's the exact scenario trying to relate is there a pattern or maybe we can share offline later on. There's a guy at a hash rocket named Cher who did something, maybe it's a little bit like what you're doing and it's actually I would say for a lot of cases what he's doing is an anti-pattern but he's made it work where he brought on 3 apprentices at once and they sold but they also let the client out of their building software for that this is going to be rather a reduced rate, this is a team of people on it and it was all very open and clear about what was going on and he had a structure where he just rotated every 2 hours so he appeared with all the apprentices every day. That's exactly what I do. It worked, it worked. It's hard to find that mentor, it's hard to find a client who's open to that but it can work, it's just not It just takes away my 100% at the time. What are you saying? It takes away 100% of my time. Was that necessarily sustainable? After that project he was done for a while. Exactly, that's what I... It's great for everybody probably but not necessarily as sustainable. So yeah, 80% I was very happy to see that. Obviously I had a sense for that from our own numbers in terms of people sticking around. That's generally surprising because the skeptics naturally would be like well the apprentices stick around for a year and then take off with this new knowledge and now they've established themselves but generally if they've received the mentoring that they came for and they don't feel they've taken advantage of they will stick around. And then yeah, I've got starting salary on there that's obviously just specific to those two cities and then age range across all these 58 people across all these 58 people in 1942. One thing to note is obviously most people who start their apprenticeship finish their apprenticeship. It's not necessarily like maybe more typical weed out program where you're bringing in a batch of people and you're going to see who survives who gets voted up to Island and stuff. This is generally the way I guess the way I talk about it is often people ask that it was between internship and apprenticeship they're pretty, it's a blurry line for sure but the way at least I look at it is an internship is kind of like dating where you don't necessarily have the intention of getting married during that time so they might come and intern for you for a summer and you're just kind of checking each other out and they're going to go off back to school or wherever whereas an apprenticeship is more like an engagement like if this isn't a patented marriage or employment then something went wrong. So there's a lot of investment that goes in both directions in an apprenticeship where the mentor is doubling and the company is investing in the apprentice and they're feeling that and vice versa obviously the apprentice is taking a lot of responsibility for their own learning and investing experience. So generally the pattern so obviously most make it but when they don't it's relatively clear after the first two months that they're on the edge of not making it and so we can use those milestones as kind of a warning point for them like a raise the red flag so it's very important for them to be able to raise the red flag so it's very rare that we haven't seen it yet for me in my experience that somebody makes it like to month four and then all of a sudden they don't make it at month six. So at month two it's always if someone's not going to make it it's kind of clear at that point and we'll give them a warning in the next milestone some people level up and make it and then sail on to their third milestone and get a job but a few times it has happened the second milestone it's like you're still not there yet and it's kind of clear from pairing with them in the trenches that they're not contributing at the level that we expect for four months in and then we have to let it go so that was definitely something kind of plays and segues into this point which is at the beginning we just hired them right off the bat and apprenticeships didn't have these time boxes and things so they would kind of stretch out in times you don't want to fire anybody and if you didn't have any set times to make a decision there's always other things to do other than like let people go and so for me because I get attached to these apprentices and stuff and I think most people do having these decision points on the milestone days are important for me I'm allowed to feel I'm allowed to kind of be a jerk in the situation and be the bad guy because that's my responsibility so that was really helpful for me personally to have these scheduled decision points I mentioned before overall like if you have a team of ten people you don't want to have like seven of them be apprentices three of them be senior in general especially if you're just starting this out so in terms of you definitely don't want to go beyond a one to one ratio and then also for the mentor in general you don't want the mentor to have more than one apprentice especially just when you're starting this out as people get more experience with it there's definitely exceptions to these rules but it takes years one of the things we've learned we went a little back and forth between having a structured curriculum versus an organic it's kind of happening on the fly from the mentor we are towards the side of being kind of on the fly just because this is over the course of years and the technology we're working with changed significantly and then the other lesson we've learned is we haven't figured it out for many of the populations other than white white men like me that's just looking across those 50 or 200 it was definitely over represented like white men in the US were over represented so that's just kind of putting this in common so you're talking about the qualities of a mentor a colleague of a focus area which a mentor needs to look at and can you provide feedback to an apprentice to make him realize the expectation of the goals so I'm just so I'm saying that you have an apprentice who needs to participate in the management so when an apprentice join an organization in such a program what kind of apprenticeship do you expect the expectations and then that's definitely the first week or two of the apprentices on the team is the most intense time in terms of the investment because their apprentice is disoriented they have to kind of get up to speed and they've got kind of thrown into the event and that's the time to set expectations so the apprentice should be able to expect a weekly check in with their mentor even if they're working every day with their mentor it's important to be able to just sit down and just talk specifically about how things are going so they should always have that if the mentor is out for a week okay maybe check in by email or something but they should have that weekly check in and if that's not happening their expectations are not being met they also shouldn't be just kind of off in the corner by themselves all week they should have the opportunity to pair in the trenches at the same time they should have the opportunity to do some self-study and work on their pet project and during the beginning of the first two months of their apprenticeship maybe that pet project time is thinking of you know half of their daylight hours or of course the apprenticeship that ratio slowly changes so they're probably moonlighting and working on their pet project at night and spending more and more time in the trenches during the day because they can because they develop the ability to contribute so having that that's important to make to a lot of apprentices to know that they have that breathing room especially at first to kind of be helpful or just try to shadow if they kind of back off and study a little bit studying through your pressure code other questions? what is the difference between I have a college graduate I can do the same program also versus non-school or so that's what they're talking about and not even getting back home can we try to do a product over here what's your college graduate who just probably maybe has done something like that they know that you're a professor can we discuss a little bit over the time we were just like a four person consultancy at first so we didn't get any people that had CS degrees but over the time as we gained a little bit more prestige we did the college grads just went through it faster earlier questions everyone who went through it I think at least started college but I should say the CS majors a few that have gone through this program they just did it in two months or four months at the outside as opposed to the four six months so my question was similar to what he was asking so like in my group we get a people who are coming from college they recruit people who are literal so they're coming with some baggage and the kind of work environment we have so we have to enable them we have to team them according to what's our expectation now in that case the people who are coming in the baggage they try to get what's going on around and they might decide also that there's not a cup of tea I mean I'm not looking for that and whereas if I'm bringing a person who is a graduate I'm bringing him on board the person might take one or one and a half year to understand what's going on and then after that the other person also can decide that it's not a cup of my tea where things are going wrong first and second so first question is like how to handle when somebody finds out that this is not really working for me yeah and second is that in a frequency we see in coaching and mentoring because if you look at the technology every two months, three months, four months it's changing and the person who is working on the project from one technology to another technology so how that momentum should go on so what's the frequency you're looking at because right now we just spoke about a six month window and every two months the milestone has to be touch based and within two months every week mentor used to have meeting with the person and to see that what the person is doing so what was the second question the second question is what should be the frequency should be ongoing process or we just talked about the six month and we need that person on his own to decide what to do next yeah I'll get to that one a little bit I mean in general though what you're trying to do is obviously like they don't just like stop learning after six months so you want to have everybody in your organization they just kind of lose some of the natural structure or the structure that the apprenticeship program has sorry my memories not great what was the first question when it's not working out you know that did happen one in general it's not really an issue because of the number of people that apply to these programs you tend to because it's there's a lot of people obviously that don't have credentials so in order to do this you end up with a lot of applicants you can take them maybe end up with two or one half and you can take the best one and so in general these people and what you're screening for when you're screening for them are people that are already really motivated to do this and they already know they're not using this as a way of like figuring out whether they want to be a software developer they've already decided like I want to be a software developer so I mean that doesn't often happen but when it does I remember you know one person went through the program and definitely through the process realized that she enjoyed the product side of things more than the code side because she kept seeing like we might we might be writing good code but we're building the wrong stuff so she wanted to attack that problem I mean for us that wasn't a big deal because we were a small company so it was easy for us to steer her in that direction or help her go in that direction and it's a little trick here in bigger companies like Ruban at this point or some of the companies you guys work for where I'm sure the roles are a little bit narrow we know we're like that'd be a little bit harder to route them into the right role because you have people like a multiple typically more senior people in milestone meetings generally there's people around that yeah so when you take all the N and all the product teams are in these great companies because they need to release a lot of product and each product has its own development and each product has its own self people and their own dynamics and these same people also are people and there are people who really know how do you address that product? you know to be honest I haven't had to deal with that product too much because generally when we've been bringing on junior people we bring them on one at a time not in batches yeah I know that's not uncommon it's just not a problem that I have a lot of experience but maybe there's other people in the room that could help answer that question but did you have a something else to say? some of the products are intermediate products so when they go back and talk to their data I mean there's a whole motivation time we are it's it's cute anytime we've had apprentices that start relatively close to each other or maybe even within a week of each other there's always this tendency to compete to compare each other to even compare the projects they're working on so we just try to avoid that but I know it's all there's certain situations where people just naturally batch off together there's any such company that's not a company 15 and that's the problem so one of the things that we tend to do is just move them around so that they just won't get stuck on a single stream that they bring on a particular light so if you have a view you kind of work stream alongside pure development or pure QA trying to move people around so that one thing is not the cream is not just shared by anybody and the second thing is they just play a role all the different streams that are on the floor or in the organization and they're really about to go because people will talk at the end of the day what they will talk is what exactly are you up to this is what I'm getting so if you have a program that you know is going to move just to all then that would work that's a great point the way that we've structured this and in general all these these people are getting paid well or low like normal wages and so they should be able to expect that sort of they're taking that hit for the short term in order to get a great learning experience so like being able to rotate on projects would be something that would probably be kind of a pain for the organization to deal with but it's a good trade off because you're paying these people less for this time on a friendless level it's more customized that's the way that's the way for at least smaller consultancy oriented like 50% or less companies have done it I know like there's ThoughtWorks has their boot camp in Bangalore I'm sure that's much more I'm sure it evolves a lot year to year anyway does it evolve based on how much you need have you seen it before being called for such a thing because they're individuals yeah because they all come in with different experiences so basically that's one of the reasons I kind of advocate to have it be on the fly because when you're not maybe bringing in people from a university you can't necessarily you don't necessarily know what they're coming in with it's going to vary quite a bit but if you have mentors that are experienced and want to do this they generally know the resources to fill in the gaps and does it also affect the evaluation on the six months already? yeah well the nice thing about a contributor in the trenches in this sort of program is that the evaluation are they a good teammate? you can just evaluate it it's like a six month interview basically where you don't necessarily need to look at some inventory necessarily you can just say are they a productive parent team and what do we hire them at an entry level at this point that's definitely not all projects sometimes you can get a little bit too focused on how they product on this project and maybe they won't be able to switch to the next but there's always time that helps with that as well we started doing that a little bit as we got a bigger company like Groupon the apprentice could switch to a different project for two months you need to give them up to speak okay I mean one of the things I started doing really early was having weekly lunch and learn sort of situations where the scene is one of the mentors or the mentors would take turns giving a talk once a week over lunch and that's another opportunity to talk about things that you can see that the apprentices are missing even you can introduce more advanced concepts to them that they don't necessarily get by just coding and pair programming so that's definitely I don't know how prevalent that is here it's definitely like a kind of unspoken practice that happens in the U.S. a lot as companies gathering over all the engineers of the company gathering over lunch and people either coming from the outside as invited guests or people in the company so that's one way I'm definitely an advocate of mostly all of the XP practices I think they have to accelerate their programming is pretty well right because if you have this time pressure that means you're slowing somebody more so you're down for a while but it's in the best that you're going to see the back later I mean when you have several productive affordable loyal developers who you know you're previously weren't very productive at all it's easy to see that it was worth the investment to pair but yeah there's not a lot of easy answers I mean apprenticeship is a more long-term investment I mean so that's why it's good if you can to hire people who enjoy the mentoring because it tends to, if they're into that sort of thing and they enjoy it, it tends to slow them down unless they're doing it as the mentors is pairing with them I'm going to move on to the next slide I appreciate your questions, let's keep it coming I'm a psych major and so I like thinking about people and the relationships between people and one of the things I've been thinking about that kind of helped me understand why things worked out pretty well out of Tiva was thinking about the fundamental thing that is the framework for this light is thinking is the competency continuum if you could possibly but if you could put software development or any specific tech skill on a straight line meaning people who are incompetent are over here on the left and very, very confident people are over on the right it's helpful to me to think about especially when you're in the concept in the music, you know, bringing on apprentices it's helpful for me to kind of work with organizations or teams on this continuum so here would be a for example, here would be a team where a small company with four people who are relatively junior all working together and this would not be a great case for apprenticeship this would not be a great situation for this company to bring like somebody junior on because they're already relatively junior things out themselves there's also cases where like this would be maybe a stereotypical high-end consultancy where you have all these people over here on the right side to continue on who probably can build out at high rates things like that but they're all kind of clustered around the same senior level of competency and I definitely talk to people and work with companies and help them start apprenticeship programs so you have that sort of that sort of distribution and it's really hard for apprentices to, or for them to get started because they're going to try to bring someone on over here and then there's just this huge gap between apprentice and these people in terms of the language like these people speak in basically a foreign language to the apprentice over here it's really the only the only way for these people to kind of move into apprenticeship is to hire somebody like here, right, who's close who's kind of close to their to their to their competency and slowly work their way back which would take a long time and they're probably never going to lose that kind of senior cluster of people but it's just it was just helpful for me to realize why this kept a company like with that profile kind of failing to start that apprenticeship program we just kind of happened into a structure a little bit like this at Avativa where we tended to start towards the middle when we started as a company in 2006 and we hired more senior people and we hired more junior people and we just ended up with this interesting spread of competency we had very junior people we had very very senior people and everybody in between and people would come in one of you guys asked about what happens kind of at the end of the apprenticeship right, like they need to keep learning they need to learn new technologies as these projects come up and when you have a situation like this where you have this nice spread that tends to just keep happening because there's people right ahead of you that you can kind of model yourself after there's obviously a lot of things you need to do and can do to create a culture of learning but one of the ways that works and the magic that I felt in this sort of structure comes because there's this concept of zone or proximal development like all of us in this room or all the different things we're good at or want to become good at have a zone of development where this is human development or like knowledge acquisition things that are available to us next right certain aspects of specific like when they get a programming language like becoming a better programmer there's certain aspects of a programming language and features of a programming language that are available to you next and then once you acquire those now your zone has moved forward so if you think of this as a person and this is their zone if there's someone just ahead of you that's in your zone they're in great position to pair with you and work with you and talk with you and help you acquire the knowledge in this zone and so the magical thing that I kind of stumbled into at Optiva in my opinion was the fact that we had this kind of link and chain situation going on where there was never a situation where anybody was too far out ahead of the next person and there was always somebody kind of in your zone who could help you out and this is an important kind of bit to the mentor the mentoring aspect of the apprenticeship where maybe this is an apprentice and their mentor is up here and that doesn't necessarily mean that the mentor is the one that's teaching and everything that the apprentice is learning everything from the mentor it reminded me of when I was learning martial arts and there was definitely a black belt around and that's kind of who I was paying for my instruction but often when I was a white belt I was learning from the yellow belts the orange belts were the ones that were helping me get up to the next level giving me practical lessons that's because they think in my language I felt like to be a beginner they were just there maybe a few months before that and so this is just something that we kind of stumbled onto and just thinking back and looking at it made a lot of sense to me and I mentioned it just because when you're thinking about bringing people on and hiring people you might, just going back to this for a second, you might your team might be here and you're like well we need to bring senior people or we need to bring on some really senior people but anytime you try to reach too far out ahead or too far back you're creating these gaps which end up hurting your culture because it just creates a lot of dissonance when there isn't a nice spread between people's within people's zones of proximal development so anyway my next steps in this journey in August I left Groupon because I'm really excited about the sort of stuff and in the US at least from our point of view there's critically high on and under employment for people who are under age 25 and yet half of the employers in the company and the country can't fill roles so there's this thing that we call the skills gap that doesn't demand from employers and yet not enough qualified people I assume this exists in lots of countries if I may interject where you're getting the data on about that skills gap that's one thing that's a big question it would be interesting to see where that signal is coming from I can I should have that in my slides but I will tweet it there's actually a good report that will turn into a book about it and it was questioning whether there was a skills gap or whether it was it was actually more of a backflip like I was alluding to before that employers need to just be more open that the skills exist but they don't exist to the specific potentials that you mean there's a line of mismatch between what they're asking for and what they actually should be doing yeah, that's a good way to say I mean and the crux of that paper or that book which is a quick read which is basically the pushing employers to see less of skill consumers and more skill producers meaning employers tend to want to just consume the skills like they want to put all the responsibility on universities to create skills when in reality it's employers best interest if they can have a take the long term view to become skill producers themselves that's kind of what I'm advocating so my goal is just to kind of spread apprenticeship but actually help in concrete ways to start more apprenticeship programs these I'll also post these slides these slides are actually available I've given them to the conference so I'm not exactly sure they're making that available to you but I wrote up a lot of these ideas in this paper here just five pages PEF is it access control? so what what? access control you're getting access tonight? for this paper? that's weird I haven't tried pulling it out here let's see if I just click it it's there weird anyway I'll check on that these are my next steps and just things that I'm looking at and then my current next step from the current step that I'm taking after leaving Groupon I joined a company called Dev Boot Camp this is a nine week boot camp that basically takes people from dabblers in technology dabblers in software development up to apprentice level or entry level developers and there's a lot of these sorts of boot camp style schools popping up in the U.S. and other countries as well it's a finishing school it's a good way of saying it like I was alluding to before over the last few years there's been a proliferation of online resources that are cheap or free and so a lot of people are using to get themselves up to a certain level taking microstand for AI or we're using Coursera or whatever and this is a finishing school to help get them over the last bit to be quite a little bit I mean often people will take a number of these massive online open courses and then use this to get a job so the idea of this is basically to build people and as I was obviously excited about beginners and people getting over going from kind of not knowing much to becoming productive teammates this is kind of the step before we're going to ship off so I wouldn't be surprised and I'm sure maybe things like this have existed for a long time or we can be done Questions? It is not just the U.S. problem it is right now the problem is like one of the things you said earlier is kind of an eye-opening Yeah, I don't necessarily agree with that but they're not living up Yeah, go ahead Can you give me a point the connection between what you're saying is a current step and I don't get a sense of what your strategy is where you are headed so what's the bigger vision? The bigger vision for this step and what I was alluded to before I know it's a little destructive but it's a little bit what I was just talking about is if we do our jobs right here at producing these free entry-level skills we're going to be in a position and often are in a position to make themselves more attractive to the entry-level or the apprentice level candidates to me it's kind of like it's hard to go out and have a group apprenticeship program consulting and like it just doesn't really fit as a business model for me or the amount of travel that would require to me this is a way if you can create if you can have a source that's meeting a demand you can help influence the people that make a national network of companies that want to hire from us and we're starting to do like panel discussions and workshops workshops with like CTOs and bringing them in to share ideas a little bit like what's happened here but also just that's a great opportunity for us to help tell them and train them in an apprenticeship hopefully that made sense yeah maybe you can catch up later I think it's really useful for the information feel free anybody any of you can certainly do that yeah I would think not it's very general to them it's basically the domain of software development specifically web development in the rails well this is the most people can not all of actually the companies that come and hire the students aren't necessarily just Ruby shop but we have to pick one stack and that's a relatively easy stack for us to choose a lot of people aren't familiar with Ruby like this kind of thing right now my students that are showing up in the 22nd Chicago are learning Ruby like we've given them materials so that by the time they show up they already understand what variables are and things like that what do you say no not don't read the page but yeah read like chris pines learn the program that you chose because Ruby and Ruby I don't know why she used that map because speaking to problems not major as I can understand oh what's not major leaves Ruby and Ruby oh no it's I mean it's usually crazy they lease in our context they don't have to that's what we chose in our sense in our context it's not met but that's just because it made sense because we're trying to meet it on met demand in the job market now it's very co-located very usually half the students come from outside the city that it's being held people travel for it pretty extensively sometimes internationally I don't know I'd like to can you ask me specific questions if I make it easier so when you say culture is it like the way the particular example if you're doing a different history program for XYZ companies and culture you mean the way that company and that development evolves what their values are and how they interact on a daily I don't know we talk a lot about culture at a T-Vote because we were able to identify what our values were as a company we wanted to be role models and things like that and of course defining your values is what they tell you watching what you actually do is what your culture is and so a lot of our culture you can see the passion that pretty much we had and hiring people that share those same activities and values to me it's culture is something you have to as a leader in the company are leaders in your organization you have to intentionally cultivate but it's something that's easy to do side-up or use a hold-up it's not this very clear objective thing have you seen that you have to let go you know yeah I mean if you're doing you know if you're doing your hiring right you don't initially have that problem too often the thing that helped us determine whether someone was a good fit or not was generally being able to find our values basically looking at our culture defining our values from that basically being able to say is this person living up to this value and doing something like that that was the easiest way for us to solve those problems which yeah isn't it contradictory different from sharing the business so yeah I mean that's a good question it basically gets back to the point of the mentor needs to be someone who can oversee and have enough power within the organization to make sure but like I said often the mentor isn't the one that's really pairing with the apprentice all the time I mean for someone to be a good mentor they generally can go back and be effective in the apprentice's zone that's what makes a great teacher right is somebody who and even though they're like way out ahead of the student can come back and like operate and speak in that language that makes sense to the student so but just in your kind of normal everyday life the easiest way for you to operate within your own zone approximately the easiest people to talk to or people just next to you or ahead of you so that's why it's important that a team it's not just like it could be really difficult if it was just a one to one like if you're on a really tiny organization or really tiny team that's obviously much more difficult if you have like a team of eight or something with one mentor and like people with that nice spread of competency that that's a lot easier a lot more like a living culture of learning yeah so I think what I'm hearing is that mental is a very key variable in this equation right often it's the limiting factor yeah it can also be the limiting factor so in your experience one question which I have is what kind of time commitment do you see successful mentors maybe on a weekly basis like I said it's a little bit of a front loaded investment first couple weeks tend to be pretty intense where your mentor needs to take definitely some extra time probably 15 hours out of the first week maybe maybe that's a little heavy just taking the time part of it is determined by your onboarding process and how automated that is but one of the most intense things that needs to happen in the first couple weeks is helping the apprentice determine what their pet project is and part of that is an opportunity for the mentor to help them do the ideation and the project planning for that project with the apprentice so that definitely takes just to finish and then over time it evens out where it's just kind of a more natural sustainable situation where you're meeting with them for a half hour hour week and then much more part of the team and then every two months there's definitely like a chunk of time like a few hours that needs to be set aside and the other question is so if I were to compare two mentors in terms of the key skills that a mentor should have which makes them more successful compared to the other mentor what are those key skills in your experience I mean maybe their technical expertise their knowledge of the code but the other stuff yeah it's I mean this is something we talk a lot about in depth they need to have a lot of him they need to be able to put themselves back in their own years so does that sort of also mean they should probably also think like a life coach potentially I mean like that's probably my correlation between someone who can be a good mentor and somebody who can be a good life coach can I give a word to it can I give a word to it because that's what I use a word called bendability bendability so it's like instead of having a step change you have an interchange which is really very smooth so you take them right from bottom of the ramp up to the top like an exit or an entry they just stay high so that's how I see it like a bendable mentor you're saying yeah kind of like what I was looking to before mentors being able to kind of on the fly bend to what the apprentice needs so we kind of put it as we only allowed our most senior consultants to do it, it was kind of privileged to be able to take on apprentices and so that tended to I mean knowing that meant that when we were hiring more senior people that was one of the things we were hiring was their interest in helping as a consultancy a good thing to hire for product is your people and you can find people to help you develop them that's a good thing would you officially assign mentors to a mentor or would it be a mechanical relationship it depends the A-flight which is a consultancy in Chicago they put the responsibility on the mentor you can find the apprentice and the person to recruit them to hire them it's pretty much all on the mentor other companies will have an all recruiting hiring process and then at the end of it there will be an assignment where hey this is your mentor for the next six months they might not be working with you every day you might not even be on the same project with them they're going to be a consistent person meeting with you once a week and that's pretty normal what are the aspects that you would look to be doing to make this any type of hiring process use a high-prevention yeah, that would be a good question so yeah, high potential it's not that they need to have low credentials they don't necessarily have the incentive to take this pay cut and do this intense signal process if they have the perfect credentials what we look for the easiest thing to look for is are they already coding if they're not already coding then they're probably not going to there's no excuse in my experience not to be coding already just because first of all they're not going to be within strike distance of entry level but it just speaks to the motivation if I can't go and see them tweeting or blogging or coding or having code somewhere in open source land then they're probably not they probably don't have the motivation yet or the competency to get hired so we definitely look for we look for signs of passion basically they can't stop themselves from coding already that was true for me self taught you're looking for you're looking for someone who's basically taking responsibility for their own learning they themselves aren't just going to consume the knowledge that they're going to be pushing themselves forward the ideal candidates are basically people that it's relatively clear to you that they're going to become software developers whether you've tried to help them or not this is just how to do it without to accelerate the process so yeah we just basically have evidence that they're already on they already have some momentum I really appreciate all the questions and thanks for bringing me to my jet lag