This will be a three-part blog series on developing junior engineers for organizational leaders who shape the culture of your company such as CTOs, engineering VPs and, team leaders. It comes from Kim Schlesinger, Site Reliability Engineer at Fairwinds. Prior to being an SRE, Kim was an Instructor, Web Developer, and Curriculum Designer for the Full-Stack Immersive Program at Galvanize, a code school based in Denver, Colorado. She is active in the Colorado Chapter of Leadership for Educational Equity, and is the co-founder of diversity, a company that is striving to make the tech industry more equitable.
Day One: Learning Plans for Junior Engineers
So you’ve created a culture that values teams and prioritizes risk-taking and learning. And you’ve hired a junior engineer. It’s the first day, and they’re going through standard onboarding and training. But don’t wait too long to integrate your new hire. Provide them with a list of clear and measurable expectations describing what's expected of them in the role that they've been hired into.
Perhaps the most important thing you should have prepared on day one for your junior engineer is a technical learning plan that is aligned with the day-to-day work of what your engineering team is doing. There are a lot of learning plans on the internet, lots of great content, but you want to create a path that looks like the work that your engineers do. Although you can start with a template, you want to tweak the learning plan so that it reflects the skills that your junior already has or doesn't have.
When I started at Fairwinds, within the first two hours at work, someone handed me a learning plan. And it was amazing because it reflected my skill set and it showed what I needed to learn. Among those topics: Linux commands, building virtual private clouds with AWS and containerization of orchestration with Docker and Kubernetes. So as your junior engineer is working through the Learning Plan, they should be engaged and independently completing large and small projects as part of that plan.
As you're thinking about the Learning Plan, make sure that you develop systems of support and accountability for your junior engineer. Work with that new hire to set up deadlines. They don't have to be really serious, they can be moved. But say, “let's try and get the first part of your learning plan done by x date,” and make sure that you have a process where it's easy for the junior engineer to ask for help. And finally, you want to set up regular check-ins to discuss the learning plan so that they can move through it quickly.
If you're curious about what a learning plan might look like I've published the Fairwinds learning plan at our GitHub organization.
Still, on the first day, start bringing the new hire into your team. You want them to be essential to your teams as soon as possible. On day one, introduce this person to their team, get them scheduled for regularly occurring team meetings, and have their teammates start showing them the ropes, even if it's just logging on to your benefits platform. Finally, on day one, be explicit about when you want your junior sorry, to contribute their first independent pull request - something with your code base or with a client.
My first day at ReactiveOps I got my learning plan. I've gone through all of the onboarding. And the very end of the day, I have a meeting with our COO, Kendall Miller. He sits down with me and he says, “Hey, Kim, we're so glad to have you. You know, we've never really hired and trained a junior before. So we're learning this for the first time. We know that you've never done Site Reliability Engineering, and so you have a lot of things to learn.”
In light of all of that, he told me he didn’t expect me to be contributing to our code base for six months. So six months was a little bit long. I contributed much earlier than that. But what Kendall was demonstrating to me in that moment was that the company was committed to giving me time to learn what I need to know in order to actually work for them. So be clear about the expected timeline for your engineer and really commit to them. We've hired you and we're going to give you time and support to learn and demonstrate by giving them that timeline.
So that's what needs to happen on day one. Next up: Into the future.