The project I’m on:
The latest thing is performance. Our software is sloooooow. We have inefficiencies, but it is slow primarily because we are trying to display (literally) tens of thousands of pieces of information on screen at any one time. That’s crazy, why are we trying to do that anyway? Because the requirements indirectly say so.
My boss is applying pressure and is in danger of making me feel like I should be doing more to bridge the wide gap between his visions and reality. What worries me is he is being somewhat successful in making me feel guilty about it. That this is possible is an unfortunate artefact of psychology, and it is necessary to remind myself that it is completely ridiculous. I can easily rationalise exactly why it is ridiculous:
1. It’s his fault for having silly requirements. No, you can’t blame me or the technology. There are well known and accepted ways of getting around this problem, but your requirements prevent us from using them. You can’t have the moon on a stick and if you keep pushing for it, you’ll get some mud stuck to a straw. But if you were willing to compromise, you might get some moon rock on a pole.
2. If you want stuff, you have to pay for it. You have to pay for quality work. When I interviewed for this job I also had an offer from somewhere else, and almost two years later, my salary is yet to reach the offer made by the other company* (at the current rate, it will be two more years before it does). That’s ok, because it means I have no logical basis to feel obliged to work particularly hard. And nor should I, because that would mean my employer is getting something from me for free that I could instead be selling to someone else. This is the flip-side of capitalism which people tend to overlook. The point is, he’s not paying me market rate salary so what he can reasonably expect from me is limited.
Furthermore, the other two developers on this project are remote foreign workers who probably earn about £4 an hour. They are employed specifically because they are *really* cheap. I feel a bit cheated here because I end up day to day managing them, despite it not being my job. If you don’t babysit them continually they will break everything. But often I am not in the mood to babysit grown adults, so they break everything. For some reason I feel like it’s my fault that they have no strong management, despite the fact it is not my job to manage them. I feel like it is my fault I am not rigorously testing their code, despite the fact it is not my job to rigorously test their work (nor is it practical). I feel like it is my fault they often detract value from the project, despite the fact it is not my decision to employ them while pretending that the fact they earn a fraction of what a British worker would demand is not a reflection on their quality.
This could be boiled down into the well accepted rule of economics: you get what you pay for.
In conclusion: urgh.
*I chose this job largely because the overall hours + commute was more favourable because of its location, but I’ve since passed my driving test, so exact location is less important now.