Wednesday, November 19, 2008

The long and winding road

So, once again, I am finding myself in a situation where I am being asked to do work which is detrimental to the company asking me to do the work. I often run into this problem in mid-large size companies I work for where the political environment / desire to impress shareholders produces requirements to build functionality on top of dangerously built systems.

Usually these requests are motivated by either (1) a desire to honestly tell shareholders and investors that "the system" is being extended and new functionality is being added, or (2) a manager is focused on being able to tell their superior that they are extending and enlarging existing systems. Usually these two things go hand in hand.

In this case, the code which makes up the system being extended is of such poor quality that in adding to the code base, we are increasing the size of the inevitable job of replacing everything we are doing. For this reason, I feel that what I am doing is morally questionable.

The pragmatic approach to these problems is to bury my head in the sand and accept that this is "someone else's problem." Of course, I think that this approach is largely responsible for the recent collapse of so many banks in this city. I do not know what to do - I'm trying to stick to my word and complete my contract, but it's a bit of a moral quandry.

1 comment:

djbleggi said...

I think part of the issue is investors aren't thinking far enough in to the future to care about design concepts or standards. They could care less about who is in the trenches because they know the trenches will stay full with people just wanting that paycheck. Through the jobs I've held, I have come to the conclusion I'm going to have to dig my own trench. Instead of throwing a disguise over it in hopes of trapping someone, I'm going to have to get down in it and assume someone cares enough about it to join me. Start digging, building or whatever metaphor suits YOU.