I thought I would chronicle a typical day in the life of a Software Maintenance Engineer. Now some of the days events may not be typical for all since I am a senior developer, and have been on the project for almost 8 years. So some of this will also be a day in the life of a Subject Matter Expert.
First thing when I come in is check the ton of e-mails and voice mail messages. I just filter through them to figure out what things I need to do immediately. Then I head off to a meeting chaired by our project manager. There I bring up some issues regarding the team's response to a trouble ticket.
Then I call one of our customers who oversees our software across the nation. I explain some of the updates I provided in our trouble ticket system for a problem she is tracking. I tell her the technical reason why the software is failing and how we plan to fix this problem. Then I take an action item to help the customer gauge the impact of the problem.
Next I check in some code changes to another trouble ticket. Got to apply my changes to all branches in source code control. That is because we maintain more than one version of the software. Once the code is checked in, I generate the documentation to release an update to our users.
I get a confusing e-mail from our requirements analysis team. Apprarently the project manager asked them a confusing question, and they could not comprehend the requirements for a certain piece of our software. So they came to me. I figured this was important enough to explain in person. So I went and gave the requirements guy some background on the software, the inputs, and our required processing. I then gave the same speech to the project manager, and then to the developer working on that piece of the software.
Then I tackled a new software problem. Called up the customer and got some examples of the problem. Checked and verified that this was an actual problem. In fact, I queried the production data and found some new functionality was non-existent. So I spent some time to set up some test data. But I could not make the problem happen in a development environment. So I asked one of our DBAs to get me a copy of the database code that was compiled into the Production environment. All the work is done in an Oracle PL/SQL package.
Finally I looked into one other new problem that was described as "a tough one". At first I thought I could duplicate the problem even in development. However on closer inspection of the steps leading up to the problem, I decided it was too early to tell if this was the same problem. Either way I found at least once scenario that causes a problem in the software. By this time I had worked a long day and it was time to bolt.
Mysterious Double Instance Hampering Performance - I study the existing code base. Confer with a colleague. Then I determine the optimal plan to change the functionality to load only a slice of all the dat...