The challenge of on-boarding new developers is likely to be with us for some time. The U.S. Labor Department reports that employment of computer software engineers is expected to swell by a whopping 295,200 jobs, or
more than 32 percent, between 2008 and 2018.
Not many people graduate college with the skills necessary for professional expertise, and software engineering isn’t any different. Nothing beats the real world experience of writing code, making mistakes, researching solutions, and correcting your faults until you understand the technology.
Most on-boarding programs I’ve seen are instructional in nature. Many are simply “chalk and talk” sessions with a smattering of practical training on the side. To become a good developer, it’s not enough just to acquire knowledge, you have to know how and when to apply it.
The economic benefits of getting your on-boarding programs right are significant. Organizations that create effective programs can cut their time to competency rates in half. Many see the benefits realized in accelerated billable hours, reduced defect rates, reduced mentoring costs, and improved staff retention rates.
So here are some tips (excluding the standard, yet important, HR and policy stuff) from InnerWorkings’ experience of working with multi-national vendors who have implemented effective on-boarding programs for their developers.
1. Develop a Competency Benchmark
Decide what makes sense as a minimum competency benchmark. Your learning programs should blend the intelligent application of proven principles, techniques, languages, and tools with company-specific needs and goals. I suggest that you consider the following:
- Deep understanding of object oriented programming techniques
- Strong grasp of web development fundamentals
- Foundation knowledge of design patterns & best practices
Perhaps most importantly, I urge you to ensure that your program is balanced between instructional and procedural learning. Practice greatly improves proficiency (WordNet 2.0, 2003 Princeton University) and Gartner’s research paper “Examining the Technology Adoption Learning Curve” (Mark Driver, 2005) estimated that 66% of the time it takes a developer to become proficient is spent “in the trenches”.
Rather than having new hires learn by making expensive mistakes on real projects, creating a program where new hires immediately get the opportunity to practice what is taught in the classroom significantly cuts time to competency and reduces your defect rates.
2. Assign a Coach
When new hires join your team, assign a coach to the group who is responsible for ensuring that each new hire adapts quickly. Ideally, the coach should be a senior developer or software architect who can provide a technical mentoring facility to new hires. Providing mentoring through a scalable online or social networking platform will allow your mentor to service 30-50 new hires during the program.
3. Make Your Team Leads Responsible
Making your team leads responsible for implementing learning plans to bring your new hire up to speed is critical. This plan should have clear goals on what each new developer is expected to accomplish within a specific time. I recommend that you review the learning plan with the new hire as well as with the people on their project teams.
4. Plan for the Future
While the on-boarding program will focus on principle software concepts, most developers will want to develop their careers and specialize in a functional area of development. My advice here is simple — don’t wait until another employer provides the opportunity. Talk to your developers, find out what areas they want to focus on, and plan for it. You will significantly improve your retention rates if you do this.
5. Build Community Around Your Developers
Software development is a knowledge intensive activity — if you’re a large employer, chances are you have pockets of domain expertise dispersed across the globe. You should create a developer collaboration platform where openness is a strategic weapon to foster knowledge transfer between experienced and newbie developers. Connect these groups and you’ll see better results through code re-use, lower maintenance costs, and improved code quality. In addition, you’ll give junior developers and new hires a chance to learn from the best in your organization.
If you’d like more information on the topic of on-boarding new developers, please contact us at InnerWorkings. Good luck!












