Technical Onboarding, Training, and Mentoring

This video features Kate Heddleston at DjangoCon US 2014 in Portland, Oregon, USA.

Technical Onboarding, Training, and Mentoring
0:28:24
Published September 19, 2014
302 views

By Kate Heddleston
With the increase of code academies training new engineers there is an increase in junior engineers on the market. A lot of companies are hesitant to hire too many young engineers because they lack sufficient resources to train them.

Help us caption & translate this video!

http://amara.org/v/FPWe/

Summary

Kate Heddleston defines technical onboarding as helping a new employee become productive, independent, and confident. She argues that effective onboarding improves retention, company and team productivity, and diversity by making expectations and social connections explicit rather than leaving newcomers to rely on existing networks. Onboarding should begin when an offer is accepted, involve the whole team, and use manageable boundaries instead of overwhelming new hires or burning out mentors. Her practical plan covers automated development setup, early code shipping, note-taking, social connections, company and team history, shadowing, safe question forums, weekly one-on-ones, goals, feedback, presentations, paired projects, apprenticeships, and assessments that consider judgment, communication, confidence, code quality, and technical ability.

Key takeaways

  • Onboarding is complete when a new team member can work reliably and independently, not merely when they understand the technical stack.
  • Confidence and autonomy are as important as technical knowledge, and structured onboarding can improve retention and workplace diversity.
  • Share onboarding across the team and set clear boundaries so mentors support growth without trying to teach everything at once.
  • Automate development setup and deployment, get new engineers shipping small changes early, and use notes, shadowing, code labs, and presentations to reinforce learning.
  • Assess more than coding ability: judgment, communication, code quality, confidence, and technical knowledge all shape an engineer’s effectiveness.

Summarised automatically from the transcript.

Chapters

  1. 0:00 Introduction Kate Heddleston introduces the talk and explains why small companies need lightweight onboarding programs.
  2. 1:54 The Goals of Onboarding Onboarding is defined as helping new team members become productive, independent, and confident.
  3. 5:05 The Business Case for Onboarding The talk examines the effects of onboarding on individuals, company productivity, team cohesion, and diversity.
  4. 9:50 Onboarding and Diversity Structured onboarding helps people who do not naturally fit an existing company’s social structures get a fair start.
  5. 11:27 Collective Onboarding and Mentoring Onboarding is presented as a shared responsibility, with recent graduates of the process often serving as effective mentors.
  6. 13:48 Onboarding Strategy The speaker discusses when onboarding starts and ends, how to maximize its return, and why mentors should use supportive boundaries.
  7. 16:07 The Onboarding Plan A balanced onboarding plan covers technical knowledge, company processes, and personal development.
  8. 17:14 The First Week New engineers set up their development environment, ship small changes, take notes, and join a social activity.
  9. 19:14 Early Learning Activities The second and third weeks introduce company history, team maps, shadowing, code labs, one-on-ones, goals, feedback, and presentations.
  10. 23:11 Project Integration By the fourth week, new engineers review concepts, choose shadowing opportunities, and begin copiloting larger projects.
  11. 23:59 Apprenticeships and Assessment The later onboarding process uses tailored projects, informal apprenticeships, and assessments that include judgment, communication, confidence, and code quality.
  12. 27:06 Key Takeaways The talk concludes by summarizing the benefits of making new team members confident, productive, and independent.

Transcript

5,448 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:20

All right, thank you. Yes, so um for those of you who were at the last talk, thank you for your loyalty. Um I'm going to talk about technical onboarding training and mentoring now. It's probably not going to be quite as funny. It's a linear talk, unlike our choose your own adventure story last time. This was originally a joint talk that was given at PyCon. I'm Kate Heddleston. That's my Twitter handle so you can you know tweet thoughts at me. I'm a software engineer at Runscope. We make these sweet shirts that say everything is going to be 200 okay. If you want one of them, you can come find me afterwards. And Nicole Zuckerman was originally my co-presenter. She's a software engineer at Eventbrite. And I'll let you figure out which one of these two people is her.

