Well, I don't work in computing(sadly) but I used to get frustrated in my current day-job.
The worst thing was going out of my way to apply professional standards to my work, but then finding out the hard way that I was wasting my time due to the nature of the system. On the one hand they put a company rule book in your hand and - in their own words - say disciplinary action will be taken if not adheared to, but on the other hand you are surrounded by cowboys who then frown upon you for doing things by their bloody rule book!
When you see the cowboys getting away with murder, getting promoted through a popularity game and the genuine professionals getting kicked in the nuts and told "not good enough" when overloaded with work...you know its time to accept that the job is bullshit and that you work to live and not the other way around.
Funny, since I've learned to "let go" at work, I've been a lot happier in my job and at home. Just do your contracted hours and your best. In the end thats all you can do.