I'm currently assigned to a maintenance project for almost a month now(or more than a month). I know this is the thing that most developers get bored with. The system is badly designed, tightly coupled and what else would I want to say? There are few things to give praise to but almost everything is a hell. As for my understanding, working in a maintenance project requires:
- A deep understanding of the system - Extensive experience in the field - Patience
But I'm really, really, really bored. And the thing that really annoys me is when I get calculations I need to fix and I don't know how those calculations should actually be computed in the first place. I'd like to hear from our very reliable experts.
P.S. The advice doesn't have to be technical
[]{""Become Rich", "Video Game Blog", "Java Blog"};
I've been assigned to maintenance projects before and this is what i usually do.
HTH This has been my mantra eversince and has helped me smile and fly in every project that has been assigned to me in my short career.
keithrull: See maintenance projects as a way for me to imporve the code. Whenever I'm assigned to maintenance project I see to it that I leave that project in a better shape than when I first got it. I usually pad my timeline with extra hours so that I could refactor the code. I always say to myself that any code that I touch is my property even if i didn't started it. You don't want to hear somebody saying something awful about your work(even if the code is not 99% yours) and perople usually blame the first developer or the last developer who touched a project. Always leave a mark of excellence on every work you do.
See maintenance projects as a way for me to imporve the code. Whenever I'm assigned to maintenance project I see to it that I leave that project in a better shape than when I first got it. I usually pad my timeline with extra hours so that I could refactor the code. I always say to myself that any code that I touch is my property even if i didn't started it. You don't want to hear somebody saying something awful about your work(even if the code is not 99% yours) and perople usually blame the first developer or the last developer who touched a project. Always leave a mark of excellence on every work you do.
Hehehe, 'same predicament with one of our clients that we're maintaining right now. It's a huge website where we regularly need to update the content. A single page contains several include files and most of these include files contain other include files. Now, since we are just after the contents, improving the code is a big issue! We are not allowed to change any code! Ugh!
Thanks everyone!
I currently have Keith's guidelines posted on my desk. I have read cruizer's/jop's recommended reading.
I will try to instill your words in my mind. I know I will benefit from them. I'm really really really trying to fight this boredom!
keithrull: Take it as a challenge even if you hate the project. Don't dread the project because you wont be able to make good results. One of the things I learned in my career is that managers can easily spot if you don't like what you are doing and this can sometimes lead to bad impressions about your personality. What i usually do it code my heart out until my frustration(and burdens) are gone.
Take it as a challenge even if you hate the project. Don't dread the project because you wont be able to make good results. One of the things I learned in my career is that managers can easily spot if you don't like what you are doing and this can sometimes lead to bad impressions about your personality. What i usually do it code my heart out until my frustration(and burdens) are gone.
Every task is a challenge.
leonidas: keithrull: Take it as a challenge even if you hate the project. Don't dread the project because you wont be able to make good results. One of the things I learned in my career is that managers can easily spot if you don't like what you are doing and this can sometimes lead to bad impressions about your personality. What i usually do it code my heart out until my frustration(and burdens) are gone. Every task is a challenge.
Hehe, every task IS a challenge. But what does it challenge? In general, tasks in maintenance projects challenges one's patience ;-). The trick is finding a way to make those challenges test your technical skills instead - thus making the task more enjoyable (for me, at least)
For example, in the project that I am currently involved with (porting a legacy (*) VB6 application into a legacy (**) C# application), the entire business logic is coded in the database as stored procedures. In this application the data layer is basically a collection of classes that unwraps the properties of the DTO and passes it as parameters to stored procedures. This is a very tedious task as this is being handcoded (***). So, to avoid all of that work, I'm now trying to bend CodeSmith to my will - programming the tool so that it generates the DTO class and the data layer methods using the metadata from the database.
By doing that, I've replaced the boring task (handcoding repetitive code) with a more gratifying task (programming codesmith).
(*) Legacy, both based on the dictionary definition and also according to Micheal Feathers' definition. (**) (**)Micheal Feathers' definition of legacy - code without tests. (***) Ibatis is a very nice fit for this task. But, for non-technical reasons, we are not allowed to use any 3rd party libraries for doing that.
[jop]
It certainly is testing my patience Jop. Just minutes ago, like a badly designed code... I find myself tightly coupled with this project. My boss is a big fan of Microsoft(thus the problem).
Everyday(and it has been how many months now?) I find myself looking for a motivation. I hope I could find one that would really make my nerves perform at their best.
@Keith - I like that motivation
I am on it for a almost a year... What motivates me... it's the pay. . The drawback... it loosens the knot on your brain, after the term... you will be surprised that there is a .NET framework 3.0. haha.
Hahaha, yeah!
There's already .NET 3.5 beta 2 :P
keithrull: There's already .NET 3.5 beta 2 :P
Told ya'