1:05

But basically, Nicole and I came together to create this talk because we had similar experiences at separate companies. Nicole uh went to HackBrite Academy and then went to Eventbrite right afterwards. I went to a small startup out of college, and at both of our respective companies We there wasn't any onboarding. I s I've mostly worked at companies that are smaller than 12 people when I joined, so onboarding is not a huge priority About a year later, I had gained some confidence, many skills, like real real-world skills. Um and I looked back and I thought There are some things that we can do even as small startups to make the onboarding experience better. Easier for people to get up to speed at your company without having a huge overhead, without having to build these massive onboarding programs that they have at large companies.

1:54

All right, so what is onboarding? For the purposes of this talk, onboarding, as a definition, is going to be the act of taking someone from outside of the company The team, whatever group of people it is, and making them a productive, independent, and confident member of your team And this sounds really nice, right? Like if all employees were productive and confident and independent, like that sounds like a really great engineering environment. Unfortunately, that isn't the case a lot of times. Um someone shared a blog post with me the other day with their thoughts on onboarding. And he was like, yeah, our company is trying to change onboarding so that it's not so much about lighting someone on fire and then telling them to find water, and it's a little bit more welcoming. I was like, that's good. So to go through these three things, productivity, independence, and confidence, productivity is pretty simple.

2:42

It's about creating efficient employees. This has to do with giving them the tools to write code, deploy code, understand how features get built. Basically get their jobs done. Independence and autonomy is actually huge. Autonomy, um being an autonomous agent, is really important to people. The greatest motivations in fact come through Things that we choose for ourselves. The anecdote that I have for this is in prisons. They discovered that autonomy is really important. So when people are in prison environments, a lot of their rights and abilities to do things are removed This leads to riots, dissatisfaction, many things that you would think would happen. So, what they do with prisoners is they give them the right to choose the channel and they give them the right to move their furniture around And this little bit of autonomy, this ability to choose for themselves what they get to do, even though it's very small, reduced prison riots significantly.

3:34

So basically, you want to reduce riots at your company by giving people the ability to choose the TV channel. Confidence. Confidence is about creating employees who believe that they are valuable. And the word belief is actually really, really important. So a lot of people think they might think arrogance when they think confidence, they might think a lot of things, but this belief in your value to the company is paramount. And this is very much a human thing. This doesn't really have to do with computers. This just has to do with creating an environment where companies feel as though they can enact change and that they are capable of enacting change. Oh, this uh the belief is really important also they did a study. So how many of you have heard of the concept of stereotype effect? The

4:19

stereotype no? Okay. So the stereotype effect works like this. There are stereotypes in the world. Asians are good at math. Women are bad with computers. And what they found is that before tests Tests on things like physics or math, what they'll do is they reminded one group of this stereotype. Women are bad at math, men are better at math. Asians are Better at math than all of those groups. And what they found was when they reminded people of these stereotypes, people performed to the stereotype. If they didn't tell anyone at all, people performed in a control group setting. And then the third group that they did is if they told people that their ability to do well on the test came from these in sort of intrinsic motivators Like if you work hard, you'll be good at math.

5:05

If you think about like your own personal qualities, that's helpful. What happened was they saw that everyone's performance improved and there was actually no difference across these different lines. So stereotype effect is really important. It's this belief That you are good at something or not. And and what's funny is just being told that you are good at this might actually change your performance. Okay, why do you care? Um you're all already here, so you probably care about technical onboarding and training at your company. Maybe you have to hire a bunch of new engineers out of college. Maybe you have a bunch of interns coming on board and you're like terrified because what are you going to do with all of those interns There's four categories that you should care about when thinking about onboarding. There's the individual, there's the company, there's the team, and then there's also a bonus section on diversity.

5:56

