A Software Developer should be a good Debugger and Analyst
As a developer, you are not going to develop a project from scratch every time You cannot expect sheer coding work at all the time. In IT industry, major effort of project life cycle goes into maintenance and support.
I have 4 years of software development experience and currently I am working in my second company. In my this short experience, I have worked in 5 projects out of which 3 were maintenance projects and 2 were development projects which had to be developed from scratch. My first project was in Shipping domain which was maintenance project. Next two were development projects in Retail and Manufacturing domain which had to be developed in Delphi XE2 and WPF respectively, fourth one was health and insurance domain and my current project in security domain in which I have to migrate a Delphi 7 application to Delphi XE4.
In all the projects I did till now, I had done a lot of maintenance tasks like fixing existing bugs, doing some enhancements, adding / modifying new features in the existing big application, handling tickets and resolve the issues etc. But this is also quite interesting job in the life of a software developer. In fact these things are the real test of a software developer. To handle these kind of tasks you must have good debugging capabilities. You have to identify and use your skills and experience to know in which file, in which part of code, the issue is arising. You should use StackTrace, TraceInto features to know the real cause of the issue and fix it.
Only issue tracking and fixing is not only the solution. You should be aware of the impact which your change can cause to the application. So I suggest you to comment at every place where you make changes in the code with name, date and reason why the code was changed. Proper testing of application is required after making any change to ensure that all the existing functionality are not impacted by your change.
After adding/modifying the features/issues in the application, documentation related to the application like SSRS, Test Cases should be updated.
In short, maintenance and support projects are not boring. You can learn a lot from these projects. These kind of projects sharpen your debugging skills and make you good analyzer. These qualities are necessary to make you a complete and skilled software developer.
Learning and sharing:
While analyzing the issues and debugging the code, you come to explore many secrets of the complex application. I usually use to note down all the new things, findings and solutions which I learn during this process and document it. I use to share them on the internal knowledge portal of my company so that other people if encounter same kind of error, may get benefited from my work. It also helps me because if I face same problem, I can refer my document.