Because we all have Dissociative identity disorder with flexing between God Complex and Imposter Syndrome
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
Been there. I've written some slick code in a weekend that has run great for years. I've also spent 2 hours trying to get a button lined up properly.
Why is that?
Programmers are humans and that's the way humans behave. You'll find plenty of ego everywhere, you just selected yourself into our profession and probably don't meet too many people on a different professional path.
I can’t believe how wrong I was. Programmers can be the most arrogant dickheads you will ever meet. Why is that?
That is a behaviour I commonly see online. Working in scientific programming, my experience has been the opposite. The programmers I interact with aren't afraid to ask for help and will usually recognise their mistakes. Not once have I been mocked for my crappy code, not for a lack of opportunities.
As with any field, the less a person knows the more they boast to know.
Part of it is also "engineer brain", where you see problems in terms of a rigid system of rules and forget that most problems in real life outside of engineering depend on rules and systems but also human beings. Unlike a structural member in a bridge or a piece of code, human beings are weird, proud, scared, emotional and smart enough to get out of following rules when they don't want to.
Programming often makes you feel powerful and in control. Humans love that feeling and it’s intoxicating. But I think that feeling of power and control gets easily conflated with being right all the time. If we’re wrong then it’s like we have to admit we’re not in control anymore.
Source: my ass / own opinion
You got an upvote from me for the source attribution :D
I feel it's caused by two things:
- In industry, most people do more reading than writing, so you see a lot of other people's mistakes and have to fix them rather than your own. You don't make enough code to feel humbled.
- Out of industry, there's often a vacuum. You code one way and make a thing and you're proud of it. You never hear criticism, and you're defensive of your abilities. This could be programmers who are new or just out of college or do it as a side to their main job. You don't share code enough with people to learn better ways and be humbled. Good enough is enough to be proud of.
There's an in between state that can open up the door to humility. Maybe a person who works at a company and thus deals with customers, non-programmers, and a team but still works on open source and in their free time build lots of side-projects and open sources them. You're making enough code and putting it out there enough to really receive good criticism. Those people would be more likely to be humble I suppose
It's the duality of coding. You can feel like the dumbest person on earth and impostor syndrome is a real thing. But compared to other people you can still feel like a technomancer/wizard. What too many coders forget is that many, many jobs can get really complicated once you look past the surface. That's part of where the arrogance comes from. I also often see people who feel companies should just indulge their hobby and they forget that the company pays them to write code for the good of the company and not their own good.
My thought is this: we often have to deal with people who are absolutely certain about a thing, that's... completely wrong. Disregarding the user's thoughts to fix the user's issue is quite common.
But that wouldn't explain all of it, because anyone in customer service deals with the same stuff, and they usually aren't that bad when they drop the customer service mask.
That may be part of it but I've also observed it among fellow programmers.
You give your opinion about something and your coworker has a smug, arrogant knee-jerk reaction based on some cargo-cult belief without actually thinking about the details of the problem. Then you need to walk them through why what you said is not what they meant step-by-step, and while it may be wrong it is still a valid opinion. If you succeed, they completely change and become cooperative, and you can have an actually useful discussion. But you have to be super patient, like when taming an irritated feral cat that wants to scratch you. If you're good, the cat becomes cuddly and cute.
This works but I'm extremely tired of having to perform this dance with 60% of the new coders I meet.
I mean, it's a scientific job, you have to prove your arguments... with that said they should help you to do so, if you feel them as arrogant, they are bad at their job....and since programming is a complex job, there are a lot of not so good people
You're right, they also have to prove their counterarguments, and those who don't do it are often bad programmers. But I've also experienced the same with some actually brilliant people.
I think one of the big problems in software dev is that the 'code doesn't care about your emotions' is just an easy out to not put in the effort to work with other people. We seem to forget that although the nuts and bolts of our work is engineering, the only reason we write any code in the first place is to support human endeavors. Yes one line of code can be provably right or wrong, but absolutely everything else piled on top of that is understanding and emphasizing with other people. I wish more of us would take a step back from the line of code in front of us once in a while and just, you know, look around us.
you need to iterate on it and fix the issues until you get the desired result
That's pretty much it right there. To be successful in programming it's more or less required that you're a little headstrong. If you're not kinda stubborn you'll have the morale beaten out of you by a segfault or a missing semi-colon or some other tiny thing and self-select out.
As much as programming enforces the idea that "I've been wrong before and I should be humble" it equally enforces the idea that even experts can make mistakes and that the validity of every statement is independent of the source. Aka everything is up for debate.
On the flip side, holding down a job requires/rewards collaborative skills. I've seen companies make exceptions for "10x" programmers but the majority of us have to at least be able to work as team players.
So in reality I think we actually get a pretty good balance of people. But yeah it is kinda a shock the first time you realize that this practice which is based on empirical truths and logic can harbor some insane dickheads.
Also, I wonder how you're meeting other programmers. I have 15+ software dev friends that I've made in person and only 1 I've made on the internet. Could there be a hidden variable? Maybe it's not all programmers who are dickheads but programmers who post on /r/learnMalbolge or maybe 2nd year programming students who might be a little immature because they're 20 and not because they're programmers.
Best of luck. You'll find your 127.0.0.1 in time ;)
I've definitely run into this, which is so weird to me cause I think it makes you a worse programmer to think like that.
Highly recommend checking the blog posts on https://compassionatecoding.com/blog
So many programmers I feel lack empathy especially when it comes to working with other developers. Pure "logical thinking" is primarily for computers. Writing readable code, good docs, good communication I think really separate an average dev from an exceptional one given the same skill set. All of those require a certain amount of empathy to do well because it's about understanding humans not just computers.
Very true and I've thought about it a lot too. Extremely sad that the programming community is like that.
I found for myself that part of the journey in career advancement was looking at code, thinking "wow this really sucks! how could they be so stupid to do this!" and then realize that I wrote it a year or two prior.
Humbleness comes. I've since adopted it as a metric to determine if someone is really a senior or lead or level 60 paladin or whatever.