Saturday, August 19, 2006

The Moral Implications of Changing Employers

I am in the process of changing employers. I have accepted a position with a new employer and I am finishing up my work for the old employer. All this week I have been cranking away trying to wrap things up by finishing some programming and documentation. Next week will be much the same. Periodically my thoughts are interrupted by this little voice inside my head that is always hanging around looking for things upon which it can make wry and insightful comments.

Internal Voice: Why are you doing this?

Me: I don't understand you. You have an ambiguous antecedent.

Internal Voice: Huh?

Me: What is this "this" to which you refer?

Internal Voice: Mine, we are being formal. Okay! Why are you working so hard when it doesn't matter? You are leaving in a week or two. It doesn't matter whether you do great work or crappy work. Nobody will notice. It won't change your life. Why are you doing this?

Me: What would you have me do?

Internal Voice: Goof off! Surf the web! Enjoy yourself!

Me: I am enjoying myself. This is what I love to do.

Internal Voice: You are being a sucker. You will never be rewarded for your efforts.

Me: If you are talking about rewards from my current employer, yes, I think you're right. But I do not do what do because of potential rewards from my current employer. I do it because I love it. I do it because I really don't know of anything else that I would do. This is what I do. This is what I am. Besides, it's a question of being a professional. Professionalism requires that I do a good job.

Internal Voice: First, you started a sentence with “but” and that is a stylistic no-no. Anyway, putting a label on that gunnysack of odds and ends inside your head isn't going to help you understand what it is that's in there. You need to think about this and make sure that you know what you're getting out of this, because it's surely not going to be any kind of financial reward from your current employer.

Well you get the idea. When you are in a situation where there are no tangible rewards to be gained from your actions, why would you go ahead and do the best job you know how to do. I know intellectually that, no matter how good the work I do in these last weeks of employment with my current employer is, it is likely that no one will notice. There's even a possibility that the work will be discarded. There is really no rational reason to bust my butt. Why do I do it?

I have not had a great number of employers. If you count the employer I am going to be working for a few weeks, I had four different employers, five if you count the work I did in college. I don't change jobs easily and when I do I give it a great deal of thought about what I want to do and what I want to be. I haven't done a really detailed analysis but I suspect that, at best, I am going to break even financially with this new job when compared to my current job. Why am I changing employers? Because I want to work in an environment where I can do the kind of good work that I know I am capable of and feel good about what I have done. I have not been getting that kind of feeling at my old job and I have high hopes that I will be able to get that kind of feeling in my new job.

I have been giving a lot of thought to what it is I want to get out of the work I do. Long ago in a discussion with my colleagues of the moment, one of them used the phrase "pride of profession" to explain why was he was working the hours he was working and why he was trying so hard to do a good job in spite of what appeared to be opposing forces within the organization. That is a phrase that has stuck with me, and it says that we do what we do because we cannot do it any other way. It may also be because of what Samuel C. Florman called The Existential Pleasures of Engineering.

I am old enough and experienced enough to realize that quality is not an absolute. Quality is something that is relative to the needs. Not everything needs to be gold-plated. Quality is meeting the needs of the project, of the client. That's very much like the label "professionalism". It doesn't explain anything; it just changes the words. I think that is one of the attractions of the agile methods. Do the least amount of work that will satisfy the requirement and make sure that the requirements are tangible enough that you can see clearly that you are doing exactly what is needed.

However, One of the primary themes of this blog is trying to anticipate what the true needs of the client are. The timeframe is important. The requirements of the moment are different from the requirements a month from now which are, in turn, different from the requirements a year from now which, in turn, are different from the requirements five years from now. A major aspect of the design process is to figure out what the “true” requirements are (and may be), and try to tweak the design to make it more readily adaptable to at least some of those potential future needs.

The reality is that organizations that buy software development oftentimes cannot articulate what they really do. I often talk about "the sexual theory of learning". This theory says:

  • You can talk about it;
  • you can think about it;
  • You can look at the pictures; and
  • You can speculate about it;
  • cat but until you have actually done it, you cannot really say that you truly understand it.

What this means in building systems is that users as well as developers have to go through an evolution of understanding. They have to build the system in order to understand what is good and what is bad and what is missing in that system. Part of being a professional is having enough experience, either directly or through study and reading, to know that the professed requirements are probably not the true requirements. Part of being a professional is to help educate the client to understand that their world is going to change in ways that are reasonably predictable and that a competent software design and implementation will anticipate the potential changes through design elements that will allow a client to satisfy those requirements with a minimum of pain

None of the above ramblings really explain why I am working so hard on something that, in some larger sense, probably doesn't matter very much at all. It strikes me that all of talk around “professionalism” really is a code word for "controlling my personal environment". I define and follow some standards of behavior because it gives me (perhaps the illusion of) control over my life. I am trying to impose my sense of order on a world which is fundamentally chaotic. I do the same thing when I check into a hotel room for the first time, rearranging it to match my idea of what my living area should be. By acting as a "professional" I am saying there are certain things that don't change, even if I am changing jobs, even if no one else cares. By acting this way, I say that I care, that I have the ability to change things, that I have the ability to make a difference, that I can control a least a part of my life.

To act in any other way, would be to give in to the notion that the world is chaotic and is out of control. That may well be the "true" reality but I much prefer the illusion. That's my story and I am sticking to it.

tags: ,


Post a Comment

Links to this post:

Create a Link

<< Home