How to Implement Effective Onboarding for Engineers/Developers to Skyrocket Productivity
January 14, 2022
Time to read:
Hiring the best engineers and developers for your organization is only half the battle—you also want the new employees to stay productive and satisfied to build an effective, thriving team.
Easier said than done, though.
Many companies lose 25% of their employees in the first year, and the ones that stay aren’t fully productive for the first eight months of employment. If you don’t want to be a part of this statistic, you need an effective system for onboarding developers/engineers.
Why Successful Onboarding Developers and Engineers Is Critical Today
Onboarding developers and engineers involves bringing the new employees to a point they’re working at full capacity and are fully integrated into the organization.
With a successful onboarding process in place, you can:
Set clear-cut expectations of what’s expected from the new software engineer
Set expectations of what the new software engineer can expect from your company
Determine the pace at which the new software engineer will start ramping up their contribution to achieve organizational goals
On the other hand, inadequate onboarding leads to undertrained and disoriented new hires. The strain of their constant questions slows down (and annoys) more experienced team members, leading to a cumulative dip in team productivity and efficiency.
Despite the consequences, 22% of companies still have no formal onboarding process. And if they do, over 49% of them haven’t been able to implement it successfully.
While developers and engineers have deep technical knowledge, starting a new job can be challenging for them. Learning names and faces, unraveling a mountain of code, understanding new work processes and technical systems… there’s so much software that they have to do.
Onboarding remote engineers has become trickier after the pandemic. Throughout 2020, companies struggled with remote hiring and onboarding, mostly because they didn’t have the muscle for remote communication.
Thankfully, this precedent is rapidly shifting, with organizations embracing new technologies for hiring, onboarding, and training models.
Retaining the talent you brought in and developing a fruitful working relationship are the other benefits. 69% of employees are more likely to stay with a company for three years if they experienced great onboarding. The fact that replacing a developer can cost you anywhere from 30-50% of an employee’s salary makes investing time and effort in creating an effective onboarding process cost-effective, too.
How Is Onboarding Engineers and Developers Different From Other Employees?
The hiring status quo for corporate onboarding looks like this: a stack of forms to complete, a brief rundown of the company’s history and policies, getting introduced to a few colleagues, and a quick session with IT to set up email and other user accounts.
In the case of engineers and developers, an additional step is added where they get a checklist of links to read with instructions to work through it.
This is still a failing approach to developer onboarding.
Developer onboarding is the practice of imparting your organization’s expectations—technical, process, product, and professional—in a way that makes all the information usable and actionable to the new hire.
In this piece titled A Poor Developer Onboarding Experience Can Kill Your Startup, Shawn Reisner calls developer onboarding “organizational socialization”, because there’s so much more to it than simply learning the tech stack. He emphasizes how you also want your new employees to feel valued and secure in asking questions.
How do you do that?
A successful engineer and developer onboarding program should cover four critical areas:
If your program doesn’t cover all four areas, the new hire might end up taking months to get up to speed with your organization.
You have to properly understand your software engineers’ needs and facilitate the entire onboarding process around the challenges they face. Remember, the skill sets are completely different here, which is why eliminating hesitations to ask for help and removing communication barriers is equally important.
When compared to other corporate employees, software engineers and developers desire more streamlined efficiency and automation, as well as clear-cut documentation, that can help them to ramp up work and take ownership for their part faster.
The Three Stages of Software Engineer Onboarding
Effective onboarding is critical to make your new software engineers and developers productive, loyal, and engaged employees. It comprises three comprehensive stages, which we've discussed in detail below:
Stage 1: Setting the Bar High
First up, you want the engineer to know your company and understand your product and their role.
To acquaint employees with the company: Tell them about your company culture and values, dynamics, and systems.
To familiarize employees with the product: Let them use it exactly as your target customer would. This will build customer empathy and make them more proficient at coding.
To help employees understand their role at your company: Allow them to participate and communicate with peers, stakeholders, and colleagues.
This stage will span over a few days or months, depending on your company size. Here are some guidelines:
1. When to tell the software engineer about the company and its culture and values?
On the first day for SMBs, and within the first three days for large enterprises.
2. When to tell the software engineer about the product and its features, target audience, and value proposition?
Within the first two days for SMBs, and the first five days for large enterprises.
3. When to tell the software engineer about their role and what’s expected of them?
Within the first three days for SMBs and the first week for large enterprises.
Stage 2: Ramping Up the Process
New software engineers need to learn how to get the code to the customers, leverage current systems and technologies that exist within your company, and become team players. You also don’t want them to waste time on things that have already been done or defined in the past.
Again, the timelines to ramp up coding will differ based on your company size. Let’s take a quick look at how to go about things at this stage.
1. When to put a new software engineer on call for their services?
If you’re a SMB, you can start putting a new engineer on call within the first month, especially when your company practices the You Built It You Release It (YBIYRI) model.
On the other hand, the waiting period is longer for large enterprises. It’s recommended to put new developers on-call after they’ve shadowed an on-call rotation, which can be months.
2. When to permit a new software engineer to drive a dream activity?
A new software engineer can drive team activities after they’ve seen them being done at least two times. This applies to both SMBs and large enterprises.
3. When can a new software engineer approve someone else’s pull request?
Within the first 15 days for SMBs, and within two months for large enterprises.
4. When to tell a new software engineer about the build and release process?
Within the first week for startups and within the first three weeks for large enterprises.
5. When can a new software engineer start contributing to technical discussions?
In about three months for SMBs, and six months for large enterprises.
6. When can a new software engineer actively participate in guilds and charters?
New startup employees can participate in guilds and charters like Frontend Guild and Technical Architecture Guild in a month, while large enterprise employees can participate in about three months.
Stage 3: Letting Them Code
This onboarding stage is every new software engineer and developer's comfort zone, where they do what they do best: coding. The fact that you hired them means you’re confident about their technical capabilities for the role, so you can sit back and relax (well, kind of).
Here’s how you can go about it:
1. When to let a new software engineer set up the development instance on their machine?
On the first day for SMBs and within the first two weeks for large enterprises.
2. When should a software engineer make their first commit?
Within the first three days for SMBs, and within the first fortnight for large enterprises?
3. When can a new software engineer expect to see their work live on production?
While software engineers working at a SMB can expect to see their work live within the first ten days, the release cycle for large enterprises hires is generally after the first month.
4. When should a new software engineer understand the system’s architecture that they’ll be coding?
In the first week for SMBs and the first month for large enterprises.
5. When can a new software engineer start contributing to story estimation?
After the first sprint for SMBs (two weeks) and after two sprints for large enterprises (four weeks).
6. When should a new software engineer independently pick up and complete a task from the backlog?
Within the first sprint, which means two weeks for SMBs, and within the first month for large enterprises.
Note: All the above timeframes are just estimations. Each workforce has unique employees, having their own processes and learning capabilities.
How to Onboard (Remote) Developers
Onboarding for software engineers doesn’t have to be complicated—all you need is the right guidance. The ultimate goal of onboarding developers and engineers is to help them become productive as quickly as possible.
Here’s a step-by-step rundown of a successful engineer onboarding process to help you avoid any missteps:
Step 1: Introduction
The first step is to familiarize your new software engineer with your company, including the company culture, their colleagues, and the tools they’ll be using.
Familiarity With Company and Project
Your new employees should know what project they’ll be working on and where it’s going. Give them the answers to the following questions to get them up to speed:
What does your company do?
What project did you hire them for, and what is the objective of the said project?
What are the long-term and short-term goals?
What tasks are most critical for the project?
Did any issues pop up during the prospect? If yes, how did you solve them?
What issues is the project facing currently—or will face in the future?
Knowing the above will make developers and engineers more confident about the project.
Familiarity With New Colleagues
Introduce the new hires to the rest of the team. You don’t have to make it overly formal—keep it simple and personal.
Here’s how to go about it:
Introduce the developers to their future team leader during negotiations. Encourage both parties to ask each other questions.
Introduce the developers to the rest of the team on the first day. If you decide to assign a mentor or buddy, be sure to introduce them specifically.
Give the developers a virtual tour of your office.
Step 2: Setup
Next, you want your new software developers and engineers to ease into the actual workflow and start ramping up production. To do this right, you need to ensure they have everything they need to start working, like:
All the necessary documentation, guidelines, manuals, and meetings plan
Access to the project management system, with editing privileges
Access to the test environment and the API keys
Passwords to use internal services and tools
Entry into the corporate chat and private chat rooms
Of course, you only need to do the above as and when the need arises. It's better to spend some extra time giving employees access later than risk getting them overwhelmed right away.
Step 3: Documentation
This is where things get more specific.
New developers need technical documentation to determine the best practices and eliminate pain points related to your project. Otherwise, they won’t have a frame of reference to appraise it effectively.
Having worked with companies with large software engineering teams, we found the following data are most important for the successful onboarding of developers/engineers:
Source code and database (including the setup manual for it)
API keys and credentials for the tools required to start working
Sample data, plus the manual for its input and test suites
Deployment credentials for staging and production servers
Deployment is a scripted process, and developers should know each step to prevent them from breaking the existing features. Give developer notes to new developers and engineers for ongoing projects to get them up-to-date with project quirks and past mistakes.
5 Best Practices for Onboarding Developer/Engineers
You can optimize onboarding for software engineers further—all you have to do is ask yourself a couple of questions before the first day of onboarding:
What information, hardware, and software, among other things, will your engineer need before starting?
How long does onboarding take?
What impression do you want to give your new employees at the end of the first day?
How will you set goals for new employees to check progress?
What does the engineer need to know about your company culture and work environment?
What can you do to avoid the most common onboarding mistakes like unclear job expectations, lack of organization, and stunted communication?
If you have answers to all the above questions, you’re already on your way to onboarding a new team member successfully. But you can make the process more streamlined by implementing the following onboarding best practices:
Sort Out Pre-Onboarding
Pre-onboarding is all about providing the new hires with everything they need—access to systems, making introductions, and setting company expectations—to feel comfortable on the first day of the job.
First and foremost, you want the developer to understand your company culture. Share your digital employee handbook and show them presentations and videos that highlight your company values, mission, and vision.
Although optional, a welcome package will make a good addition to your engineer onboarding checklist. This can include:
A welcome letter from the CEO or the team
Branded merchandise, such as coffee mugs, T-shirts, notepads, and stationery
A few personalized gifts like books, gift cards, and smart home devices
Next, help them with the HR paperwork and work out logistics. Be sure to get the technical stuff out of the way beforehand by providing them access to the company’s project management systems, chat apps, email, and learning management systems.
Provide the Right Tools
You can leverage a range of communication and project management tools to onboard developers remotely.
For example, Slack and Basecamp help foster easy collaboration and ensure seamless communication. Another tool we highly recommend for remote developers is Codeshare and GitLab. Your team members can use them to share code in real-time.
Invest in all the necessary tools that let remote developers have the same level of discussions as they would have if they were on-site. Also, give them enough time to learn how to use the tools and software. Be patient and accommodating.
Onboarding automation lets you guide your new software engineers and developers throughout onboarding without any manual effort.
Compliance: Teaching new engineers legal and policy-related rules and regulation
Clarification: Helping new engineers understand their new roles and job-specific expectations
Culture: Giving new engineers a sense of company culture—formal and informal
Connection: Allowing new engineers to establish interpersonal relationships and information networks
With a simple one-time setup for common processes like training new employees, connecting them with mentors and buddies, and sending reminders, you can help your HR department save time and give recruits a personalized welcome. Automation also makes the onboarding process more streamlined, reducing costs and boosting productivity.
For instance, when you onboard developers with Zavvy’s templates, you can automate:
The filing and updating of documents
Adding new employees to onboarding workflows
Training your people on autopilot
Scheduling automated reminders to check in on new engineers
Tracking individual progress is also possible
Assign a Mentor or Buddy
Over 87% of organizations believe assigning a mentorship or buddy program during the onboarding process helps speed up new-hire proficiency. This makes sense because every new hire is guaranteed to have someone they can go to with questions or ask for help if they aren’t comfortable talking about it to their manager.
How to implement a buddy program? Choose a seasoned employee to greet and orient a new developer and check on them weekly for the first month and then one or two times thereafter. To ensure your new hire is acclimating to the new workspace effectively, you can request an assigned ‘buddy’ to:
Describe the specifics of ongoing projects
Answer project-specific questions and questions about the company’s development and testing standards
Introduce the new developer to the other team members
Provide and ask for honest feedback
Cross-check whether the new developer has everything they need to start work
A buddy or mentor‘s primary duty is to make the new employees feel comfortable right away. In turn, this will encourage the latter to start contributing to ongoing projects quickly.
Zapier, for instance, has a ‘Zap Pal‘ program, where every new hire is assigned a Zap Pal, who:
reaches out to them in the first week
sets up at least one Zoom call with them, and
schedules repeated checkups throughout the first month.
This 1:1 relationship facilitates smoother onboarding and instills confidence in the new hire.
Allow Pair Programming for the First Few Assignments
Pair programming is a popular software development practice where two programmers work together—one writes the actual code while the other reviews each line as it’s written.
You can have the newly hired developers work on the same code together in real-time, giving them the chance to discuss decisions and share feedback. This can be done on a video call via screen sharing or on-site, depending on how your team operates.
Pair programming is particularly useful during the onboarding process of new engineers. Not only does it help them get acclimatized to your company processes easily, but it also leads to more efficient code. Additionally, it serves as cross-training that sets free knowledge from the silos of experience that typically exists in a team.
Case Study: How Google onboards engineers in its own way of practice learning
Google’s onboarding process is as exemplary as the company itself. Driven by the motive to help new engineers to achieve their full potential, they created NEHEN aka “Noogler Engineers Helping Engineering Nooglers.”
Founded on the insight that newcomers are afraid to ask ‘stupid questions’, this two-week program takes engineers through the organizational structure, core technologies and programming practices. Senior engineers deliver live lectures on Google practices and culture during which they share the “engineering perspective” and answer questions of every newcomer.
Introduction to Company Culture
Google engineers are usually organized in small teams that create opportunities for collaboration, and networking between new hires and, or established team members. An internal tool called “MOMA” is used to share information on how to be a productive engineer at Google.
For engineers, a large part of the orientation process comprises familiarizing with the knowledge base created by the engineering department. It consists of sections dedicated to individual engineers, virtual institutions, and job-specific courses.
To help new engineers acclimatize with new technology, Nooglers attend hands-on tutorials called Codelabs to get up to speed. However, this is just not limited to newcomers. Experienced engineers can also benefit from these tutorials to stay updated with the newest technology and softwares.
On completion of the Noogler program, employees send weekly snippets of their progress, and projects they’ve been working on. At the end of every quarter, they participate in self-assessments called Objectives and Key Results.
Every Noogler is encouraged to set measurable goals during this orientation period. While it may sound daunting at the time, the goal is to achieve 70% of their target.
Effective Onboarding Developers/Engineers = Successful Relationships and Better Results
Great onboarding will let you use your resources to their full potential. You’ll finally see the full capabilities of your new staff while reducing turnover and boosting productivity.
While there’s no cookie-cutter onboarding system that you can apply right off the bat, we hope our guidelines and best practices will help you make your own customized to your organization’s exact requirements.
Want to make onboarding easier?Use our onboarding software to automate the busywork and allow your new hires to get up to speed faster and more effectively. With Zavvy, you can remove the friction of developer onboarding and help engineering teams build the best products.
It also has TONS of fun integrations, and you already know just how much engineers love that. Connect with our experts for a free consultation!
Alex takes care of everything related to marketing and customer success at Zavvy. On this blog, he mainly shares insights gained from discussions with selected experts and from helping our customers set up and improve their onboarding program or learning programs.