What Is Lean? Publications Services News/Events Speaking About Us Contact Us

June 26, 2008
Lean Software Product Development: Accelerating Innovation, Eliminating Waste
Executive Lunch Briefing
Del Mar, CA
» Learn More

Home » Publication » Articles

Getting New Developers Up To Speed

Introduction

Not only are many organizations struggling with long hiring cycles when bringing on new people, getting the new hires to a point where they can be valuable contributors can also be a challenge. In this article we will discuss nine remedies for this problem.

1. Hire quick learners. Your recruiting and selection processes should focus on quick learners. In interviews, use exercises that require candidates to understand and then explain sample code, algorithms, designs, etc. Watch for how candidates explain what they learn - are they just repeating facts or are they able to point out relationships and inconsistencies? Can they suggest improvements and alternatives? Also, look for a track record of quickly getting up to speed in past jobs.

2. Develop a learning plan. Make your hiring manager responsible for developing a plan for how to bring your new hire up to speed. This plan should have clear goals on what the new hire should be able to do within a specific time. The plan should be reviewed with the new hire as well as with the people he or she will be working with. Make sure the plan has intermediate milestones with clear expectations, and make sure the hiring manager follows up to make sure things are on track.

3. Assign a company mentor. When the new hire comes on board, assign a colleague or a manager as responsible for ensuring that the new hire quickly adapts to his or her new environment. The mentor should have been with the company for at least a year, and should be able to answer questions about company culture, politics, etc. The mentor can also help the new hire learn about the products he or she will be working on

4. Get your infrastructure in order. Make sure everyone can quickly find the artifacts and information they need. Basics such as configuration management, standard name spaces, standard tool setups, coding standards, can be very helpful. Well-designed physical workspaces can also accelerate learning and collaboration.

5. Maintain good specifications. Where specifications are lacking, leverage tools to provide clarity faster by reverse-engineering specifications from code with minimum effort and cycle time. There are a number of open source as well as commercial tools for this. Remember, without good specifications people must relearn the design by reading from the source code, and this is at least an order of magnitude slower.

6. Maintain ongoing learning and teaching cycles. Systematically develop and share insights about how the software works. This can be done in an electronic community, a study group, a newsletter, or any other form that facilitates rapid learning and feedback.

7. Design for scalability - of people. Use open standards for interfaces, use COTS components for infrastructure, and define clear interfaces so people can quickly become productive in specific, isolated areas of the architecture. Avoid tightly coupled designs where functionalities are diffused throughout the architectures.

8. Focus on understandability. To accelerate human understanding, your components should be understandable from a domain perspective, not just from a language/data structure/algorithm perspective. Build and maintain a domain model, with traceability to your design elements. Refactor your design to continue to make it easy to understand, and pay special attention to selecting intuitive names for your design elements.

9. Build a community around your software. You can use openness as a strategic weapon to foster a community of people outside your organization who already know about your technology and who are able to contribute to it. Make developer support free, ensure that API documentation is plentiful and easy to download, and make it easy for people to build open source extensions to your product. People you recruit from this external community will be able to ramp up very quickly.

About the author

Frode L. Ødegård is the founder and CEO of the Lean Software Institute. He has more than twenty years of experience as a software entrepreneur and trusted advisor to high-tech executives. Organizations he has helped include Sony Electronics Inc., Lockheed Martin, Candle, Conexant Systems, Mindspeed, and Plantronics. Frode is currently writing a book on using Lean to transform the way software enterprises are designed and managed.

Copyright © 2004-2008, Lean Software Institute, Inc. All Rights Reserved. Home | Terms & Conditions | Privacy Policy
What Is Lean? | Publications | Services | News/Events | Speaking | About Us | Contact Us