I am a bridge between two worlds. I manage the technology of the company. Everything that is not financial or administrative I am responsible for. However when it comes down to it I have to do what I am told. The good news, it just has to get done. The bad news, they don't understand what needs to happen to get it done, and usually they think that it is always easy and could be done in a matter of minutes. In practice what this means is that some times as a programmer you can do something simple that the non techie people think is amazing and should have been time consuming. Other times the opposite is true.
Either way I'm screwed, if I do something quickly that they think should take a long time, it raises their expectations for the next time. If I have something that the bosses think should be straight forward, then they simply do not understand why it is that its taking so long.
This gets in the way of my work, I have to either spend time explaining the reasons why things take time or not get them done properly. In the past when I have been required to get out a new product or even a big feature I work hard on it to make sure its done and out there working, even if its missing a few things. Then I let smaller tasks take longer as I use the time to add in all the features left out of the bigger project. In the end most things get done, other things fall by the way side, usually by that time they don't matter anyway.
My bosses aren't bad bosses, in fact quite the opposite. They just don't always get it. Looking back on things I wish I had time to build the infrastructure we work on before going live. I have built it as needed and gone live as quickly as possible. Over time new versions and bug fixes have resulted in better software. I am left wondering whether this has worked out better than creating a whole system over a long period, testing, retesting, and then going live. Would it have just taken me longer to make the same mistakes.
As my staff grows and the codebase gets larger, I can implement better development standards. Better testing, better design, better implementation. I have more man hours available to me through my team, I can get things done faster and better at the same time. That means I will spend less time coding and doing other techie things and more time managing the staff and being a bridge from the bosses to the techies. I am their protector. I know how long it will take, I have been there, when the programmers say its going to take 2 weeks, I know it will take 4. But I know that I will put the right pressure on to get it done, and my bosses will be kept at bay knowing that I am competently managing the project. They will bug me, I will be the one disturbed leaving my staff to get on with it without the added pressure. Hopefully resulting in better products at the end.
No comments:
Post a Comment