Agile Zone is brought to you in partnership with:

Software Developer, Mentor, Architect and UX/UI craftsman. Also, a psychology nut that loves curling. Zac is a DZone MVB and is not an employee of DZone and has posted 66 posts at DZone. You can read more from them at their website. View Full User Profile

The Impact Of A New Developer

  • submit to reddit
In the fast paced world of software development, continuous hiring has become commonplace. As new features and products are dreamed up, individuals must be hired to fill necessary roles. Additionally, the software industry is highly competitive due to supply and demand. The days of "the lifer" have become almost non-existent. Unfortunately, there is a limited supply of experienced developers available at any one moment. This requires untold searching and many interviews. With a constant state of flux in the industry, it can be easy to overlook the importance of on-boarding new team members. In many situations companies are so delighted to finally find the right programmer that they forget about the downstream impacts to an organization, department, and programming team. It's important to dedicate time toward monitoring and supporting any personnel changes.

The following is a series of observations and considerations about on-boarding new programmers to a team:

  • Without the proper guidance, structure, and talent, junior developers can distract and degrade the output of any team.

  • Regardless of ability, new team members unknowingly create technical debt as they work through new software and processes. Be sure to complete code reviews on all initial output. The formal or informal nature of that process depends on the individual and department.

  • Embrace realistic expectations about a new member's impact. When new people start, plan to complete less work. Before a member can add to the collective output he/she will temporarily pull the team down while getting up to speed.

  • Set up and communicate a grace period where expectations are reasonably lower. For instance, do not plan for productive output during the first week. Any work completed during that period should be considered a bonus. After the grace period, review his/her progress.

  • Regardless of ability, do not assume a programmer has all the knowledge or training required to complete a job/task. Actively discuss deficient areas and provide a path to increase those skills.

  • Pay close attention to junior developers new to the industry. They can have many preconceived notions about programming. It's important to make sure they do not get frustrated.

  • Don't forget about the stages of group dynamics: Forming, Norming, Storming, and Performing. Teams will go through these stages each time personnel changes. Foster team cohesion by actively engaging new team members in all work and non-work related activities.

  • New team members can provide excellent outsider feedback about a company, team, or processes. They can bring a fresh set of eyes and provide unbiased opinions.

  • Continuously solicit feedback from a team about the progress of a new developer. This discussion should span from aptitude to attitude. Sometimes new members bring unintended baggage from another team/company.
Published at DZone with permission of Zac Gery, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Andreas Schilling replied on Mon, 2013/08/26 - 1:53am

Completely agree with you. The impact is often underestimated.

Concerning your "grace period" part: having only the need for a 1-week grace period would be AWESOME :) I believe however this highly depends on the type of projects you have. In my company you can make that week easily more like 2-3 months because new colleagues not only have to understand the technical stuff but, even more important, also the business/domain of the project which is usually the alot more difficult part.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.