Why can't I be satisfied when I'm looking back on old applications?

Most of the time I build an application I  have the feeling "this is going to be a great app. Good design, nice written code and a perfect application". I think most of you had the same feeling sometimes. But when I look back on previous applications, I say "What!? NO!!! This is not good, well this could have been done much better ... omg! What have I done! .. what a bad method name....". I don't know why I often feel like that when looking back on my previous apps. When I'm looking back on my code, I always find something I could have done better. Why can't I just write the perfect app, so I can go back later and say to my self "Well Fredrik, this one is great, good work!".

(Note: I often refractoring my code to make the code better if needed..)

Is the reason because I'm mostly involved in Agile project and I think of YAGNI and KISS, or is it only that I sucks or my code blinds me...  "hey where is my coding mate, I want to do eXtreme Programming!" ... hmm.. or will that help me? NO it want. The same thing here, when I look back there are always something I could have done better, and I don't think it has anything to do with Agile, even before I was using Agile I felt the same.

When will the day come when I can go back to an old app and print my code and put it on the wall and say "Hi, I wrote this!" and be satisfied. I don't think that day will come... why?.. I think it's in the nature of the developer, or!? hmmm....

How about artists, are they satisfied with the paintings they have done?... An old school teacher once told me "There is no artist that is satisfied with the painting they have done, they always say that they can do a better one!". Is is true? Hmm, I don't know I'm not that kind of artist I refer too.. well I can of course ask one:

"Is this true?".

I think we developers are artists, no WE are artist, wring code is to be an artist... isn't it!?

5 Comments

  • We are Artists! Some painters never finish their paintings, adding new strokes to the painting over serveral years to get the good feeling. Edvard Munch did so!

    This is it how it should be done! Deeper insight lets you write better and better code. If you could afford it, do it!

  • The important thing is that the app worked and did what it was designed for. I read so many blogs from so called experts. You would think if you weren't using design patterns everywhere, didn't use TDD, and didn't have thousands of Unit Test for your 300 line application, you must have put out junk. I'm surprised those guys can even make something that works in a reasonable amount of time.

  • Paul Graham wrote about similar sorts of things in his hackers and painters essay.

  • I couldn't agree more. But I think its all part of me wanting to continuously improve how I do things. I don't really know if I'd ever want to reach a point where I can look back at a previous project and say I got it 100% right, wouldn't that mean I hadn't learnt anything new since?

  • It's funny and sad at the same time just how refactoring concepts have not been applied to more layout related stuff, such as (X)HTML and CSS code...

Comments have been disabled for this content.