I usually had been very harsh with others when I got to uncommented, undocumented, badly written code, especially in house – most of the time I thought about this as a matter of capability, but when I myself resort to low quality code I really have to stop for a moment and think twice before criticizing others. So far I have been trying hard not to argue with my boss (on matters that should not concern me or on matters I have no authority to comment on / change), but now this is the time for the same policy with colleagues.
Where specifications are most of the time scarce or badly written, where deployment is always the most important thing (even if the timesheet for the next week is still empty), where most people just don’t feel the need to comment the code (or just remove comments with refactoring), where insane ideas from management people pop up on a regular basis, when doing split tests on the live site for the sake of 1-2% lead increase is more important than thinking about how large scale parallel versions will affect the application logic itself, where search engine optimization comes way before code quality and user experience most of the time (pretty ironically) negating the means of standard, well-proven accessibility: I really wonder, how am I supposed to deliver high quality software? And what’s worse, noone really cares for the quality part (they would say “yes, we really do” wholeheartedly here, but caring for me rather means maintainability than rolling out new features as fast as possible). Without starting to figure out who’s right or wrong, which I really don’t feel like anymore, I really am close to understand someone who just wants to “get the job done” – while I myself am facing the fact that neither I, nor most of us have the qualities to produce “best quality” under such circumstances.
I do know how my boss would react and how impudent this all sounds (with keeping in mind that – fortunately – this is a for profit company, not a bunch a freetard hippies in a cave), but even though I’m doing my best, I felt very frustrating that no matter how hard I try, I cannot comply with my own standards, angry with myself and others, now I think it’s time to change and let things go on their own way. I still try not to break things, I still comment my files, I still try to write clean and readable code, but I feel less guilt with the terrible hacks I or other team members do day after day.