Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
add comment

5 Answers

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.

share|improve this answer
add comment

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

share|improve this answer
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. –  LennyProgrammers Feb 4 '11 at 11:39
add comment

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 :-)

share|improve this answer
add comment

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.

share|improve this answer
add comment

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?

share|improve this answer
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. –  LennyProgrammers Feb 4 '11 at 14:06
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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