How do you handle a developer that doesn't play by the rules?

Software development teams are fickle groups. It seems everyone has their own pet peeves that set them off, and a group that is cohesive and functioning well can quickly turn into one that shows little output for the time spent working.

In order to create and nurture a software development team takes leadership that understands all of the idiosyncrasies of their team members, and ensure that no one member derails the rest of the team. While some may use this as a way to discriminate against entire groups of people, if done properly, should only be utilized to maintain harmony after all hiring and performance decisions have been made.

For example, a team may have established that unless otherwise arranged with management, all developers should be present for the daily scrum at 9:00 AM and are expected to work 40 hours per work week even though they are salaried exempt employees. Lets say that all of the team members except for Joe show up around 8:30 AM, take a 1 hour lunch, and leave between 5:30 PM and 6:00 PM. Joe regularly shows up at 9:35 AM, takes a 1 hour lunch, and leaves around 4:00 PM daily.

In this scenario, the organization’s leadership has to determine whether Joe’s work habits are causing issues within the development team or not. For some teams, if Joe is producing as much output or more than the other members of the team while working fewer hours, it is understood that Joe is so good that he gets a bit of a pass on some rules.

However, if Joe is not the superstar performer, the question gets tricker. Many times it seems that this pattern erodes the morale of the other developers on the team that put in more effort than Joe and produce better results than Joe. When the morale of the team begins to decline, organization leadership has to determine whether to attempt to correct Joe’s habits or to attempt to replace Joe with another developer that is willing to adhere to the 9:00 AM start time and 40 hour work week that the organization has determined is the way they will conduct business.

Once you get to that first decision point and decide to attempt to work with Joe to adjust his behavior to adhere to the rules of the organization, the waiting begins. Over the next several work days afterwards, everyone on the team pays special attention to Joe’s behaviors to see whether or not he shows up on time and stays later into the day. If he never makes a change, then it should be obvious it is time for Joe to move to an organization that better accommodates his normal work schedule. However, if Joe adjusts his behaviors slightly for a while, and then relapses for a period of time, you are back to the decision point again.

At this point, it has already been determined that Joe’s behavior has negatively impacted the work output of the rest of the team, and Joe is not a superstar performer that is able to make up for the work output deficiency. This is the time to ask yourself how many times you are willing to go through this cycle with Joe before enough is enough. Will it be 1 time, 3, or 5? What precedent does this set with the rest of your development team, and when they see your reaction to Joe, will they start taking the same liberties with the rules that Joe did, since he has repeatedly failed to adhere to the organization’s rules, but still has a place on the team? Do you decide that Joe’s way of working is actually better and decide to change the rules so that Joe’s way is the standard?

How do you want to handle things when members of your team challenge the rules? Adhere to the rules, or change the rules?

Related Posts

Mar 20, 2015
One minute

Google To Begin Rewarding Mobile-Friendly Websites

Google recently announced that beginning April 21, 2015, they would start slightly rewarding websites that are mobile-friendly at the expense of sites that are not. There are several things that Google looks at to determine whether or not a site is easy for a user on a mobile device to view and navigate. Some of the things that Google looks for include the following:

  1. Fonts that are big enough to be legible
  2. Users don’t have to scroll left and right to see content
  3. Links are big enough and have enough space around them to be clickable with a touch of a finger.
  4. Avoids technologies that are not present on mobile devices, like Flash.

If you make sure that you follow the above guidelines, your site will be prepared for the upcoming change in Google’s search results. To find out more, check out Google’s blog post.

Jan 4, 2015
3 minutes

Top Job Applicants Never Stop Learning

From time to time, my job allows me to be a part of the hiring process for our technical positions. Unfortunately for some of the applicants, I repeatedly come away from these interviews amazed at the responses I get from pretty standard and basic technical questions related to Web Development.

Recently we were looking for a front-end web developer that was good at UX and design and proficient at HTML, CSS, and JavaScript. One of the things that we tend to ask everyone is to rate themselves on a scale of 1 to 10 as to how good they are with each technology. The majority of responses are in the 5-8 range with the corresponding answers to the questions about each techology falling about in the range you would expect. A couple of applicants were brave enough to rate themselves at a 9.5 out of 10 on HTML, CSS, and JavaScript, leading us to believe they were “exceptional applicants”.

Jun 10, 2014
3 minutes

5 Ways to Do SCRUM Poorly

As a developer that frequently leads projects and operates in various leadership roles depending on the current project lineup, the Agile development methodology is a welcome change from the Waterfall and Software Development Life Cycle approaches to software development. SCRUM is the specific type of Agile development that I have participated in at a few different workplaces, and it seems to work well if implemented properly. However, there are several ways to make a SCRUM development team perform more poorly than it ought. The top 5 I have seen include: