My current role in Accenture is a Java programmer on a maintenance project for a huge German logistic company. We take care of a tool for tracking shipments where the authorized users can check the actual progress of the delivery using the shipment’s ID. If the client side or users are not satisfied with the process, the problem is usually forwarded to us in the form of a ticket.
So we analyze the tickets and try to find out the source of the problem. In general there are just three possible options: In the first case, we find out that the ticket actually does not belong into the scope of our project. In the second case, if the data is not correctly loaded in the database, I just forward the ticket to my colleagues who specialize on ETL Tools (Extracting data from outside sources like scanners, Transforming it to fit operational needs, and Loading it to the database.
In the third case when the data is correctly loaded to the database but the application fails to display them correctly we have to identify and fix the problem in Java code by means of reproducing the situation and using debugging tools.
Even if we are a maintenance project, there is also some development work for us to do: change requests, ad-hoc tasks related to improving the quality of code, utilities for automation of processing of logs and so on.
After reading new mails while still sipping my first morning cup of Java I focus on reports generated from yesterday`s logs. If there is any unusual sign of a massive performance problems then I have to look at the production logs themselves and try to identify the source of the problem. Meanwhile I also check the ticketing tool if any high priority tickets came in. In case it is Tuesday or Thursday I take a lesson of German language. After an hour off for lunch (or, if it is Wednesday, Java Knowledge Session – presentation on Java-related topic held by some Java developer – free pizza provided) there is a call with the client, which takes fifteen minutes to one hour. The call provides an opportunity to discuss any open issues and it is usually an easier and quicker way to get the response from busy managers compared to exchanging emails. The rest of the day I spend either solving tickets or, if there is no suitable ticket in the ticketing tool, I take some less urgent task from development, like monthly scheduled date shifting. Recently we have spent a week tackling a check list of tasks related to code quality.