You know it's a bad day when you experience all of these.
So you run into a really obscure error or exception. Google it. Result: many promising threads. Except you'll only find: 'I ran into this problem, help plz!' Bonus points for the sadistic 'never mind, solved it!' follow-up without an actual solution. Consider it a challenge.
Work on a feature all day long, only to discover that with a few lines of well-placed code somewhere else all your work is made redundant. Actually, this is enlightenment. But man, does it feel annoying.
That awkward moment when you realize you pushed something completely unacceptable that will break the build.
That awkward moment when you realize you forgot to push something completely acceptable that your co-worker needs.
Strange and hard to reproduce bugs happen. But often it's not you, it's them. Flippant browser caches. Unpredictable IDEs (I'm looking at you, Eclipse). Fumbling operating systems. Did you try refreshing/restarting/rebooting?
Email. Twitter. Co-workers. Bosses. Recruiters. The first two are easily taken care of... yeah, right.
You start talking, I stop listening
"Can't we just ..." or, "how hard can it be?", or "it's just a small additional feature". Nope. Nip it in the bud, it only goes downhill from here. Skip the weasel words and have a realistic discussion, please.
As in: no library documentation available. Or, if there is, it's wildly out-of-sync. Even worse: up-to-date auto-generated documentation. Come on library authors, documentation is the most important part of your API. We'll conveniently forget about the state of the documentation of our own code for now. No hard feelings.
Finally: I'm still not complaining, and I still love my job!