Pages

Tuesday 24 September 2013

Development vs Maintenance/Support Projects: Learning and Growth Opportunities

Development vs Maintenance/Support Projects: Learning and Growth Opportunities

In an IT industry, as a software developer, you are supposed to do work on different kind of projects. I have categorized all the projects as development projects and maintenance /support projects. Mostly there are maintenance/support projects as compared to development projects in a software company because development will be done only once but maintenance will continue life long until the end of world.  

I just wanted to share my experience and thoughts on development and maintenance / support projects through this article. I might be wrong at many places because these thoughts are my personal, sheer based on my experience in my 4 years of IT career. I have experienced that developers who are in development projects are treated better as compared to the developers in maintenance/support projects. At the beginning of my career I also used to think so. I also wanted to be in development project but I was thrown in a maintenance / support project. After working in that project, I realized that I was wrong. You have a lot to do and learn in a maintenance / support project also. 

I have tried to compare development projects and maintenance / support projects in my ways:

Learning Curve: 

You learn a lot in a development project because you have to code each and every feature and functionality from scratch in development project. In this way you come to learn the technology as well as application functionality in depth. After the completion of your project, you can consider yourself expert in that technology (Java, .NET, PHP.....etc) and the domain of the application (Banking, Retail, Manufacturing, Security, Shipping/Transportation, Online Shopping....etc.) if you have sincerely worked in that project because I think a complete real world project will teach you everything and will give you the priceless experience.

If I look at Maintenance/Support project, learning curve is also very good. In these kind of projects, you learn from other people's code, efforts and experience. Everything is pre-prepared in front of you. You have access to each piece of code which is written by expert developers and also the functionality. Whenever you have to resolve any issue, enhance any functionality, add a new feature, remove any existing feature, you will have to scan and understand the whole code and functionality before making any changes to the existing code. You will have to keep good care of impact analysis before making any single line change in the existing code and have to retest all the existing functionality after making the changes. This kind of practice will enhance your debugging capabilities and you will start gaining confidence and get a good hold on the application functionality and technology. This kind of learning experience is going to serve you a lot in your future.

Growth Opportunity: 

Again its common misconception that if you are in development project, you will get good hike as compared to your colleague who is working on maintenance/support project. Its not true. It sheer depends upon your capabilities, your efforts which you have put in your project to benefit the customer, to benefit your company. If you are doing good in the project, you will get good appraisal. Politics do play a good role in appraisals, but that's not the topic of discussion today.

Conclusion: 

Whatever project you get in your company whether development or maintenance/support, take it by heart. Work hard and smart, you will definitely learn many things and will also get benefited. Just continue learning from whatever you are doing.

No comments:

Post a Comment

About the Author

I have more than 10 years of experience in IT industry. Linkedin Profile

I am currently messing up with neural networks in deep learning. I am learning Python, TensorFlow and Keras.

Author: I am an author of a book on deep learning.

Quiz: I run an online quiz on machine learning and deep learning.