Onboarding is really important for the individual. The cost of losing an employee can range from tens of thousands of dollars to 1. 5 to 2x their salary. If someone gets off to the wrong foot at your company, if they're not happy, if they never get up to speed, if they never feel autonomous, confident, and productive at your company, you're probably gonna lose them. And that's really expensive. So having good onboarding, just getting everyone off to a good start, is really important for individuals. It gets them going upwards like this. It builds their skills, their confidence, their happiness. The next one is the company. Onboarding is really important for the collective productivity of the company. And the anecdote for this one is at LinkedIn. For a while, LinkedIn was actually losing productivity for every engineer that was added to their team.

6:44

And this was a huge crisis. They actually had to bring in some new executives, some new managers, and they were like We have to stop hiring. Like adding engineers to our team is actually decreasing our productivity. This is a nightmare. Um what you really want is something more like this. We want every new engineer we add to the team to increase productivity. So LinkedIn had to do this massive reorganization. They had to do a whole bunch of getting rid of some things, adding some things, adding onboarding and training, and basically streamlining everything so that new engineers could come in and be productive. So onboarding and having onboarding early is going to stave off some of these problems that you might run into later. Team. So we talk a lot about technical debt. How many people have talked about or heard about the term technical debt?

7:29

Yeah, you want to build something really fast, and you kind of cut corners, and then six months later you're like, oh crap, we have to rebuild this. We have a lot of bugs. This is completely unmaintainable. Nobody knows how to change this system. Well, similarly, there's team debt. If you add a lot of engineers really fast and really thoughtlessly, you can get something like this happening. Everyone's running in a different direction. And since people are the most important Component for building software, this is really, really detrimental. You want something that's more like this. Obviously. This is my favorite equation that I've ever made up. The story behind this equation, and I have a lot of sports anecdotes, because I I played sports for a long time and I coached for a long time But in college when I was done playing I actually coached JV Girl Swimming and Water Polo.

8:18

So JV Girls Water Polo very new Most of the girls couldn't swim, they couldn't throw a ball, we're talking like very basic skills. Um playing full game with like all seven players on the field was I mean it was like, you know, when you watch like pee-wee soccer and all the kids kind of like chase the ball around. It's a little bit like that. And so a huge amount of what I did was just basic skills. But the other half was kind of the emotional team building part And I told them this. I was like, look, your ability to win games and your ability to do well at this sport, even at this very introductory level, is the sum of your talent multiplied by your ability to work together as a team Some of the people on the team didn't have a lot of natural talent. They were gonna have to work really hard to build their skills, but that's fine, because if they focused a lot on working together

9:04

If they focused a lot on getting things done as a cohesive unit, they could actually beat teams that had more collective talent but didn't work together quite as well. And we've actually seen this in software engineering. A lot of uh the most popular tools out there were built by teams of less than 10. Gmail, for example, was built by a team, I think, of like five to seven people. It's maintained by like a team of over 400 engineers So you can get a lot done collectively as a small group in terms of productivity, in terms of building really cool products without having super talented engineers. If they all work really well together, a lot of mediocre engineers can do more than a few talented engineers who are kind of assholes. Alright, the bonus section is diversity. So

9:50

to illustrate diversity, I have snitches The story of Sneeches, it's a Dr. Seuss book. There's the starbellied sneches and the non-starbellied snitches. And it's this story about the rift that's caused in the community of sneches based on those who had star bellies and those who did not have star bellies. And I use it to represent diversity because diversity can mean a lot of things. There's the classic ones: there's gender and racial diversity. There's also things like introverts versus extroverts, communication styles. I don't know, philosophical backgrounds, cultural backgrounds that don't have to do with race but have to do with how you were brought up. So diversity can mean a lot of things at companies And why is diversity critical? And why is onboarding a really useful tool for increasing diversity?

10:37

Well, basically what happens is this: if you have no onboarding, people coming into the company are going to rely on the existing social structures to get up to speed. So that means whatever the original group of people is, they probably have a way that they talk about things. They probably have certain social events that they do. They probably look fairly similar. And if someone comes on board who's like them, who's able to communicate, who's able to go out with them, who's able to connect with this core group based on these existing social structures, they're gonna do better than someone Who's not like the original group? Because what you have when you have no onboarding is not no onboarding. You have onboarding that relies on the social structures that you have in place. So creating an onboarding program that's slightly more structured, slightly more explicit, will benefit people who are different, people who don't naturally speak the way

