TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPass
Home  >  Detail: The Tale of the Too-Talented Techie



A StickyMinds.com Original

The Tale of the Too-Talented Techie

By Peter Clark

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Every manager has a story to tell. Find out how one management professional tackles a fictional dilemma. The story may be made up, but the solutions are tried and true. In this installment, Peter Clark spins a yarn of what can happen when a team member's talent goes to his head.


iTKO
 

 
Sam watched the vein pulsing in Jim's red face and realized that this meeting was not likely to go well. Jim was usually one of the calmest, most easygoing members of her team. Right now, he was as angry as she had ever seen him. 

 
"Sam, you have to do something about Bob! He renamed all of the methods in the accounts receivable module. Now none of the other modules will link to it!" 

 
This was just the latest in a series of similar problems with Bob. He was one of the most talented programmers Sam had ever met. His knowledge of the operating system and the tools used to create systems was encyclopedic. He had the highest productivity of anyone in the department. He had just one tiny flaw. 

 
"He's like a dog marking his territory! He doesn't like code written by somebody else until he's changed it to the way he likes."  

 
Sam thought that this was an accurate description. Bob had been with the company for several years. During that time, there had been a series of similar incidents, about one every six months. There was the time he changed the design of a key module when they were halfway through system test. Granted, it had made the module much more efficient, but it had invalidated all of the testing that they had already done. Testing had to stop for several days while the changes were unwound and the system rebuilt.  

 
In contrast to the problems were the miracles that Bob regularly produced. He had improved the performance of a critical module by a factor of a thousand, fixing a disastrous throughput issue. He produced tens of thousands of lines of code. While others might complain that the code was difficult to understand, Sam knew that it was truly elegant in its design. Bob also had one of the lowest defect densities in the department. 

 
Sam calmed Jim down and promised she would talk to Bob. Sam dreaded these meetings. Bob was well aware of how good he was, and it was always a struggle to convince him that the rules should apply to him as well. These meetings could last hours and leave her feeling drained. Bob would sulk for a while, but he would improve. During the years he had been with the company, he had really progressed. It had been at least a year since anyone had demanded transfer off one of his projects! 

 
It was difficult to predict how Bob would react to another one of these meetings. Once, Sam had called him on the carpet for making unauthorized changes to the system. She had explained to him that he should only work on issues assigned to him. So, Bob had gone into the issue tracking system, entered a bunch of issues concerning code that he didn't like, assigned them to himself, and fixed them. 
Sam made an appointment with Bob for the next morning. 

 
"Bob, Jim is very upset. He said you renamed all of the methods in the accounts receivable module. Because of the other changes you were making, he will have to back this out by hand." 

 
Bob began to get agitated. "I was fixing the bugs. While I was in the code, I updated it so it conforms to our standard." 

 
"Bob, we've talked about this before. The decision to update code to the standard is supposed to be a joint one between the project lead and the supervisor. I can understand why you wanted to do it, but this code is some of the oldest in the product and is used by many different projects. What you did makes it more difficult to share code between projects." 

 
"Give me a week, and I'll update the rest of the code," Bob insisted. 

 
"Bob, you might be able to do the edits in a week, but it would take us three months to requalify the code. We don't have the time or the budget to do this." 

"I can get it done. Don't you trust me?" 

 
"It isn't a matter of trust. Our development process requires us to requalify every changed line of code." 

 
"I can understand why you need these processes for the rest of the group, but they just don't make sense for me. You know how low my defect density is." 

 
Sam sighed. "Bob, I can't have one set of rules for you and another for the rest of the department." 

 
Bob stood up. "You're holding me back. You aren't giving me the authority to make the changes that need to be made. I can't work like this." 

 
"Bob, I can't keep having these incidents, either. You need to follow the rules." 

 
"This is ridiculous. I've talked it over with my wife, and I've decided to quit." And he walked out of the office. 

 
Author's Note:

 
Modern software development
is a team effort. Superstar programmers can be more trouble than they are worth if they refuse to be part of the team. The benefits of their extraordinary productivity are often outweighed by their effect on team morale and by their additional burden on management. If you have a prima donna on your team: 

  • Set boundaries and stick to them. 
  • Look for work where he can be a solo performer.  
  • Be extra vigilant. Keep a doubly close eye on what he is doing. For example, do "before and after" inspections of his work products.  
  • Know when to cut your losses. If bad behavior isn't changing, encourage him to seek his fortune elsewhere.


About the Author

Peter Clark, a regular columnist on StickyMinds.com, has twenty years of experience in industrial automation. He currently manages teams working in materials handling, especially baggage handling systems. He can be reached at pclark@jerviswebb.com.

Back to Top
 
 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Frits Bos 7/23/2005

There are some people who cannot work in a team context and Bob is one of them. Every day that they are allowed to code without restrictions they create as much havoc as lines of code that are productive. The story illustrates what can be expected in the end: Bob threathening to quit at the worst time, with others confused about the state of the project. Bob should be working on commercial code that he sells "as is", perhaps libraries of functions that are extremely fast and efficient, and hopefully profitable for him. Projects are far to restrictive for Bob, but if I knew that there is a library with superior modules that I can...Read On

Author's Response:
7/25/2005    
You make an excellent point. People like Bob are often most happy when they are "solo performers". What can be really disasterous is when they are promoted to positions of authority because of their technical ability. They then oftentimes encourage exactly the same sort of behavior that they were previously chastized for, leading to chaos.

 
 
Comment:    
by Terry A Turner 7/21/2005

I have found that most project managers prefer to work solo so they can take ownership of the whole process--Is this an issue of trust or pride?

Author's Response:
7/25/2005    
PM's typically work solo on projects because there is either (a) not enough staff or (b) not enough budget to afford more than one leader. I have seen PM's unwilling to delegate for both reasons that you supply. There are lots of other reasons, however. For example, the PM may feel that others just aren't ready for the authority, or they may be natural micro-managers.

 
Back to Top


Marketplace

RESOLVE SUPPORT ISSUES from your Desktop!
Minimize downtime with a remote support solution that lets you resolve issues right from the desktop

SOLVE SUPPORT ISSUES on the First Call!
REMOTELY CONTROL AND CONFIGURE SYSTEMS. Easily install applications, updates. All from your Desktop!

Web based bug tracking - AdminiTrack.com
AdminiTrack offers an effective web-based bug tracking system designed for professional software development teams.

Census: Web-based Bug Tracking and Defect Tracking
Track software bugs, defects, enhancements, support calls, and more. Issue tracking software that is scaleable, fully customizable and integrated with VSS. Includes e-mail notifications, role-based workflow, change history, and Crystal reporting.

Check Out IT Certification Preparation Materials
Sign Up With SkillSoft & Get Access to Training Materials for Over 50 Professional Certifications.

Get your product or service listed here.
Subscribe to Better Software Magazine
Subscribe to Better Software Magazine

First Name:

Last Name:

Email Address:


Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2008 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


McCabe Software, Inc.



Better Software Conference & EXPO 2008