DEV Community

loading...

Discussion on: What irritates you the most as a developer? 👩‍💻👨‍💻

Collapse
ericgeek profile image
EricGeek • Edited

I don't even know where to begin, other than to say that I hope my situation is a rather rare one. I like my boss, I really do, but dang, sometimes he can be frustrating. I'm basically a one-man programming shop in support of an IVR platform that I also program. For the last handful of years, we've been having problems with our old IVR platform. Sometimes the switch stops talking to the computer that controls it. We had literally swapped out every part of the switch and the computer that controls it, but with used equipment, since no one had made any of this hardware in fifteen years or so. The OS that we're running were so old that they hadn't had an update since before the time Congress changed when daylight saving time starts and ends, so twice a year, I had to log in at 2am to reconfigure several of the servers to manually change the timezone config and then reboot the computer. One of the OS would panic if it saw any hint of a bus more modern than EISA.

I got to design and build a new IVR platform, not quite from the ground up, as we expected that it was going to have to interoperate with the old one to some degree, but we managed to get away from all the proprietary hardware and software. As long as we can find hardware that can run Linux, we can keep this thing going, as other than the hardware it's running on, the entire new system is running open source. Oh, and we're down from 7 servers and a custom telephony switch with almost no redundancy to a single server, or rather a cluster of identical servers that was going to have the ability to transparently take over from each other if one failed.

And then, just as I had worked out all the details of how this was going to work, the switch rolled over and died. I had no time for niceties, all the high level planning I had put into the design was put on hold and I wound up slapping something together that was "good enough" as fast as possible. Oh, and I forgot to mention that this IVR platform is 100% of the business income, so "as fast as possible" was not an understatement.

Anyway, that's just how we got were we are, only touching on some of the annoyances. The real problem mostly comes from communicating with my boss, though some of it comes from the technical debt from some of the decisions made during that "as fast as possible" time period.

Let's start with the fact that this man is at the opposite end of the spectrum from someone that feels compelled to stay up to date with software and technology. I kid you not, the computer that he does the accounting and payroll on is so old that even running the most up to date OS possible for that hardware, his web browser predates the official ES3 spec. Me, I'd be terrified of running financial stuff on a computer that I can't get new parts for in the case of its inevitable death.

So the first problem is that he uses Outlook Express as his email program (not from the really old computer), and he's chosen some unfortunate settings. Like how to quote a message when replying to it. It doesn't quote a thing. You get an "original message" header, and below that, the original message. Fine if you're top posting, but when we get into detailed conversations, he doesn't top post, he just enters an "R:" so I know he's replying and then starts typing, and OE doesn't even break the quoting in the existing message. I get emails that look like he forwarded the message to me and didn't make any comments, with everything he actually wrote looking exactly like what he's replying to.

It doesn't stop there. On at least one occasion, he re-edited a paragraph he had written a few exchanges previously, without even saying "BTW, you'll want to reread that paragraph, I edited it." I was seriously considering writing something to diff the emails against what he replied to, but between the lack of an "In-Reply-To:" header and the fact that his computers get the time wrong all the time, it wasn't viable. I'm seriously considering taking the time to set up a ticketing system and insist he use it just to avoid trying to read his emails.

He's also a pixel perfectionist, which wouldn't be bad, except that 1) I wound up doing a lot of cut and paste for the HTML from the old version of the intranet site, so I didn't get the chance to use a css reset, and 2) On the computer he cares how things look, he uses Safari, and I don't have a Mac. Between the lack of resets and the fact that I can't see what he sees, we've had several times just in the last two weeks where he'd ask for a minor tweak, I'd do it, and then he'd insist that I did it wrong because while it looked right for me, it came out differently on Safari.

Oh, and the UX of the original site is horrible, and I don't even consider myself particularly qualified on UX design, but we're talking unreal levels of bad. Unlabeled fields, buttons literally labeled "Submit" where the function isn't obvious, and in one case, a data page where the only way to refresh the data without hitting the refresh button or going back a page then forward again is to click a button labeled "Delete" without having selected anything to delete.

When I started implementing this for the new site, I fixed a lot of that, including adding information that I need to maintain the system to some of the pages. At which point he promptly told me to remove it all. I eventually started hiding surprisingly large amounts of functionality behind feature flags just so that I wouldn't get pissed having to deal with the UX nightmare.

Mind you, some times he likes my changes and encourages me to offer up more suggestions, but even when he likes something, he'll sometimes tell me to remove it a few days later, forgetting that he had approved the change.

We're finally to the point where I can see the light at the end of the tunnel and I'll have time to rewrite both the IVR code and the website to get rid of all the technical debt, assuming I can avoid throwing my computer out the window before then.

And somehow, I actually still like my job.