11:27

that people at your company already speak, that don't naturally want to do the types of activities that people at your company want to do. Because not everyone wants to go out drinking at 10 p. m. on a Tuesday night if you have a really young, party-oriented company So you want to give everyone a fair chance because they're very talented people who look very different from each other. Who can onboard? Anyone can onboard. This is a team of people carrying a canoe. This is not a group of ants carrying a taco, just to let you know. I drew all these myself, by the way. Not a very good artist. Anyone can onboard. And in fact, onboarding should be a collective effort. This distributes the load. One person alone trying to onboard everyone is going to burn them out. Similarly, I was talking to someone about mentorship, and someone was saying, Oh, you have to have a lot of experience to mentor.

12:14

And depending on the type of mentoring you're doing, that's true. But Going from junior engineer to senior engineer is not a one-step process. It involves going from junior engineer to less junior engineer, to less junior engineer, to maybe mid-level engineer, to slightly more mid-level engineer To, hey, oh, I kind of think I get this now. And so having someone who's very experienced who can guide the overall path is important. But some of the best people to mentor and train your new junior engineers are going to be the ones who just did it. They're gonna still have empathy for what it's like to take that step. They're gonna understand the problems that they're running into. They're going to actually care about what this person is doing. And the more senior you get, and the further away from that you get the less empathy that you have for people. And in fact, we all know this, senior engineers are total curmudgeons.

13:01

We're like, everything's gonna break and it's all going to hell and I don't know why we care and come into work every day. And junior engineers are like, oh my God, that's awful. I'm so excited about what I'm doing. When? Okay. Onboarding starts as soon as the offer is accepted. Basically, onboarding is not just about teaching someone the skills that they need to be successful at your company. It's about bringing another human being into a group of human beings. So making someone feel welcome, figuring out how to integrate them into the team, that's going to start as soon as as they've decided to come on board Onboarding roughly ends when someone is reliably independent. And this can mean different things to different companies, and I left it kind of vague on purpose, but the idea for a junior engineer at least is that we bring them into the company

13:48

and they're kind of like our onboarding program is done when they're reliably independent. We can give them tasks and trust that they're going to come up with a semi-reasonable solution in a semi-reasonable amount of time, and we can manage that effectively. So, the how section that we're going to go through now is a little bit philosophically about how to do this, but we're also going to go through some concrete examples and ideas for how you can build your onboarding program at your company The first thing to think about when onboarding people is to maximize your return on investment. And this might seem somewhat callous, but at the end of the day Why wouldn't you want to maximize your return on investment? Like you don't want to put a ton of resources into something and get less out of it than you put in. That just doesn't even make sense.

14:33

It's a really, really common pitfall for mentors, especially first-time mentors. So if you have people onboarding, junior engineers at your company And they've never onboarded someone. What you essentially have is you have a junior mentor mentoring a junior engineer. Like you have someone who's never done this before. They don't know what's going on. I love talking to people who are first-time mentors. They're like, I'm going to be the best onboarding mentor ever. We're gonna do everything together. We're gonna take these courses. We're just gonna, by the by the time they're done with these three months, they're gonna know everything I know And that's highly unrealistic because people only absorb information at certain rates. Also, your expertise has to do with the number of issues that you've seen, and it just takes time. Over time you see more issues, you solve them, you fix them. So people are gonna grow at the rate they're gonna grow.

15:20

You can help make that better, you can help focus their their path, but you're not going to make them into a senior engineer overnight. This tends to burn out mentors. So people do this, they burn themselves out in three months because it's exhausting teaching someone, and then they're like, I can't mentor again for another year. And your company's like, well, okay, I guess we can't hire any more junior engineers. Like, we don't have anyone to train them Instead, I like to think of it as bumper bowling. One of the tenets of expertise is that you're able to set boundaries. You know the landscape. You know everything about this arena. So you can set boundaries. You can scope problems, you can figure out exactly what needs to be done, and exactly what doesn't need to be done. Junior engineers, by definition, Are not good at scoping. They don't know what the boundaries are.

