DEV Community

Cover image for What irritates you the most as a developer? ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

What irritates you the most as a developer? ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

Nilohit Singh Kanwar on August 11, 2020

The week has just begun. A dozen more deadlines have probably been tossed at you already. So, let's detox a little today.

What's the one thing that really bugs the developer in you?

Vent out in the comments below. ๐Ÿ’†โ€โ™€๏ธ๐Ÿ’†โ€โ™‚๏ธ

Collapse
 
rachelagnihotri profile image
Rachel

This sums it up accurately for most developers I guess:

image

Collapse
 
itsasine profile image
ItsASine (Kayla)

I think this sums up why I don't mind being a QA :P

Collapse
 
adam_cyclones profile image
Adam Crockett ๐ŸŒ€

This sums up why I'm frightened of QAs ๐Ÿ˜…

Collapse
 
perpetual_education profile image
perpetual . education

This situation can mostly be solved by changing the design process. But - they'll always be things that don't work... and that's a mind-shift. TDD can help / and early prototypes of feature too. But - yeah... so many things to take into account!

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

What's the difference between a feature and a bug?

Isn't butterfly a bug?

Collapse
 
a92gerasimov profile image
Andrei Gerasimov

You want the feature to be noticed.

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Unnecessary meetings for the sake of meeting.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

Just posted this on LinkedIn...

In response to the "intimacy" argument for Zoom:

I'm failing to [frozen video] how [glitchy stutter] [movement] [frozen again, with Aphex Twin sound stretch effect] [blank screen] intimacy.

Collapse
 
aneeqakhan profile image
Aneeqa Khan

