After you work in IT organizations enough, eventually you build up a list of things you would really like to never see again. Sadly they never seem to go out of style.
CIO/CTO's who ignore everything said by people who work for them but believe every word from a vendor's mouth. This always leads to large dollar purchases of technology and contractors that cause no end of trouble for everyone. It's how a million dollars of Documentum winds up being used to manage one website.
CIO/CTO's who make decisions based on what makes them look good to higher management, and ignore everything else.
Working for companies that make money despite utter incompetence and gross mismanagement. The only reason they stay in business is monopoly positions or long existing contracts that actually require little effort to collect on. Working for such a company is stable but frustrating beyond belief. Management acts as if all decisions involve life and death, but in reality the company would make money even if no one ever showed up for work.
Project Managers who claim they need to know nothing of the technology being used, as "they just manage people"; yet they wind up making serious technology decisions anyway. One PM I knew forced a developer who had just written a complex SQL query but hadn't even run it once to include it in a hot fix build of a customer facing web app. Fortunately a smoke test by another developer caught the sql query (which didn't work at all) before it appeared on the front page of an app used by 150,000 customers.
Project Managers with no actually technology background. At one place we had two fun ones, their previous work experience was as a forest ranger and a maitre'd. Yet the worst PM there had a PhD and was a former customer of the company. Go figure.
Developers turned managers who spent their developer careers complaining about how management acted; then upon becoming manager immediately did everything they used to rail about.
Developers turned managers who decide upon conversion that they never need to know or learn anything new and operate as if the world had stopped when they stopped developing.
Managers of any kind with no background in technology much less programming. I worked a contract for a University where the software development manager's prior job had been cashier. The manager had resisted for 3 months allowing the developers to start using a source code repository.
Working for IT organizations where following the "process" (always a waterfall or some renamed variation like SDLC) was more important than actually producing anything. One place had a system which required 15 separate documents, meetings and signoff's before any coding was done (after which the process stopped). I should write a whole post on this topic alone. Usually in such organizations nothing was ever completed; I always thought of the process as "How to fall off a cliff and die".
Working with really smart and talented programmers who, due to the inept, stupid, moronic management or environment had to either go insane, quit, or resign themselves to not caring at all and churn out crap for a paycheck. Some people naturally can empty their brain and put up with stuff, but some can't (and I am a poster child for having to care about what I do).
Working with programmers who call themselves a "java god" but never produce anything, or if they somehow do, produce utter garbage. It's even worse when they get called "architects" and have ordinary programmers have to clean up after them (see #10) while they get the glory.
Working in IT organzations where security is either Job #0 or Job #infinity. Some places it's both; one place had policies for encrypting everything, hard drives, flash drives, pda email, etc but left the production passwards to servers and databases available for everyone in the company to use without auditing.
Working with people who control every aspect of a developers job making it a royal nightware. One place had a guy who was allowed to force everyone in the company to use his Eclipse setup, complete with 150 plugins with everything locked down (even the source code formatting was his). No testing was allowed and no complaints tolerated despite constant changes every day. Most programmers tried to ignore him but eventually you couldn't get away with it as all the checks would be applied in continuous builds and it would fail if even the tiniest difference was detected.
Going though enormous hoops to get a job, requiring proof of god-like experience; then upon working you discover that your experience is ignored as every aspect of your job is predetermined and controlled. So why not hire monkeys instead?
I could go one forever but for now this will have to do. It's not hard to imagine that every developer has a list.