16:07

So what you need to do is set them for the junior engineers Bumper bowling is a great example. You just you set up the bumpers. It's fine if they just hit the bumper on each side going down. They're still going in that direction, and that's where we want them to go. You don't have to hand hold them through the process. You don't have to spend tons of time with them. Instead, you can just create an environment where they can kind of mess up and learn on their own, and you can come in and help them grow when that needs to happen. So, the onboarding plan, there's three major categories: there's technical knowledge, company knowledge and process, and personal development. These are about equal thirds for someone. We tend to think that the technical knowledge is the most important thing and it's people think it's like 80% of what engineers do. It's probably about a third. Like another third is the domain knowledge of that company

16:54

How do I build a feature at this company? How do I ship code at this company? How do I deploy given our deployment system? And then personal development, like the confidence, the autonomy, all of those different things. That's another third. People tend to think that skills are that confidence follows skills. In fact, it's usually the reverse. People who are confident will gain skills at a much more rapid rate than people who lack confidence. Okay, week one. Week one should be pretty simple for new engineers. Dev environment setup is really important. The thing that you can do to help new engineers is just automate. As many tools as possible. The more automation, the better. The more maintainability, the better. As engineers, that is one of the best things we can do for people process, is make sure that a lot of these things are automated.

17:41

So shipping code as well. If shipping code is really well automated and it's super easy for you to ship code, it's going to be easy to bring someone, even someone who's junior, on board and get them to a place where they can ship code. So for dev environments, again automation, have the last person who set up the dev environment help the new person. They know all the pitfalls. They just did it. They just had to go through setting up their development environment. You don't need a senior engineer. You don't need someone who knows a lot about, I don't know, some other random thing. This is just the dev environment setup. So the last person who joined does dev environment setup. Have them ship small changes as soon as possible. If you can have someone deploy on the first day, that's awesome. That means you have really good automation tools. Third, journaling and note-taking.

18:28

Have them start taking notes. Three things that they learned this week. For junior engineers, this is going to be really important. They're probably not going to know a lot of things, and you're going to be surprised at what they do and don't know. So having them take notes that you can talk about once a week is really great. And then finally, a social event. And a social event is actually a really good activity, even for people who are not junior. A social event is just We're gonna hang out. I'm gonna learn everyone on my immediate team's name because if I want to ask a question, it's really nice to know that person's name. And I'm gonna feel more comfortable talking to the other people on my team Because a huge amount of what you need when you're new, regardless of level, is just the ability to go talk to someone else on your team. All right, week two.

19:14

Week two, you can start throwing more information at your new engineer. Uh the first week is so overwhelming a lot of times that things just go in one ear and out the other. So I recommend doing history of the company and team map. second week. So history of the company. Where did the company come from? Why was it started? Who are the founders? What was the reason that it got here? What's some of the pitfalls that have happened along the way? Why do we target the markets that we target? And a team map, which seems really simple, but just give them giving them a map. Like this is Bob. Bob sits over there. Bob is really good at Redis. He deals with all of our asynchronous task cues. So go talk to him about that. Or like so-and-so is really good at building full, fully fledged featured products. They have a great design sense, but they're also good at building

20:01

front-end features. So knowing those things is super helpful to new engineers. Shadowing in code labs are good activities to get started the second or third week. Shadowing is what it sounds like. Have them sit down with someone who's more senior, either mid-level or senior, whatever you want to do, and watch what that other person does. What kind of keyboard shortcuts do they use? What type of bash commands do they use? What does that bash command do? Why are they doing all of the things that they're doing? They can learn and absorb a lot of information just by watching other people for an hour either once a week or every day if you want to be really aggressive. Code labs are something that was started at Eventbrite. Basically, it's kind of like a new engineer AMA. So it's this safe space, emphasis on the word

20:47

