Good knowledge workers are hard to find. Good knowledge workers that aren't productive are expensive. And yet so many companies drop the ball early in the employee experience. In the absolute worst case scenario, you haven't properly prepared a space. The employee shows up for their first day after all the positive spin you put on things during the recruiting process and they find that their accounts aren't set up, they're using a second-hand machine because theirs is on order, and everyone else on the team is too busy focusing on their deadlines to do much except point them towards some dusty, out of date documentation. By the end of the day the employee is rather bored and wonders when things will really get going. Congratulations, you've demotivated your employee on day 1!
Onboarding is what good companies focus on for at least the first 90 days. For technical teams that have shops of any sort of complexity I like to think that good onboarding lasts 6 months to a year. Every technical manager should have a well defined plan for every new employee that joins their team, one that is tailored to their individual goals and expectations, and gets frequently reviewed. These first days at the company are going to set the stage for retention of employees. Modern knowledge workers really don't have a lot of loyalty to one employer anymore, they are looking for companies that show appreciation for their skills, can help them grow to higher levels of mastery in those skills, and provide them clear goals and paths for obtaining them.
Onboarding is also something that managers typically don't get trained on, and us IT folk aren't exactly known for our soft skills, so here are some tips of things that I have found effective when onboarding new recruits to my IT staff.
Day One: You only get one chance to make a first impression. As I mentioned above, make sure that their work area is set up, all their materials are in place, that they have accounts on all the relevant systems they need to be productive. We want the new hire to feel welcome. This means meeting them at the door when they show up, it means actually scheduling sit downs with all their important peers and contacts and facilitating conversations.
When it comes time to get into the systems, make sure that one of their new coworkers actually gives them a guided tour through the relevant systems and is able to answer questions. At the end of the day, schedule some time to recap the first day experience with the employee, give them a chance to ask any additional questions and recap the names and duties of the coworkers or customers who will be most important to them.
This is also the day you should introduce your 6 month assessment and growth plan. These plans are individualized for each employee and are structured such that if they ever find themselves in a position where they don't know what to do next, instead of spinning their wheels or sitting idle they can grab the cheat sheet and go to work on the next item. My typical plan generally had the first month or two spent familiarizing themselves with systems, learning any tools that are new to them, and working on small, introductory units of work. I would set up time every week to go over progress on these objectives, and give the employee a forum to ask questions. On each item there would also be a suggestion of one of their coworkers who is familiar with the objective and can assist with questions. Additionally, since you front load the familiarization and easier tasks, it gives the new employee a sense of accomplishment and contribution quickly, which I believe leads to higher job satisfaction (and on the other side of the coin, gives you a nice checklist that if not met alerts you very early to a potential problem)
After those first few months, the plan starts digging deeper into the systems and processes and generally would include handling the job responsibilities relatively solo. Several opportunities should be given to demonstrate mastery of things the position is expected to accomplish as well as starting to explore cross-training into some other, closely related areas.
Seeing is believing though, so let me show you a sample few months for a mid-level developer:
- Welcome to the team! Verify the following:
- Domain login, email configured, and all critical applications are installed and functional (visual studio, sql management studio, dev server / source control access, and ticketing system). If anything isn't configured correctly see me right away so we can get you set for success!
- Spend time acclimating yourself to the company wiki, here are some helpful pages
- PTO request form, Sick Day policy, Call-down list for emergencies, etc
- I have asked Mary, one of our senior developers to meet with you and assist you in setting up a clean build of our software applications. She will also review source control policies and familiarize you with the workings of Git, since I am aware you've never used it before. Additionally, here is a link to some helpful documentation on it: <LINK>
- I have also asked Joe, one of our QA specialists to meet with you and show you around the ticketing system. We have also identified some open ticket requests for some small enhancements to the interface of our CRM application that will help familiarize you with it. Go ahead and work on these. For technical questions I will ask Bill to follow up with you, since he works a lot in that application, and Bob will show you how to push changes to the QA server.
- Congratulations on making it through the first week! From here on out our goal is to start getting you more involved in the day to day workings of the team, start empowering you over the things in your domain, and start growing your skills in the areas that will help you and the team going forward.
- One of the areas we discussed during the hiring process is that you are relatively inexperienced in T-SQL. We have several skilled practitioners (Jack and Jill) on staff who will be delegating some tasks to you and pair programming with you. At the end of the month, we will sit down together and do a review and write some queries covering the following items:
- SELECT query basics: SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, INNER/OUTER/CROSS joins.
- UPDATE, INSERT, and DELETE statements
- Calling stored procedures
- Creating, committing, and rolling back transactions
- Continue working on coding tasks. As you've discovered, we assign cards for iterations. Work with Mary to proactively identify some cards across applications to continue to expose our systems, but I would like you to keep the amount of production work to around half the work-week so that you have time to develop your SQL skills.
- You should be well on your way to feeling comfortable in SQL now. The plan for this month is to leverage that learning and dive into Reporting Services. Our report writer, David, has prepared a half day presentation that he gives to new hires on basic report writing concepts. Supplement this presentation with the following online guides we have purchased (LINK). By the end of the month, you should be able to demonstrate aptitude in creating reports of low to medium complexity. I will have asked David to pair program with you on some of his reports, and then give you some tasks to do on your own.
- Continue working on coding tasks. I have instructed Mary to start focusing you in on Project X, this is a major initiative for the company and you are going to be a key part of its success. At this point we should be in the planning stages so we will be sure to get you involved in the planning process and included in meetings with the business analysts. I feel it is critical to quality software for our development team to understand the business processes as well as the analysts do, so do not hesitate to ask questions and as a fresh pair of eyes to challenge our assumptions.
- Be mindful that your skill growth is just as important to us as the coding tasks, if you feel like your workload is such that you don't have time to explore the system and accomplish the learning objectives set before you, let me know early, so we can fix it!
So what I've tried to convey here is a few concepts:
- I started the employee off slow, but I gave them a sort of checklist for the first week. At our end of week followup meeting I can have them quickly demonstrate that they've learned everything they have checked off. This is a low bar, but it gives a sense of accomplishment to check things off in the first week!
- I continuously reiterated my dedication to growing the skills of the employee and getting them involved with other team members both in areas of strength (in this case, coding), and also in areas of weakness. My hope with all my teams is to encourage workers to assist their peers and cross train. This hopefully gains respect, camaraderie, and appreciation for what the person across the way does. Facilitating open communication is one of the best ways to drive process improvement and innovation. My continued interest and dedication to growth is a key point of satisfaction for employees.
- As I've moved on to new tasks, I've recognized them for doing well. In my followup meetings when they demonstrate mastery in tasks I've assigned I will be quick to openly praise their efforts. If there is criticism or correction needed it will be where it belongs, behind closed doors.
- I've also recognized that the new employee is eager to please, but re-iterated my desire for them to grow and produce at a pace which is comfortable to them. Fatigued and stressed out knowledge workers produce less with lower quality, so I strive to keep on top of that.
So what happens at months 3 and 6? For one thing we do a formal written review and sit-down. I collect feedback from their peers and make any corrections that need to be made while being mindful to praise and recognize the achievements. Because we have this plan, I have a handy list of all the accomplishments and I like to jot down some areas where they've exceeded expectations if that occurred. Just the idea that the boss notices those extra things is highly satisfying to knowledge workers. Then... we set up the plan for the next year! The employee gets feedback into their goals and what they want to learn mixed in with what I want them to work on. Now that they're onboarded though, the detail level can be less but we still have to review and show progress towards these goals. In the end, the process should never stop, because if there's one thing about knowledge workers and retention that I have learned it is that the day you stop recognizing and growing them is the day they start shopping their resume!