we are team of 6 developers, I face this issue alot :(

Collapse
 
calag4n profile image
calag4n

Human beings

Collapse
 
jouo profile image
Jashua

I'm aware that it's part of the hustle... but my answer would be, having to make changes to something they swore was completely finished last week :'D

Collapse
 
chuksokwuenu profile image
Chuks Okwuenu

yh. i totally agree with you.. most annoying thing ever

Collapse
 
zilti_500 profile image
Daniel Ziltener

Especially when you literally talked with them about that exact scenario, and let them confirm twice that that won't ever be needed.

Collapse
 
nilohit_kanwar profile image
Nilohit Singh Kanwar

This hurts.

Collapse
 
flavienlefebvre profile image
Flavien Lefebvre

I'll get a lot of hate for that but there are two things that irritates me the most :

  • Not using the right tools for a use case, like using JavaScript to create desktop apps
  • Sacrificing app quality for money, like calling a web view an app or using bad cross platform tooling instead of the native frameworks. The UI/UX quality gets so much worse when you don't follow each platform principles
Collapse
 
rad_val_ profile image
Valentin Radu

Re 2: that's because you have the mindset of a dedicated developer. Which is of course good for a dev, however, on the business side sometimes it's more important to deliver and make $$ then slowly solve issues (if you ever solve them) than make it perfect from the start.

Personally I think the best solution is a compromise, don't 100% mess the code just for easy gains, but do find suitable shortcuts when possible (and yes, non-native apps can be suitable shortcuts in some cases)

Collapse
 
lexlohr profile image
Alex Lohr

First of all, I don't really hate you or your answer, but I'd like to transcend its sentiment.

Development is all about the compromises you make - and you will make them, consciously or not. For example, by adhering to a "use the right tools" workflow, you compromise on the ability to use tools you deem "wrong" to greater effect, which especially for prototyping can be a bad choice.

Which brings us to your second point: when we are aware of the compromises, we should also know the consequences and make them transparent. Using electron for an UI means that you trade consistency with the platform with consistency over platforms.

If you make this choice, it should be a conscious one - just like all of the other compromises you make all the time on a daily basis. However, that does not mean that you sacrifice app quality - and how much money you spend on what is not the choice of the developer, but of the manager. The developer's task here is to make the consequences of each choice transparent.

Collapse
 
jdforsythe profile image
Jeremy Forsythe

Or you can use something like Ionic with Capacitor and get native plus web stack

Collapse
 
derek profile image
derek

Ignored warnings... that typically go like:

Me: โ€œThatโ€™s a bad idea... you may not want to do it because of X, Y, and Z.โ€

Other: โ€œIt works now, itโ€™ll be fineโ€

Me: ๐Ÿ‘Œ๐Ÿฝ

A few weeks later... ๐Ÿ”ฅ

Other: โ€œIt broke because of X, Y, Z! Why didnโ€™t you say anything?!โ€

Me: ๐Ÿคฆ๐Ÿฝโ€โ™‚๏ธ

Collapse
 
iampaoloxd profile image
Paolo

i feel you :D. i don't tell my colleague what to do. rather i gave suggestion if he want to consider, and later on everybody has to jump in coz he did not consider the suggestion :D

Collapse
 
ben profile image
Ben Halpern

Having a good idea and not having the capacity or energy to properly articulate it.

Like: I think I'm on to something, but I just can't entirely explain the philosophy.

Collapse
 
pj profile image
Paul Johnson

The immaturity of the Node/Typescript ecosystem and the amount of fiddling around with the environment it requires to get basic things going. I actually think someone could make a career as a Node BS wrangler, at least for the next few years.

I think if I was going to do a bog standard website project I would revisit using Rails.

Collapse
 
zilti_500 profile image
Daniel Ziltener

Why people are even considering in the first place to use JavaScript engines server side is beyond me...

Collapse
 
pj profile image
Paul Johnson

There's parts of the ecosystem I like, on it's own I think Typescript is pretty good and at least in theory the massive amount of investment that browser vendors make on Javascript VMs should benefit performance vs say Python.

I think it's more the problem of combining the existing Node JS module system, es6 modules, bundling for the frontend etc.

But yeah, things like lack of proper integer and float types is pretty dumb ๐Ÿ˜ƒ.

Collapse
 
jdforsythe profile image
Jeremy Forsythe

JS is actually very good on the server. Ask Netflix.

Thread Thread
 
zilti_500 profile image
Daniel Ziltener

Ahh yes, that must be why the language they use the most is Java instead of JS

Thread Thread
 
jdforsythe profile image
Jeremy Forsythe • Edited

While it's true that they still run a lot of Java code, all of their web stack is JS. Or as they put it, everything a user sees is written in JS.

In another case, PayPal found that an app rewritten from Java to JS was more performance, serving double the req/sec one one core as the Java app did on 5 cores, so they made the switch.

Thread Thread
 
zilti_500 profile image
Daniel Ziltener

PayPal has (or at least had) reportedly such a horribly awful code base, they could've rewritten it in BASIC for an interpreter and still get a 5-time performance increase, lol! Really they had to rewrite their stuff anyways. Java still is the most performant bytecode VM out there, let alone speaking of the performance of tech like GraalVM... (plus it is multithreading capable, unlike Node)

Collapse
 
jdforsythe profile image
Jeremy Forsythe • Edited

If you think the TS ecosystem is immature, try cloning the DefinitelyTyped repo.

TS + Node is easy to set up nowadays. ts-node allows you to debug it directly, no transpiling. We only run tsc when we're ready to ship. We write TS microservices daily with no issue. We clone a setup repo and start writing code.

github.com/jdforsythe/typescript-n... has what you need to start writing code immediately

But if I were making a blog I would use an SSG like hugo, not TS or Rails.

Collapse
 
aneeqakhan profile image
Aneeqa Khan

backend developers thinking that frontend is easy ๐Ÿ˜›

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

I think this is my Biggest pet peeve of all

Collapse
 
willtrout profile image
Matt Willtrout

Apparently it has been Decreed that front end is women's work. This means (I am told) that it is both very easy, and Real Men would rather handle a sanitary napkin.

So sexist incel dudebros.

Collapse
 
sleepybuildings profile image
AMFan • Edited

Clients that think that they are important enough for a (interrupting) call. Unless a server is burning, send a mail, Iโ€™ll check when I have time.

5 projects in a day... context switching is killing.

Collapse
 
jonrandy profile image
Jon Randy ๐ŸŽ–๏ธ • Edited
  • The overuse and overpromotion of React (sledgehammer to crack a nut in most cases)
  • The ridiculous amount of tooling people seem to think is necessary to build a simple website
Collapse
 
lexingdailylife profile image
Martin Cartledge

Arrogant, know-it-all coworkers

Collapse
 
perpetual_education profile image
perpetual . education

Sounds like a problem with the boss!

Collapse
 
dploeger profile image
Dennis Ploeger

I always hate the "we've been doing that for years, we're not changing that"-attitude. Really crashes creativity and innovation.

Collapse
 
aneeqakhan profile image
Aneeqa Khan

true that!

Collapse
 
itsasine profile image
ItsASine (Kayla)

My last two weeks have been stuck in an Office Space loop of "Did you get the memo?" I assure you I have the cover sheet on the TPS report just fine, tyvm.

There's a process for putting code in prod. All the people involved in the process were laid off. The new people in charge of the process are redoing the process docs. I've gotten at least 5 emails about the new process docs.

I had to make our docs 3 weeks ago so we could have time to get to prod. Apparently they updated the docs 2 weeks ago. I have gotten at least 3 comments about how I'm using the old template and didn't I see the emails about how to make a new doc from a template. Like, yes, I have. But these docs are based on the 3 weeks ago template so we had time to fill them out. But did you get the memo about the new process templates.

I already had a week of PTO on the books starting tomorrow, but now I need it.

Collapse
 
elcotu profile image
Daniel Coturel

Bad documented APIs and/or software.

This includes poor documentation and the worst, the undocumented feature in a very documented software.

Collapse
 
onefinedruid profile image
Ian Weber

Asking IT when I have to install anything on my work machine.

Collapse
 
mehtanilay10 profile image
Nilay Mehta • Edited

Working on Legacy app (20 yrs old) ๐Ÿฅบ

Collapse
 
giannidhooge profile image
Gianni D'Hooge

Time zones.

Collapse
 
adam_cyclones profile image
Adam Crockett ๐ŸŒ€

Waits 5 hours.. Q: "hi how do I do this?"

A: "let me check and get back to you"

Me: ๐Ÿ•œ๐Ÿ•ก๐Ÿ•ฆ๐Ÿ•ฃ๐Ÿ•ฅ๐Ÿ•ง๐Ÿคž๐Ÿ˜ญ

Collapse
 
lehmannsystems profile image
Mike

Making estimates on time :D

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.

Collapse
 
bubbit profile image
Remco Gubbels

Meetings about solutions that are out of the scope of your product without the people there who know the product and coming up with a solution. Especially when they start complaining afterwards when the person with knowledge about the product tells them that it won't work.

The amount of useless meetings where people suggest solutions with the statement: 'I think it works like this' are insane.

Collapse
 
perpetual_education profile image
perpetual . education • Edited

Basically the whole process. We've got to get out of this client/boss pleasing waterfall madness and into lean/agile iterative 'Design.'

One of our teachers wrote about that subject last week: Agile waterfalls

The other thing we don't like - is just how no one has a solid shared foundation (being the reason we made our school): "Enough to be dangerous, is dangerous"

  • and we'll add "The Hustle" - (the whole idea that there should be any #hustle)
Collapse
 
adam_cyclones profile image
Adam Crockett ๐ŸŒ€

Forgetting everything only to remember everything again when you don't need it.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited
  • Meetings which could (and should) easily be emails or Slack threads.
  • Video meetings (especially now, completely inconsiderate of neighbors' bandwith), and failing to provide a call-in number.
  • Dev hiring managers who still haven't figured out (and have no excuse not to know better) that on-the-spot terminology quiz interviews, and timed, live coding challenges and whiteboard exercises tell you nothing useful about a candidate (and tell them - whether you intend to or not - that you and your company foster a culture of micromanagement).
  • Awful, convoluted architectures largely due to resume driven development (or just failing to look outside of one's familiar bubble, something I presented on last year).
Collapse
 
peledzohar profile image
Zohar Peled

I used to get pissed off when people asked me to fix their computer, but I'm over that now. Today I just tell them "I'm a programmer, I know nothing about computers". Usually, that ends it right there on the spot.

Collapse
 
valericaplesu profile image
Valerica Plesu

designers with that pixel-perfect design philosophy

Collapse
 
axelledrouge profile image
AxelleDRouge

Having to code a solution that MUST behave EXACTLY like the desktop solution (like really exactly) even if we have to recode completely a solution that we already have.
Because the customer want the two solutions to be interchangeable, and the two solutions have the same use case. It's been a year, and I still don't get the logic.

Collapse
 
lexplt profile image
Alexandre Plt

People not reading the documentation I spent ages on, and asking a lot of questions already answered by the doc, thinking that I am the doc and that I have nothing else to do than to answer their questions

Collapse
 
donnaken15 profile image
Wesley

When unchanged code causes bugs or leaving a project alone for a while causes bugs for no reason
EVERYONE HAS HAD TO GO THROUGH THIS I SWEAR

Also VS shouting stupid VC++ errors at you related to dependencies and minor code

Collapse
 
bradtaniguchi profile image
Brad

When the client changes their requirements.

Collapse
 
nicolus profile image
Nicolas Bailly

Clearly working with arcane external services that don't work like I expect them to. Most of the time the issue is that I didn't read or understand the docs correctly, but it doesn't make it less infuriating. My job is to write code and find solutions to our problems, not to spend 2 days figuring out why I'm getting an error message that has seemingly nothing to do with what I'm asking when querying an API.

Collapse
 
y_nk profile image
Julien Barbay

Over-engineering. 1000%.

Collapse
 
kant312 profile image
Quentin Delcourt

Spending time on analysing and implementing a project that will ultimately not be used by anybody and disappear in the digital trash.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Clients and Stakeholders who think that we are wizards ๐Ÿง™โ€โ™‚๏ธ And don't understand when our spells fail to work.

Collapse
 
dougaws profile image
Doug

1: when will this be done? WTF does "done" mean?

Collapse
 
joelbonetr profile image
JoelBonetR ๐Ÿฅ‡

Changes on the Requirements is the worst think I faced as a developer...

Collapse
 
mdamaceno profile image
Marco Damaceno • Edited

Three things irritate me a lot as a developer:

  • usage of MongoDB as a SQL database.
  • misdescribed tasks.
  • Scrum ceremonies.
Collapse
 
slackerzz profile image
Lorenzo

PMs only able to say yes and forward emails from customers to devs.

Collapse
 
gab profile image
Gabriel Magalhรฃes dos Santos
  • the hype about every "new" thing when is released
  • typescript
  • coffeescript
Collapse
 
kingleo10 profile image
Niroj Dahal

Agressive partners

Collapse
 
josippaulik profile image
josip-paulik

when client reports a bug and its their fault. Wasted time on analysis

Collapse
 
aneeqakhan profile image
Aneeqa Khan

I personally always think that backend is difficult ๐Ÿ˜‹

Collapse
 
fsehic1 profile image
Faruk Sehic

As a junior software engineer writting unit tests for existing (not covered) code. Dude I am not productive, but tired like dog. ๐Ÿคฏ๐Ÿค•

Collapse
 
evelew profile image
Evellyn Lima

bad code/folder structure and no time to refactor

Collapse
 
xlentpirre profile image
Pierre Nilsson

People who doesn't think backups are worth having.

Collapse
 
sergeyt profile image
Sergey Todyshev

In this video Sandi Metz tries to answer this question. In short software developers are usually unhappy because of handling other people ๐Ÿ˜„

Collapse
 
deepslam profile image
Dmitry Ivanov

I hate changing tasks when they're already at work.

Collapse
 
panditapan profile image
Pandita

Empty try/catches or if/elses that usually have a comment similar to "//do nothing". Whyyy?

Collapse
 
joeljuca profile image
Joel Jucรก

The incredibly insane excitement moments of JavaScript developers when a new front-end framework arrives somewhere.

Collapse
 
safaahammoud_ profile image
Safaa Hammoud

not meeting deadlines and unable to tell how much will a feature take me to get done