safe, no judgment, your questions are not stupid. Like it's totally fine if they want to ask concepts that might seem really beginner, but they can just ask one of the engineers at your company anything So you can rotate the engineers, people with different expertise can come in, but really what you want for the person running a code lab is someone who makes people feel safe. Again, if people are terrified of asking questions, they're not going to ask questions. Week three. Now we start to get into some of the higher level stuff. One-on-ones, goal setting, feedback, presentations. One-on-ones, most companies have totally bought into the idea that you need to do these now, but weekly one-on-ones are really important. Emphasis on weekly.

21:34

Having channels for feedback for easy communication is so important. If someone runs into an issue, the overhead For telling someone who's more senior about this problem that they've run into is really high. Having to schedule a meeting to give someone bad news is one of the worst things that anyone has to do. So creating these channels for constant feedback is really important. Even if every week they're like, I'm doing great, I really have nothing to talk about. That's totally fine. This is still a really good thing to do. Goal setting and feedback, it might seem really silly and simple and kind of like second grade. What are your goals for this? But People are goal-oriented and they do really well if they set goals. In the next three months, I would like to learn more about how to build features in JavaScript. In the next six months, I'd really like to learn how to build the API layer for the features that I've built in JavaScript.

22:25

Presentations. The best way to learn something is to teach it. This has been proven over and over again. So force your new engineers to do five-minute presentations on topics. I want you to present on regular expressions. Tell us everything that you can figure out about regular expressions. Do a short presentation on them. Teach us regular expressions. And by the end of that presentation, they'll know how to use regular expressions. By the way, I gave this talk at RailsConf, which is Ruby, and I totally didn't even think about what I'd written on this slide here. But multiple people at the end came up and they were like, you do know that that was in Python, right? I was like I'm like, yeah, Python is awesome. They noticed. Alright, week four. Week four is review concepts, check in regular

23:11

regularly, elective shadowing And start copiloting a larger project. So basically now you're just kind of set it getting set into like a rhythm. You want to be able to check in with them, you want them to feel as though they can talk to you. Shadowing can become elective. Hopefully they have enough confidence now to say, oh, I want to shadow that person and learn that thing and go set it up themselves. Copiloting a larger project is a little bit like driver Z. They can do this with someone who's much more senior, but the senior person really has an emergency break on their side. So they can give them tasks. Actually, the way I the way I like to do it is If you put them with someone who's more senior, they do all of the grunt tasks. The senior person doesn't want to do all of these, I don't know, grunt tasks that are too trivial for them, but just work that has to get done. But that is really valuable learning for someone who's junior.

23:59

They've never seen any of it before, so it's exciting. So you can get these really great pairings of someone who's very senior. And someone who's very junior. And the junior person's running around doing all the grunt work and super excited about it. And the senior person is thrilled that they don't have to do the grunt work anymore. All right, beyond. If onboarding has gone well, hopefully this comes and it's really easy. You just check in on progress. You tailor projects and code labs to their needs, you start doing informal apprenticeships, and uh you start doing assessments, and hopefully those assessments are positive. Apprenticeships, that has to do a little bit with what I talked about, just being taken under someone's wing. The best way to learn is from imitating someone who's really good at something.

24:45

In fact, they find that that's true with athletes. Athletes who are put under someone who's like really good and much more experienced at the sport will learn it at a faster rate. So just put them around people who are good at this that they can watch and imitate and follow. If you put them with someone who is has bad practices, and I've seen this happen, and it's a pet peeve of mine, if you put them with someone who's senior. But who has really bad practices, and that junior person picks up those bad practices, and you punish that junior person for the bad practices that they picked up from the person that you paired them with, that is a really bad experience. So, a lot of times we let senior engineers get away with behavior that we wouldn't let junior engineers get away with. Be cognizant of that. So know what bad practices some of your engineers might be passing on to junior engineers

25:30

