Yep, my greatest frustration was not my own code or bugs, but interfacing with someone else's bug-ridden code. And more often than not it wasn't a simple, "Hey Joe, this ain't working according to the specs, mind fixing it for me today?" Nope, that rarely was an option, sad to say. Instead I had to resort to "fixing" the broken libraries using my own code that called those libraries, which ended up making my code way uglier than I ever wanted (though it did result in some comical comments). Worse, if Joe did one day get around to fixing his code, then my code needs to be updated to remove my own "fixes". Of course Joe didn't tell me he fixed his code, so I learn about it when my code breaks because it was written to anticipate his code being broken..
I much prefer writing smaller "I'm in control of everything except the OS" software, which is one of the reasons I got out of the business and only program as a hobby these days.
Are you called Joe then?