I have to confess, I cannot move, I am scared.
-
guys, recently I had to do some work on a different product. There are two developers who normally work on the product, but one is ill, one on vacation. Okay, new functionality has to be implemented, I've never saw that code. And I wished I never had. I found one control that has 15.000 (fifteen thousand?) lines of code. The whole code is a mess. I didn't get it compiling for hours due to different 3rd party libs that are used throughout the product. I never understood who anyone could do something like this. There are a lot of good reasons for a good, solid architecture, but the most important is to know that maintenance will not kill you. I guess these guys are tougher than me. You know you live, when it hurts. And these guys seem to really feel the life going through their veins. I just stare onto that code and ask myself where to begin. As I said. I cannot move. I am scared. (Anyone remembers this "one broken window" story from the pragmatic programmers? This was war here) nice weekend guys.
-
guys, recently I had to do some work on a different product. There are two developers who normally work on the product, but one is ill, one on vacation. Okay, new functionality has to be implemented, I've never saw that code. And I wished I never had. I found one control that has 15.000 (fifteen thousand?) lines of code. The whole code is a mess. I didn't get it compiling for hours due to different 3rd party libs that are used throughout the product. I never understood who anyone could do something like this. There are a lot of good reasons for a good, solid architecture, but the most important is to know that maintenance will not kill you. I guess these guys are tougher than me. You know you live, when it hurts. And these guys seem to really feel the life going through their veins. I just stare onto that code and ask myself where to begin. As I said. I cannot move. I am scared. (Anyone remembers this "one broken window" story from the pragmatic programmers? This was war here) nice weekend guys.
On the other side of it, I'm sick of explaining to low level developers why we have the structure we do, when sometimes a quick custom script can be hacked together. Apparently, "It makes maintainability, support, and adding functionality easier when you use my framework." and "No poor soul wants to maintain your hacked script at 2am because your job failed." is a mute point. I hope getting some of their projects out to production and forcing them to work support on them helps, but I'm still not sure they will see the point until they do this for years.
-
On the other side of it, I'm sick of explaining to low level developers why we have the structure we do, when sometimes a quick custom script can be hacked together. Apparently, "It makes maintainability, support, and adding functionality easier when you use my framework." and "No poor soul wants to maintain your hacked script at 2am because your job failed." is a mute point. I hope getting some of their projects out to production and forcing them to work support on them helps, but I'm still not sure they will see the point until they do this for years.
Exactly! It seems these guys only learn from the bad experience not from good advice.
-
guys, recently I had to do some work on a different product. There are two developers who normally work on the product, but one is ill, one on vacation. Okay, new functionality has to be implemented, I've never saw that code. And I wished I never had. I found one control that has 15.000 (fifteen thousand?) lines of code. The whole code is a mess. I didn't get it compiling for hours due to different 3rd party libs that are used throughout the product. I never understood who anyone could do something like this. There are a lot of good reasons for a good, solid architecture, but the most important is to know that maintenance will not kill you. I guess these guys are tougher than me. You know you live, when it hurts. And these guys seem to really feel the life going through their veins. I just stare onto that code and ask myself where to begin. As I said. I cannot move. I am scared. (Anyone remembers this "one broken window" story from the pragmatic programmers? This was war here) nice weekend guys.
-
On the other side of it, I'm sick of explaining to low level developers why we have the structure we do, when sometimes a quick custom script can be hacked together. Apparently, "It makes maintainability, support, and adding functionality easier when you use my framework." and "No poor soul wants to maintain your hacked script at 2am because your job failed." is a mute point. I hope getting some of their projects out to production and forcing them to work support on them helps, but I'm still not sure they will see the point until they do this for years.
It's odd how thirty years ago, that's how things worked. When you first started in an IT shop, you were forced to do support and maintenance, before you did any development. I know I'm an old fart, but there was a good reason for this. :)
Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
-
It's odd how thirty years ago, that's how things worked. When you first started in an IT shop, you were forced to do support and maintenance, before you did any development. I know I'm an old fart, but there was a good reason for this. :)
Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
-
And nowadays, you are forced to start in support and maintenance, and the tasty "actual development"-job they baited you with doesn't actually exist anymore.
...because they outsource new development, and then hire a skeleton staff of local programmers to perform maintenance on the crappy code they bought from overseas.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997 -
It's odd how thirty years ago, that's how things worked. When you first started in an IT shop, you were forced to do support and maintenance, before you did any development. I know I'm an old fart, but there was a good reason for this. :)
Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
you were forced to do support and maintenance, before you did any development. Seems to be completely overrated to be able to do the job properly nowadays :)
-
Write good code and sooner or later your boss will not need you anymore. Write such a mess and you have work forever and they can't afford to fire you. The good thing is that it does not matter where you begin. Any part is just as good as another.
The good thing is that it does not matter where you begin. Any part is just as good as another. That's true. But I really hate to develop like this. Even in prototypes I have a clean structure due to mess will always keep me from being fast.
-
On the other side of it, I'm sick of explaining to low level developers why we have the structure we do, when sometimes a quick custom script can be hacked together. Apparently, "It makes maintainability, support, and adding functionality easier when you use my framework." and "No poor soul wants to maintain your hacked script at 2am because your job failed." is a mute point. I hope getting some of their projects out to production and forcing them to work support on them helps, but I'm still not sure they will see the point until they do this for years.
wizardzz wrote:
is a mute point
I suspect making a point which is unhearable would be moot.
-
The good thing is that it does not matter where you begin. Any part is just as good as another. That's true. But I really hate to develop like this. Even in prototypes I have a clean structure due to mess will always keep me from being fast.
I have had enough work like this. I can't tell you what such people think they are doing or why they are always allowed to go on like that. Over time I developed a sadistic pleasure in tearing the code apart and then rebuilding it in a more sane matter. Usually began by creating real data access and application logic layers and then fill in new classes andmethods one at a time. Removing the old methods quickly revealed all locations that now needed to make use of those new layers. Ok, it usually was not that easy and over time you will have rewritten the whole thing, leaving the presentation layer until last. It's much funnier once the bosses notice what you are doing.
-
wizardzz wrote:
is a mute point
I suspect making a point which is unhearable would be moot.
-
Says you. Isn't odd though, being a developer for so long, I tend to want to use keywords that I use in code, in real life, even when inappropriate. IE: immutable
Perfectly typical. I do that too. For example, when throwing something away, I sometimes think to myself, "time to delete that."
-
Perfectly typical. I do that too. For example, when throwing something away, I sometimes think to myself, "time to delete that."
-
guys, recently I had to do some work on a different product. There are two developers who normally work on the product, but one is ill, one on vacation. Okay, new functionality has to be implemented, I've never saw that code. And I wished I never had. I found one control that has 15.000 (fifteen thousand?) lines of code. The whole code is a mess. I didn't get it compiling for hours due to different 3rd party libs that are used throughout the product. I never understood who anyone could do something like this. There are a lot of good reasons for a good, solid architecture, but the most important is to know that maintenance will not kill you. I guess these guys are tougher than me. You know you live, when it hurts. And these guys seem to really feel the life going through their veins. I just stare onto that code and ask myself where to begin. As I said. I cannot move. I am scared. (Anyone remembers this "one broken window" story from the pragmatic programmers? This was war here) nice weekend guys.
-
It's odd how thirty years ago, that's how things worked. When you first started in an IT shop, you were forced to do support and maintenance, before you did any development. I know I'm an old fart, but there was a good reason for this. :)
Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
-
...because they outsource new development, and then hire a skeleton staff of local programmers to perform maintenance on the crappy code they bought from overseas.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997That the way it works! The KPIs don't allow to be calculated on years and they look dramatically better when the stuff is not payed directly but indirectly. Quality doesn't matter in the first run, only time and direct costs. Afterwards everyone can complain about the IT why maintenance does take that long and is so inefficient. Unbelievable.
-
Hiro_Protagonist_ wrote:
I found one control that has 15.000 (fifteen thousand?) lines of code
Just think of how many years you will be able to tell the story though.
hehe, yes. The worst things are always good to laugh about later on. But still I cannot believe it, when I look onto it. I had several times to think about how many classes and how many good documented lines of code it would be if it have been implemented in a good manner. Having this size, I would think, it is better to just throw it away and do it again. :-) you're right! I am sure, I'll tell it again. :-)
-
I have had enough work like this. I can't tell you what such people think they are doing or why they are always allowed to go on like that. Over time I developed a sadistic pleasure in tearing the code apart and then rebuilding it in a more sane matter. Usually began by creating real data access and application logic layers and then fill in new classes andmethods one at a time. Removing the old methods quickly revealed all locations that now needed to make use of those new layers. Ok, it usually was not that easy and over time you will have rewritten the whole thing, leaving the presentation layer until last. It's much funnier once the bosses notice what you are doing.
I had a review of my code with the main developer of this code. Back then I wondered why he was that silent when we walked through my stuff. He didn't have anything to criticize, nor he had any advices for doing something better. That should have taken me aback :-) I always do it like you said. Tear it apart, creating an environment where I am comfortable with. Normally with a lot of explanations afterwards why I did what for what reason. I do not need to love everybody nor everybody needs to like me. I love good code. That's why I do it. :-)
-
guys, recently I had to do some work on a different product. There are two developers who normally work on the product, but one is ill, one on vacation. Okay, new functionality has to be implemented, I've never saw that code. And I wished I never had. I found one control that has 15.000 (fifteen thousand?) lines of code. The whole code is a mess. I didn't get it compiling for hours due to different 3rd party libs that are used throughout the product. I never understood who anyone could do something like this. There are a lot of good reasons for a good, solid architecture, but the most important is to know that maintenance will not kill you. I guess these guys are tougher than me. You know you live, when it hurts. And these guys seem to really feel the life going through their veins. I just stare onto that code and ask myself where to begin. As I said. I cannot move. I am scared. (Anyone remembers this "one broken window" story from the pragmatic programmers? This was war here) nice weekend guys.
Sounds like you wound up at my old employer :) I feel your pain.