loading...
Cover image for What irritates you the most as a developer? πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»
Team XenoX

What irritates you the most as a developer? πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

nilohit_kanwar profile image Nilohit Singh Kanwar ・1 min read

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. πŸ’†β€β™€οΈπŸ’†β€β™‚οΈ

Team XenoX

Come change the world with us. We aspire to be the biggest open-source initiative on the planet. Sponsored by Skynox Tech.

Discussion

markdown guide
 

This sums it up accurately for most developers I guess:

image

 

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

 

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

 

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!

 

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

Isn't butterfly a bug?

 

You want the feature to be noticed.

 

Unnecessary meetings for the sake of meeting.

 

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.

 

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

 

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

 

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

 

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

 
 
 

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
 

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)

 

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.

 

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

 

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: πŸ€¦πŸ½β€β™‚οΈ

 

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

 

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.

 

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.

 

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

 

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 πŸ˜ƒ.

 

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

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

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.

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)

 

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.

 

backend developers thinking that frontend is easy πŸ˜›

 

I think this is my Biggest pet peeve of all

 
 

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

 

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.

 
  • 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
 

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.

 

Arrogant, know-it-all coworkers

 
 

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

 
 

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.

 
 

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

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

Me: πŸ•œπŸ•‘πŸ•¦πŸ•£πŸ•₯πŸ•§πŸ€žπŸ˜­

 

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

 

Making estimates on time :D

 

Bad documented APIs and/or software.

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

 

Working on Legacy app (20 yrs old) πŸ₯Ί

 

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.

 

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.

 

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.

 
  • 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).
 

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)
 

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

 

designers with that pixel-perfect design philosophy

 

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.

 

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

 

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

 

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

 

When the client changes their requirements.

 

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.

 
 

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

 

Three things irritate me a lot as a developer:

  • usage of MongoDB as a SQL database.
  • misdescribed tasks.
  • Scrum ceremonies.
 

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

 
  • the hype about every "new" thing when is released
  • typescript
  • coffeescript
 
 

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

 

People who doesn't think backups are worth having.

 

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

 

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

 

bad code/folder structure and no time to refactor

 

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

 

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

 

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

 

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

 

Clients and Stakeholders who think that we are wizards πŸ§™β€β™‚οΈ And don't understand when our spells fail to work.

 

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

 
Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Please Visit My Blog of Coding & Programming
Hi, Guys I am Arpan. A Programmer, Full stack developer and Ethical Hacker. I had Created a Blog Related To Programming & Website development Please Visit. Click Here To Visit