12

I consider myself a programming language enthusiast. When I find bad code, especially my own, it is hard to understand, hard to change, and hard to test.

My coworkers don't know better, or don't care. I am frustrated that I can't raise the code quality by myself.

Is it normal to feel frustrated when the code quality, and maintainability, is not up to my standards? If so, how do you deal with it?

5 Answers 5

14

I used to suffer from this. Here is what I have learnt so far:

  • Learn to lean on and trust others. You can't resolve everything on your own. When you find good coworkers, don't hesitate to delegate tasks to them, even if they don't do it 100% as perfectly as you would expect. Which leads to
  • Learn to accept "good enough" as opposed to "perfect".

In our industry - as well as in any other industry - there is usually no time, money and resources to do a perfect job. And note that it is usually not required either, unless you are working on life critical systems. So take into account the actual requirements for your task. It is excellent to deliver more than what is expected whenever you can - but not by extending the scope wildly and/or going way over the budget. So it is a fine balance. Do the best you can under the current circumstances. Improve things a little though every time - over time the accumulated small changes will make big differences. We should learn to be patient (it is difficult for me too sometimes).

Of course, with all this, I don't mean that you should subserviently lower your inner standards to the lowest common denominator in your team. But you have to keep reevaluating your own viewpoint and theories about life against reality. And maybe you need to gently educate your teammates about doing a better job. However, if what is good enough for your team and managers is really really unacceptably low quality for you, and even though you can prove that it hurts their long term business as well, noone listens to you, maybe it's time to look for a better job.

6

Au contraire, low standards lead to frustration. In a few months or years when you have to maintain the mess.

1
  • 1
    Maybe. If you don't realize you are making your life harder constantly, the extra effort in the future will be just "work". I think that is less frustrating. Commented Feb 4, 2011 at 11:39
4

Learn to deal with it. It is not just a programming problem, if you have incredibly high standards for programming chances are high that you do the same while playing a lawn tennis match. I am yet to meet a person who has incredibly high standards while programming but is a mediocre in other fields of life. So the problem is not just with the code but with everything around you and you have to adjust. I like something Steve Jobs said "Be a yardstick of quality. Some people aren't used to an environment where excellence is expected.". So do well and improve the place where you are and the CODE and Yourself :-)

2

I usually find myself in a horrible position of judging others work on quality. Everyone isn't the same. I really like geek's answer! I too am hellbent on high quality material. Association breeds similarity. I would find a group that is up there on quality as well. If that isn't doable, you're better off making exceptions to work that is around what you accept.

1

It's drifting off your question about whether it's normal to feel frustrated when you care about quality, but the first part of your statement is curious, about finding your own code horrible. If you're not confident that you can create quality in your own profession, you may not be in an solid position to judge it yet.

It may make more sense to approach the situation from a less judgmental and more inquisitive point of view, and then maybe you'll replace your frustration with a sense of opportunity and growth?

1
  • 1
    Well, i've learned so much after several times of thinking i'd know quite a lot. Learning is a humbling life-long experience. Commented Feb 4, 2011 at 14:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.