Answer by Kishore Kumar:
The Software Engineer's dilemma – Problems or procedures one simply doesn't believe in, or follow, unless or until they face it themselves.
Opinion :- Result / Response:
- An extra 'for' loop doesn't make much difference here :- The Service ends up consuming N^2 or worse resources. Couldn't be any better than setting the servers on fire, if the service is being used millions of times a day.
- Design is a waste of time, I have done much bigger projects earlier :- Lost in a maze, in the middle of project and have to re-do the entire stuff.
- Comments and Naming patterns? Dude, you are a developer! Go figure yourselves – The next hour working on someone's codeā¦. What the hell is he doing here? Why is this named XY, rather than XX anyway?
- Subversion Update? Probably I might be the only one working on this file :- Ends up messing with conflicts.
- I will commit all my changes at once, once I am done :- It goes wrong somewhere, or previous version might be better than this and there is no way to go back, rather than writing from scratch.
- Unit tests? F**k my code is *** proof :- (Some of the external services changes, and the code might still be *** proof) – where the hell it is breaking.
- Similarly, Logs? Boring! :- What the hell is happening? How do I figure out where it is breaking.
- AES or some security algorithm is stringent, I might probably write or customize one my selves :- Well, actually AES or some X is better and I might better of follow established practices sometimes.
- There is lot of management, that I am wasting time on meetings than writing code :- (Looking at some new code) Who made this changes? Was it supposed to be here?
- Why does my company spend/waste huge money on testers? :- On seeing a bug reported by tester, f**k how did I miss that?
- Those first time set-up instructions are absurd, particularly for that server X, who is doing it like that anyway. I did better in my previous job :- Ok, I might have to re-do it from the beginning, following each step carefully.
This list is exhaustive. Suggestions or additions are welcome.