Developer Productivity - 5 Ways To Kill It

In keeping with the sarcastic tone of my How To Be The Worst Developer Ever post I’m going to explore several ways for managers to systematically destroy productivity among their developers. Unfortunately I am writing some of these from experience, then again, I’m sure we have all experienced some of these at one time or another.

1. Make Them Feel Unvalued By Ignoring Their Advice

Warranted or not, who cares what developers have to say, never mind years or experience and savvy, or blatant evidence that they are right. You’re the manager. You get paid the big bucks to make the big decisions.

2. Keep Them On Their Toes By Changing The Project Requirements

After looking at the prototype they submitted for review, have them implement the dozen “minor” changes that just popped into your head. Don’t worry about running those “bright ideas” through a stupidity test, if it goes south you can blame the developers anyway. Be sure to remind them that it is still due next Friday.

For maximum effectiveness, be sure to “review” their progress weekly.

3. Keep Them On Their Toes By Changing Deadlines

After dropping number 2 on them, they have the nerve to inform you that your changes don’t make sense and will require major reworking of the entire project. Also, there is no way they can have it ready for Monday. Hmmm. You must quell this little revolution. Inform them that you have scheduled a demonstration with the CEO and are moving the deadline up to Thursday. That should do it. They’ll have to pull an all nighter. They’ll be too tired to question your managerial skills again.

4. Assign Extra Unrelated Work

You get back from a long weekend at a managers conference at the golf club. The project seems to be running smoothly and the developers look a little happy. They must have been slacking off while you were gone. Have someone review the pile of emails in your inbox and respond to the random product surveys vendors send you.

Remind them the project is still due Wednesday. Thursday? No. I told you it was due Wednesday. If you can’t keep simple details straight how can I put my confidence in you to get the project completed on time? *alternate execution of number 3*

5. Refuse To Get The Tools They Request

You already provided the team with Visual Studio and something called Subversion, what more do they need? What the heck is Resharper or NHibernate any way? Where do these new ideas keep coming from? Why can’t they just be happy with their adhoc SQL and DataSets? Code completion? Are you kidding me? They want tools that will write the code for them? This is getting out of hand. Perhaps shuffling various team members around will get things back on track.

kick it on DotNetKicks.com

18 comments on this post

ISeeWhatYouDidThere says:
Jan 23, 2009 - 12:01:06

I can relate to #5 there with a recent experience. My (now former) employer gave me a computer w/ 768Mb RAM on it. Just running VS2008 and I’d run out of RAM, let alone SQL Management Studio, SQL Server, or anything else at the same time. And yet our the internal ‘customer group’ had computers with more RAM - and their job was limited to Outlook/Word, and IE6 (yes, 6) to use the web app I was developing. They refused to spend $100 on more RAM, instead they preferred I sit there and get nothing done while I waited for my RAM/HDD to swap all day long.

Justin says:
Jan 23, 2009 - 01:01:56

I hear you. It is amazing some of dumb decisions that companies make. Your employer wasted far more than that $100 in lost production time while you stared at the screen.

Jan 23, 2009 - 02:01:44

Are you implying there are workplaces that do things differently than the five fundamental principles you’ve listed?? ;)

Mahmoud says:
Jan 23, 2009 - 02:01:02

These are the most worst sentences i heard in software development field.

Jan 24, 2009 - 02:01:16

1, 4 and 5 I follow.
Changing requirements and deadlines comes from doing projects in the real world, where things happens at real times.

rainwebs says:
Jan 24, 2009 - 02:01:30

Brilliant ideas. If I ever aspire to be a disabled project manager I’ll account for it ;-).

Some more inspirations:

http://blog.rainer.eschen.name/2008/02/20/the-mission-of-a-software-architect/

nick says:
Jan 25, 2009 - 02:01:13

Excellent post

THEODIN says:
Jan 26, 2009 - 06:01:35

Love the post, whats so sad, is that its all so true!

John Prado says:
Jan 26, 2009 - 10:01:35

That’s why I quit work for companies and start my own freelance business.

Never be more happy since.

Jan 26, 2009 - 03:01:59

Well, try to see it from the other side:
1. One can’t satisfy everybody. Managers usually have one, two technicians for advice.
2., 3. Business is changing, so requirements are changing… that’s life
4. There is a good reason for this.
5. E.g. Can you imagine managing licenses for 100 different pieces of software? I have problems to understand license policy for MS Windows on VMware. Do you think they have extra time to read and understand tens of license agreements?

Last, but not least. Currently I am a business leader and also developer of a small company, but also I used to work as an enterprise architect in a 10 000+ company.
I have seen the problem from both sides and I must say, that the development is the best role from the above mentioned roles. Enjoy it. Once you are managers, life will be harder. :o)

HiRoman says:
Jan 28, 2009 - 08:01:19

Thanks Roman. Remind me never to work for you.

Rohan Dey says:
Jan 28, 2009 - 09:01:09

Reply to comment 11

Hi Roman

Can you imagine managing 100 thousand lines of code. I have problems to understand syntax of ruby, php, .NET, javascript, actionscript. Do you think they have extra time to read and understand tens of language syntax.

Last, but not least. Currently I am a developer and also will become a business leader of a big company, I have seen the problem from only one side and I must say that the development is the best role from the mentioned roles. Enjoy it. Once you are managers, life will be easier. :P

Jan 29, 2009 - 08:01:40

Numbers 1 to 4 does happen to me. And I hate it!!! About number 5, we really don’t use tools to ease our work :)

My point of view:
On #1 - It’s ok if the manager is a good IT person :)

On #2 - I hate countless minor stupid changes that is useless at the end.

On #3 - I hate to have deadlines set, and then there came those other tasks that would be set in between deadlines. And yet, it’s the developer’s fault if the original deadline was not meet.

On #4 - This did happen to me several times even if I got all the deadlines compare to other developers. My question: Is it because I’m a trusted developer, or because I’m the only girl who must be assigned with girly task?

On #5 - Ah what is this??? This does not apply to me hahaha…

Naim says:
Apr 17, 2009 - 04:04:08

1 to 5 are all something I have to experience. My boss is a micromanaging PITA. So true…. but sad at the same time.

{ Feb 22, 2009 - 08:02:46 } Weekly Web Nuggets #48 : Code Monkey Labs