6 Tips for Improving Your Startup’s Onboarding Process
Too many startups focus all their energy on hiring junior developers, then leave their new hires to fend for themselves after the initial paperwork is signed. This can leave you with new hires who don’t fully understand their roles, and don’t have all the tools they need to do the job.
Along with lost productivity and frustration, poor onboarding can also negatively impact a startup’s attrition rates for new hires. High employee turnover can be a huge challenge for startups, who can end up spending between 30-50% of an entry level employee’s annual salary in hiring, training, and lost opportunity costs to replace them.
What can you do to make the most of those first crucial months of your new junior developer’s career?
Show them the ropes
The “sink-or-swim” onboarding technique is one many new developers face – and it can be incredibly stressful. It’s worth investing the time into adequately explaining your startup’s processes, code, and culture to a new hire before tossing him or her in the deep end.
Quora uses onboarding talks and codelabs – documents designed to help new developers understand Quora’s core abstractions – to introduce junior developers to the company. “Even spending 2 hours per day for a month (40 hours) mentoring or training a new hire represents < 2% of the total time the new hire will spend working his or her first year,” writes Edmond Lau, who helped develop Quora’s onboarding program. “It is much higher impact to invest those 40 hours training someone to increase his or her productivity and learning rate than it would be for to spend those 40 hours working on the product.”
Learn by teaching
One of the most powerful ways to learn is by teaching others, which is why if you have the budget it’s extremely effective to hire more than one junior developer at a time. They can bounce ideas off each other, ask questions they may be too embarrassed to ask senior developers, and teach each other what they’re learning.
An alternative is to implement a system in which your most recent hires are in charge of teaching your newest hires. In her talk at Golden Gate Ruby Conference, Kate Heddleston, a software engineer who implemented the onboarding problem at Runscope, recommends having the last person who was taught do the teaching for new hires. This works because the information is still fresh in his or her mind – and it will help to cement it even more to explain it to someone else.
One way of doing that is through a collaborative onboarding document, where you can encourage new team members to add to it as they go. This will help them learn, and organically grow your onboarding process.
Assign a buddy or mentor
Whether it’s a senior developer acting in a mentorship role or another junior developer who’s acting as a peer buddy, assigning a specific person to help show the ropes to your new hire can significantly reduce his or her stress levels. Along with providing answers to common questions, an assigned mentor can provide an employee-centric view of the company’s culture.
Even more helpfully, mentors can be useful in bringing new hires up to speed on your company’s processes and help them get more comfortable with the code. The opportunity to look over the shoulder of someone with more experience is incredibly valuable for junior developers.
In order to get the most use out of a mentorship or buddy system, it’s important to give it structure. Implement a regular meeting time or pairing schedule, such as an hour every morning with check ins at the end of the day.
If you don’t have the resources to assign mentors internally to your junior developers, Codementor is a great way to get expert mentorship for code review and pair programming.
Set real expectations
It’s helpful to set goals for your new hires so you can both keep track of how much progress is being made. Shipping a feature, getting comfortable with the code, or mastering new skills are all good milestones to put on the list.
Developing a master onboarding checklist is a great way to do this. With weekly and monthly goals of how much progress the new hire has been expected to make, he or she can be aware of how far along in the process they are, and know up front what you’re expecting in terms of growth and productivity.
However you do it, it’s important to set realistic expectations in your milestones, and provide opportunities for revisiting and feedback along the way.
Implement regular reviews and goal checks
Once you have expectations in place, make sure you have a regular system of code reviews and goal checks in place. Regular code reviews are important to developers of all levels, but they’re especially important near the beginning of a new hire’s career, when you need to catch mistakes before they become bad habits. When offering criticism, be sure to keep the focus of the critique on the code, rather than the developer.
Use these check in sessions not just to see how your junior developer is doing, but to get feedback about how the onboarding process is going, as well. Ask where they’re struggling, what they’re finding the most helpful, and how they think the process could improve. Seeking out this feedback will help you plan for when your next junior developer is hired.
Encourage experimentation and mistakes
For a junior developer to succeed, you need to set up an environment that promotes growth and – counterintuitively – encourages failure. A tolerance for risk and willingness to explore big ideas is extremely valuable in a startup, and so much innovation is stifled when new hires are instilled with a fear of failure.
One startup in Pittsburgh, WebKite, recruits local PhDs with no coding knowledge to join their staff of junior developers. A main reason is because PhD students know how to face and overcome failure. “These are incredibly useful skills to the developer: To be able to design a research program and to be able to face failure and recover, and to pick up the skills necessary to solve a problem,” Peter Meulbroek, WebKite’s CTO, says in this piece for Fast Company.
Give new junior developers something to be responsible for, and allow them the independence of potentially failing at it. One of the biggest boons to hiring a Junior Developer is that you have access to new ways of looking at things – don’t squander that or shut it down in favor of the predominant opinions at your company.
Your startup will succeed when all your employees are given the opportunity to dream big.
About the Author
Jessie Kwak is a freelance writer based in Portland, Oregon, who writes about business, education technology, forklifts, and the outdoors for B2B companies and trade publications. You can find out more at her website (www.jlkwak.com), or follow her on Twitter (@jkwak).