I have been with my new company for three months now and I like and hate it.
However I am not going into the good things in this post. Instead, I will talk about the things I hated the most, and the actions/plans I have to change them.
This is the first part of the series and two more blogs will follow.
1. Low productivity of the team due to low-productive tools
All my teammates work very hard. But instead of designing application and developing code, we spent a lot of time in trivial things, such as searching keywords from existing code, examining code history, writing email to notify a code check, updating the bug/feature status, pushing changes to build system and scheduling a build. You may think those trivial things don’t take a lot of time based on your experience. I had always have the same thought until I started my new job (My previous companies use JIRA/BitBucket/Pull Request/Bamboo, or Subversion/ReviewBoard/Bugzilla/Hudson).
The solution: (1) Given the size of the company, as one software developer among hundreds, I am not able to persuade the policy maker to change it. However, I have been actively pushing my team to use the ReviewBoard to compensate some of the Clearcase’s shortages, especially for preserving the check-in history and for providing a nice diff. (2) I set up an OpenGrok on my PC and let the team use it. It provides lightening searching speed. I configured it to run nightly to index the latest code from the Clearcase main branch and it always gives the team the most recent result (well almost).
The result: The team likes both and the productivity has been improved of course. We still hope that the ReviewBoard can somehow connect to the PRS (Clearcase bug tracking system) and Hudson(the continuous build system) to further reduce our manual efforts. I am going to look at the hooks/APIs between them after the current major product release.