And don't punish them for it, just explain to them why that's bad or put them with someone who has a really good practice in that area. Assessment is really important. People's trajectories are going to be wildly different. Some people are going to do awesome and they're going to shoot straight up. Some people are going to plateau. Some people are going to be really up and down. So, having a plan for assessment is important. As we said before, technical ability is not the only category to assess. There's confidence, there's code quality, communication, judgment, and technical knowledge Judgment is one of the bigger ones. It's slightly more difficult to assess, but if you can hire people who have great judgment, you can trust them to do things, even if they're really junior, that are going to be good. And the example of this is one of my friends at uh Hearsay Social, the last company I was at.

26:21

She worked in support for a long time. And she taught herself engineering on the side. So When she first started engineering, by every definition, she was she was very junior at engineering, but she knew the product inside and out. She knew the customers inside and out, and she knew exactly what needed to be built in any given situation. In other words, she had excellent judgment So I could give her tasks. Tasks that, I mean, they were pretty simple, but she might take a little bit longer on. But when she came back to me with the feature that she had built, I was like, yes. This exactly solves the problem that we wanted to solve. This is awesome. You've saved us all time. Conversely, engineers with bad judgment will build terrible things very quickly for your site. And then you're like, no, no, please don't merge that. And you're like taking code out. So Judgment is something that's really, really great if you can find it in someone. And

27:06

it's hard to assess, but I recommend that as something to look for in junior engineers. All right, the main takeaways. Onboarding aims to make new team members confident, productive, and independent. If you focus on these three things and you really try to get people to that place , You're gonna have successful engineers most of the time. It benefits everyone in the long run. The individual gains skills, the company is more productive, the team is more productive, and diversity is better at your company. And finally, anyone can be involved in onboarding, so you don't have to be super senior. Getting everyone involved will spread out the load. It'll make it easier to onboard new engineers. And for startups who don't have resources, it's going to make it possible to hire junior engineers. And since there's two ways to get great engineers at your company, stealing them or making them, it's good to have channels for making engineers.

27:55

And that's it. Yeah.

Questions this talk answers

Why is technical onboarding important for a company?

Good onboarding helps retain employees, increases collective productivity, and prevents team debt caused by adding people without aligning them. It also helps individuals build skills, confidence, and happiness.

Discussed at 5:56

How can onboarding improve diversity in engineering teams?

Without a structured program, newcomers have to rely on the existing team’s social norms and activities, which favors people who resemble the original group. Explicit onboarding gives people with different backgrounds and communication styles a fairer chance to succeed.

Discussed at 10:37

Who should be responsible for onboarding new engineers?

Onboarding should be a collective effort rather than the responsibility of one person, which distributes the workload. Recent hires can be especially effective mentors because they still remember the difficulties of getting up to speed, while senior people provide broader guidance.

Discussed at 11:27

How should a technical onboarding plan be structured?

The plan should divide attention roughly equally among technical knowledge, company knowledge and processes, and personal development such as confidence and autonomy. Mentors should set boundaries and create room for new engineers to make mistakes and learn instead of trying to teach them everything at once.

Discussed at 16:07

What should a new engineer do during their first week?

The first week should cover development-environment setup, shipping a small change as soon as possible, note-taking or journaling, and a social activity to help the person learn names and feel comfortable asking questions. Automation and help from the most recent hire can make setup easier.

Discussed at 16:54

What should happen during weeks two through four of engineering onboarding?

Week two can introduce the company’s history, a map of team expertise, shadowing, and safe code labs. Week three adds weekly one-on-ones, goals, feedback, and short teaching presentations; week four reviews concepts, makes shadowing elective, and starts a larger project with a senior engineer.

Discussed at 19:14

What should technical onboarding aim to achieve?

Onboarding should turn someone from an outsider into a productive, independent, and confident member of the team. It begins when the offer is accepted and roughly ends when the person can work reliably without close supervision.

Discussed at 20:14

How should junior engineers be assessed during onboarding?

Assessment should consider more than technical ability: confidence, code quality, communication, judgment, and technical knowledge all matter. In particular, good judgment can make a junior engineer highly effective even when they are still developing their implementation skills.

Discussed at 25:30

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Kate Heddleston

More videos from DjangoCon US