Over the past few weeks I have found my concentration sapped at work. I am uninterested in the project I am assigned to, and am not looking forward to the one that is coming after it either (although it is more appealing than the current.)
Part of the reason for the current project I think has to do with the subject matter - It involves some financial rules that need to be implemented, and finance is really not my strong point. I have a formula, and various numbers to plug into it, but I don’t really understand what it’s doing.
The other side of the reason for not enjoying it is simple; I would much rather be fixing code, making things easier, faster and better for fellow programmers. When it comes down to it, I get much more enjoyment from tidying the code we have in our common controls project. I would rather be making our exception handling better by giving it finer detail, and enabling it in the projects it cannot run in. I would rather be consolidating code that is repeated all over the place.
We have a lot of code in our system that needs fixing - when bugs crop up in it, it takes ages to fix as you have no idea what is going on. While I think my team leader sees the benefits in making these improvements, I don’t think it is easy to justify to higher management the importance of this. They tend to see programming/software as like building a house - once it's finished, very little needs doing to keep it in shape. The reality is that software development is a lot more like gardening - once it's all planted, you need to keep weeding it, else it will get overrun.
The next contributing factor is "Get it done" vs. "Get it done right". People in the team go for the first. This is down to several things, the first being personal preference, in that the thought is "we can fix it later". However, later never comes, as something else comes up. The other main force behind it is management set deadlines. I am not involved in deadline picking, but most seem to be picked too short, and so there is no time for getting it done right.
When trying to combat this effect, I ended up doing what I hate doing - staying late. I did the "Get it done" during the day, and the "right" part in the evening. This in my mind is down to me covering up someone else’s mistake - they can’t pick deadlines right, so I have to put extra work in, or I produce bad code that I will be fixing in a few weeks time. I am defiantly not saying that I can pick estimates better than management, but at the same time, a little flexibility would go a long way. Oh and communicating this to developers and making sure that they know getting it done right is important. If we don’t do it right the first time, we will have to fix it later, and that is far less cost effective.
The other problem with this is burn-out. I just can’t do this for long; I am not designed for it. Week on, Week off was suggested on a blog I read a few weeks back, but I think the reality for me is Week on, Month off. Why should I have to do this anyway?
I don’t really have a summary for this, but it needed putting down to get it out of my system. Now on to some interesting coding.
— Alex · Nov 15, 10:28 AM · #