There are relatively few technologies that I adamently refuse to work with in the IT industry.

1. Perl. Fucking hate it. Yes, you *can* write maintainable code with it; and some libraries are surprisingly pleasant to use. Emphasis on "some". That leaves *most* in the category of "out of the question." I simply refuse to work a job where I know ahead of time I'll be using Perl.

2. Javascript in general, and Node.js in particular. Fucking hate it. It was a significant contributor to my burn-out when I worked at Rackspace.
3. **ANYTHING** involving the use of MQTT. Full #*@#%^ing stop. MQTT solves **NO NEW PROBLEMS**, and only serves to create new problems. I'm screamed about this enough here already.
4. Related to 3, **ANYTHING** involving Google IoT Core. Just about unusable for technical support on field-deployed units. Worse, a unit will be happily processing telemetry from field units, until it stops. YOU HAVE NO INSIGHT AS TO WHY. Only demonstrably correct work-around so far is to just restart the fucking software on the IoT device. NOTE: I'm *NOT* talking about reconnecting to the MQTT server. I'm talking about dropping the process dead with a sigkill and rerunning it.
Ooh, what's that? You want support to figure out what's happening that's causing IoT core to suddenly disconnect your sorry ass? Pay up, bub; that's an additional several hundred dollar a month support contract, because we know our shit is so broken, the only way we can legitimately cover support load overhead is to charge your sorry ass for it.
For the record, I petitioned my company on several things at once when we were first commissioning this new backend software stack:

1) DO NOT tie our services hard to Google's APIs.
2) DO NOT rely on MQTT. There's no reason whatsoever to not use plain, simple, well-understood HTTPS.
3) DO NOT rely on cloud services. Take it from someone who worked at a cloud provider: JUST SAY NO. Self-host your infrastructure. We don't have the scale to justify cloud services yet.
4) Use the savings from (3) above to hire more local talent.

I was shot down on every ... single ... point.

Every fucking one of them.

Now we're suffering.

Meanwhile, the previous incarnation of our backend infrastructure, you know the one that I willingly admit is thoroughly broken because *I* designed it and *I* had no idea WTF I was doing building it out? Guess what?

It's been supporting our legacy customers for about two years now, with **NO** **OVERSIGHT** on my part. None. I logged into our V3 core API server last week to find out why a customer's dashboard wasn't working. That's it. First V3 support request in 2 years.

Don't talk to me about cloud *ANYTHING*. If I hear "MQT" come out of your mouth, I won't even let you fucking finish the sentence. We're done. It's over. Fuck off. You're dead to me.
I'm tired of not being listened to. I'm tired of wasting my life away on problems that, if you'd just fucking LISTENED to me in the first place, would be a solvABLE problem. But, nope, you're stuck with an insoluable and sticky sitation now. But, of course, it's my problem. Until it isn't. I just have to write one letter of resignation. That's all it takes. Yeah, I'm a quitter. Because my life means more to me than your product portfolio.
If it weren't for the fact that I basically wouldn't be hirable elsewhere, I'd've left this shit a long time ago.