Replace Software Development with any job and you are really on to something.
People are mean and jerks are everywhere. Perhaps somehow society has convinced us otherwise, but there are a lot of terrible people out there.
A lot of people do evil things, a lot of people hurt other people. This is not new and it's not a secret, people for whatever reason are more oblivious to it than they should be or perhaps people are so accepting of inappropriate behavior in our entertainment mediums that we are desensitized to it until it happens to us. I really don't know for sure.
What I do know is not everybody deserves a say in everything. Sometimes people are wrong, or are trolling, or just have no place in the conversation. The right thing to do is to remove those people from the conversation if they aren't being constructive.
I think that the post over states it but I don't think it's entirely wrong that software developers are atypical in their behaviour, even if it's not exclusive to them.
There is something specific about the way that people in software development can be jerks - passive aggressive behaviour, sometimes a lack of self awareness, a certain type of arrogance or at the very least a lack of empathy.
And this in an area where in many ways there are many similarities which you'd hope fostered friendship and bonding - we're talking about smart people who often share interests.
Maybe it is just that software developers are typical but even if that is the case given levels of intelligence, education and so on I still find it disappointing that we can't be better than that.
>>There is something specific about the way that people in software development can be jerks - passive aggressive behaviour, sometimes a lack of self awareness, a certain type of arrogance or at the very least a lack of empathy.
Yes.
Generally speaking, I refer to this as "lack of social skills."
I don't mean that as derogatory, although I know it will come across that way. Most developers have grown up around computers, and in a lot of situations have chosen fiddling with computers to socializing with people. As a result, they don't gain important social skills until later in life, if at all. For example, the software architect for my company's software suite is an absolutely brilliant guy. But he's just incredibly awkward around people. When it comes to working in projects, or even simple things like answering questions from less technical people, he's terribly arrogant and condescending. I experience such attitudes from non-developers much, much less often.
I suspect that in part it's more common because demand for skills massively outstripping supply means that organisations have to put up with ahem personality quirks they wouldn't otherwise tolerate (or would at least avoid).
That said when I first started in IT I was surprised by how few people conformed to the cliched socially awkward stereotype. Yes it was more noticeable than in a typical a cross section of the general public, but I think that the damage someone being a complete jerk can have in a team context means that even given the difficulty in hiring it's selected out to some degree - you've either got to be really good, or at least be able to hide your true nature at interview.
I agree wholeheartedly and I have contemplated writing a blog post similar to the OP. One thing I've noticed a lot of is developers (or managers who are ex-developers) who feel like being very nice 80% of the time makes up for their horrible rudeness and lack of empathy and inability to communicate 20% of the time. I think a good analogy is if you're a violent criminal and a felon you're likely not committing felonies 98% of your waking hours in society, but the other 2% is a big enough problem that it's more important than your acceptable behavior at other times. If you melt down when the work isn't easy, or people have questions or there is the slightest bit of disagreement, it doesn't matter how nice you are when things are going well.
Having been in the work world for a while, I feel like this is new to an extent. I feel like harsh competition to the level of people being willing to sabotage their own projects and so-forth, is a phenomena of a gradually intensifying market-driven pressure that has been unleashed on society through a variety of forces (take-over focused hedge-funds and investor, market-efficiency ideologies, etc).
But reference than anecdotes, I'll give references:
But the point is this a somewhat new order. Of course, competition-so-ruthless-it-produces-bad-behavior has been around forever. But some circumstances allow that truly blossom and I think can argue we have those circumstances now.
I tend to agree with the article... while people can be mean anywhere, seems like there's a certain confluence of characteristics and circumstances that allows "jerks" to have an outsize place in the tech industry.
But I suppose to look on the bright side, I'd rather have somebody be a jerk to my face, even if it is subtle and insidious, than have them pretend to be my buddy and then stab me in the back.
I'll take being surrounded by jerks over trying to navigate some of the intricately constructed, intensely political environments that are common in the business world.
It's weird because when I imagine a young kid who is going to grow up to be a software developer, I tend to imagine the kid who gets picked on, not the one who's picking on people. I wonder why the tables turn.
FTA
> It is sort of a “kick the dog” syndrome where software developers who were kicked earlier in life, or even earlier in their careers, tend to feel justified in kicking the programmers who they see beneath them.
From the item: "The truth is not everyone has your best interests at heart. The truth is that a large number of people would like nothing more than to see you fail...."
Without getting into why, one of the reasons the above is a bit astonishing is that it frequently leads to project failure, and in startups that usually means company failure. You can't depend on simple notions of self-interest even in situations where failure will mean all involved will lose their jobs.
I might be wrong but I think the average jerkyness has been in decline over the last 10 years. Now that CS is not entirely comprised of the geekiest of the geekiest, there are a few well balanced people present, means that employers have more options, and they increasingly want nice people.
10-15 years ago the internet was just for geeks, but now everyone uses the internet, and and now business people want to learn how to code instead of locking us up in basements. So I am encouraged that the aggressive know-it-all might be slowly going extinct.
Very few people consider themselves jerks, or go out of their way to be that way. You could argue that I'm wrong in Finance, but I think I'm right in Software. A lot of the solution is getting inside of other people's heads, especially those who may not have great social skills. Being a jerk isn't the same as less developed interpersonal skills.
I don't think your characterization of society is necessarily all that universal.
I'm from the southern US, where people are known for hospitality and politeness, and I often see things said on places like the LKML that make me go, "If you said that to me in person in that way, I'd punch you in the face." And, to be clear, to me, punching the person in the face is not nearly as rude or unacceptable as whatever they said.
I'm trying to get used to the fact that different people have different social norms. I still think people like Linus have _inferior_ social norms, though. (Though he may be an exception, since his style seems to work so damn well.)
In the same vein as a post linked here ( https://news.ycombinator.com/item?id=6346933 ) I refuse to play audience to someone insisting on being mean. Maybe that's just the way that person is, I can't change that, but I can change who I choose to interact with.
If negative and mean people are happy being just so, they can be that way by themselves.
One thing I wish this article talked about: Sometimes, people are brutally honest with little tact. If you're overly sensitive, you might think that such a person is being mean or being a jerk - but they have your best interests in mind, because they are telling you either a factual truth or an unvarnished personal opinion.
The reason why they are brusque is not because 'they have been abused' but because, the tolerance for bullshit is low - because of two things 1) they have seen bullshit bring down otherwise promising projects or ideas, and they don't want that to happen; 2) they percieve that varnishing your emotions or opinions with too much tact increases the cognitive load required by the recipient to 'get to the truth'.
Whether or not being brusque or diplomatic actually is effective is debatable. Nonetheless, I think missing this very important concept is generally bad.
In some fields, like science, having to deal with people who will trash your idea with honest commentary - that makes you think twice about what you are doing - is far, far, far better than having to deal with the silent judgement of a failed experiment that lets you down dispassionately, and wondering, "why didn't anyone care enough to tell me I was stupid to try this".
My bottle of Aspirin says, I should take 2 pills after meals. My cough syrup says, I should take one tablespoon before bed.
But something that will, potentially, save me from myself cannot be delivered with tact, compassion and restraint with no delicacy whatsoever with regard to my sensibilities?
If the advice someone gives me is not in the form I can ingest, then what they have done is pleasure themselves publicly at my expense.
This was advice. I hope what I wrote falls into a form that you found ingestible.
when I hear too many platitudes or niceties that are designed to pad out critical analysis, my ears shut off and the person delivering the analysis loses credibility in my mind. What some people find easy to ingest, others find insulting and will reject it.
It is my perception (and this may or may not be correct) think that people who are often too concerned with seeming nice - are going to be exactly the people who do things like fudge or fake data, and I think it's important to have a strong immune system against those people, at least in my field (science).
To go one step further, saccharine niceness, in my mind, is often coupled with vicious back-stabbing (over-compensation?). I don't want those people around. If you're going to be saying something nasty, say it to my face. Just a matter of respect.
There's a large middle ground between saccharine niceness and vicious back-stabbing.
I find that someone who doesn't work well with emotions is typically bad at reasoning too, because the arguments they make end up expressing their feelings in obtuse ways.
>There's a large middle ground between saccharine niceness and vicious back-stabbing.
Perhaps you misread me. I'm claiming that saccharine niceness goes WITH vicious back-stabbing. Because people who are vicious back-stabbers are going to be inclined to overcompensate with niceness.
>I find that someone who doesn't work well with emotions is typically bad at reasoning too, because the arguments they make end up expressing their feelings in obtuse ways.
I find the opposite. In science, in order to assess your evidence, you often have adopt a somewhat dispassionate stance, and make judgements unclouded by emotion. An inability to process emotion, then, can be a tactical advantage, because it doesn't incur the overhead of compartmentalization (which taxes my brain). And to go to the extreme, I have had had more than one friend who were extremely impaired in their ability to process human emotions (I think the in thing is to label this 'asperger's') who were extremely good at reasoning, as evidenced by the fact that they were brilliant mathematicians, and I don't mean number crunchers - full on propositional logic and proof-crafters.
> Perhaps you misread me. I'm claiming that saccharine niceness goes WITH vicious back-stabbing. Because people who are vicious back-stabbers are going to be inclined to overcompensate with niceness.
I don't think we really disagree. I think that if conflict is avoided through saccharine niceness, eventually it will come out as vicious back-stabbing, and vice versa as you've noted. So the two apparent opposites actually go hand-in-hand, they feed each other. But when I say a middle ground I mean something like firm politeness. I don't believe that brutality paired with honesty is a middle ground; it's just an aggressive solution instead of a passive aggressive one.
I think when I say bad at reasoning, I really mean anything that at least partially involves a judgment call. A lot of the scientific process is deciding which experiments to do. Yes, an inability to process emotions is generally going to mean you're suited for working with logic, and as such might excel at proofs, programming, theoretical physics, stuff like that.
But the problem I've noticed is that people's careers often get derailed because of emotional issues: it could be because they're passive, they can't handle anger, they get stepped on or taken advantage of, they have grandiose dreams about their research, they become unwilling to admit they were wrong, etc.
Hmmm, maybe a better way to say it is that the firm politeness pairing is a middle ground between the saccharine niceness / vicious back-stabbing pairing and the brutal honesty pairing.
> I find that someone who doesn't work well with emotions is typically bad at reasoning too, because the arguments they make end up expressing their feelings in obtuse ways.
This is an interesting explanation. Do you think that people bad at understanding their emotions are less aware or mindful of their unconscious biases?
Yeah, more or less. I think that whatever is unconscious (read: lost, forgotten, dissociated, unfelt, or unthought) ends up getting expressed anyway, in yourself or in your relationships. Seeing this expression clearly in the world requires working with your emotions. If you cannot do that, then it's very difficult for any of your strongly held "rational" views to change, because doing so would require dealing with some pretty heavy emotions.
The upshot is that it gets really tiresome to argue in situations where you've realized this is what's happening. In my experience, most of the time that you see hardcore polarization on an issue, where all appeals to reason seem to fall on deaf ears, it's actually due to some kind of emotional blockage like this. At this point, practicing empathy and asserting firm but flexible boundaries is often the only way out.
So, pay attention to your emotions, they're trying to tell you something.
I agree wholeheartedly that unconscious desires find ways to express themselves, but it's novel for me to correlate those who are disconnected from their emotions (i.e. push them into their unconscious) with those who are more likely to fall victim to cognitive biases, dissonance, etc. It makes a ton of sense; for example, it takes all of my mindfulness to stop myself during a discussion/argument and ask myself honestly whether I'm open to hearing someone's argument or if I'm just feigning openness while trying to get a point across that I've tied my ego to. Oh, the inertia of preconceived thoughts and biases.
This is very useful to know, so thanks for the light-bulb moment. It'll be easier to step away from discussions when I can recognize that someone will live and die with their agenda because A) they lack the mindfulness to divorce their emotions from their stance, B) their identity and ego is built upon this stance, and C) no one will let you come by and sweep away their identity/ego without a fight, especially when their emotions, repressed or not, are swarming.
I guess it's easier to trust the judgment someone who's aware of their emotions than someone who's got a glaring blind spot.
Cool, glad my perspective was helpful. Sometimes stepping away from an argument, while it gets you away from being locked into either attachment to the argument or aversion to the argument, can turn into the third poison of disinterest in the argument. Detached engagement is the antidote here. If it's somebody I care about that I'm close to, or if it's myself, often I will ask about and validate associated feelings with the hope but not the expectation that it loosens whatever strongly held stance a little bit. People are a lot less rigid in their thinking when they know that they've been heard both intellectually and emotionally. Most of the time this approach won't actually change anything, but once in a while you'll get to witness a miracle.
Yet another good point re: disinterest in an argument being a potential third poison. I can see how detached engagement at least gives you an opportunity to have your voice be heard without the angst of fully-attached engagement. I think I have a tendency to walk away from arguments with unreasonable people, which seems like a good thing at first but is probably suboptimal from a professional standpoint. Thanks again, friend.
Great points. Permit me to expand on them slightly.
To some people, myself included, frank honesty is respectful. I could be alone here, but I can find passive-aggressiveness, needless euphemisms, and the like to be patronizing. Treating me with kid gloves is like saying, "I have an opinion, but I don't think you are emotionally mature enough to handle it in its raw form."
It's important for "jerks" to be conscious of how their behavior affects their relationships with coworkers. But it's equally important for "nice" people to do the same.
But also, I have encountered several people who considered themselves to be just honest all the while implying that the person they tried to help was stupid and beneath them, lazy and so on. If there is no close relationship between the two it will lead to misunderstandings and a very bad work environment very soon.
It's impossible (for most of us) to switch this context-reading off, therefore be very careful to use neutral language and emphasize what is not implied if it could be understood that way (unless you do try to tell the person they're stupid - of course you shouldn't lie).
I've had a team break up over this. One teammember used languange he thought was just honest, but managed to insult and demotivate everyone else by making them feel ignorant in everything they did.
TL;DR: It's good to be open and honest, but make sure subtext is not negative (you cannot have no subtext); unless maybe the person you're talking to knows you respect them anyway.
but you don't have the ability to control the other person's perceptions or references, and so you don't have control over subtexts. The BETTER solution is to just be honest, factually and emotionally. If you need to establish that you respect someone anyways (and you should, if they deserve it), you do that contextually outside of the sub-argument where you're 'being brutal', ideally, before, and after, and if there's an emotional misunderstanding, you work to fix it retrospectively. And part of this is, you probably shouldn't be 100% negative in all of your interactions (unless the project truly deserves no accolades) - if you do give out strong accolades when they are due, that is an equal part of being brutally honest.
> but you don't have the ability to control the other person's perceptions or references, and so you don't have control over subtexts.
Ah, within reason, you do, especially when people are as rational as we all aspire to be. Those people-skills books people recommend around here tell you how.
I agree with the rest of your post though, just, you can only fix so many emotional misunderstandings before the general atmosphere goes south. Sidestepping and ignoring several insults every time you try to discuss a problem becomes very unnerving after a while. Thing is, those people usually don't notice they're doing it. When you treat them the same way you feel they treat you, they feel hurt. Well, bad months, I should stop here.
My problem with this is that we often take what's easy and make it into a virtue. It is easy for us (esp. developers) to take the easy way out and decide that one must act the same no matter the context.
The truth is that your audience matters. Outcomes matter. Did the people in the room hear your message in a way that is going to move them closer to fixing the problem? No? Then you lost. (And your brutal honesty is just going to sound like complaining or anticipatory ass-covering.)
There are some organizations and people that are immune to criticism no matter the form. There are many other organizations and people that will accept criticism if it's phrased correctly for the context.
I prefer a more tactful style myself, but i would have to agree that a lot of perceived "jerkiness" is really an expression of misplaced respect.
I have known programmers who are brutally honest, but they do it because in their mind that is how adults talk to each other and this is how they wish to be treated themselves. Being 'tactful' in their mind is the equivalent of treating the other person like a child, and inherently disrespectful. I can see that point of view even if i don't think it is productive.
And then i have known programmers who are just bullies and mean. The difference is that they bittercoat things, making them sound deliberately worse, and they push people down so they can feel smug. That is not ok.
even bittercoating things is not necessarily bad. Sometimes it's good to take a pessimistic attitude and come out being pleasantly surprised, if you're the type of person who sees it as a challenge and not a discouragement. The litmus test is when the bittercoated thing turns out to work, does the person who delivered the skepticism come forward and congratulate you on a job well done?
It's been my experience that putting a really negative person on a team is like handing that team an anchor. Either the team starts to ignore and isolate them or their attitude wears everyone down and the rest of the team stops trying. I've seen successful negative people whose jobs allowed them to go off and do their own thing, but I've never seen them thrive on a team unless their attitude changed.
well, I should have qualified that I don't mean that you should be negative all the time. Because you exhibit a lack of judgement if you can't identify good things, just as much as you exhibit a lack of judgement if you can't identify mistakes and vocalize it vociferously.
Wrong. Tact, compassion, and honesty are not in any way incompatible.
And no, people who think they are being "brutally honest" while forgetting compassion or even basic fucking manners are not doing so with others' best interests at heart.
They are just being assholes. There are bonafide reasons for that behavior, and they deserve a measure of compassion themselves while receiving that message, but don't try gilding the orifice's behavior.
Correct. I'm sick of the "I am just being honest" defense. There is a large margin between being honest and being an asshole.
Question: "Do you think I should rewrite this code?"
Honest answer: "Yes, definitely. You've made some mistakes that will make this impossible to maintain, such as...".
Asshole answer: "Yeah, this code looks like shit".
As the author noted, this tendency is symptomatic of people with high intelligence, but questionably intact egos. I left Mensa because I was tired of all the petty bickering resulting from people "being honest" about their opinions; if I had a nickel for every time someone was called a "moron" for stating their political leaning...ugh.
lol...nice catch. When I received my acceptance letter, I had to call them to see if I was actually a member; they had sent me someone else's test results. Nobody is above looking like a dumbass from time to time, either. =)
Being "Brutally Honest" while combining that with tact is a rare communication skill that is an essential part of interacting in polite company. Having that skill and developing it has done more for the effectiveness of my teams than any other skill I have ever developed.
If you work in software development for a decade or more in a corporate environment, you will encounter a surprising number of stakeholders who would like for the software project you're doing to fail, and will do everything they can get away with to make it fail. I did ERP implementations of Oracle ERP and SAP for many years, and saw this often. This can happen when the system you are replacing has the developer who wrote it (or a set of close allies) working on the transition project, which happens often when there is a system originally written by an in house IT team being replaced by third party software. It can happen when certain in house people did not want to replace the system, or for whatever reason predicted the new system would not be good-- people want their prophecies to come true, and they want to be consistent, so it can be difficult or impossible to convince them the system is good.
There can be bad people, and not just programmers, involved in any business enterprise. I try to look out for them and see what's coming when they want to sink a project I am on. I have also found that there are plenty of people who will not acknowledge the simple truth that I am talking about. They will say, "that is insane; how could any actual stakeholder want to see the project fail?" The answer involves looking at the various definitions of evil, which is a fascinating exercise. Sometimes people want to see harm come to others for various reasons, and that is the real world, sometimes.
I've seen a similar thing in projects that are in trouble: the relevant manager demotes the person responsible for the failure but leaves them on the project. Only your failure can validate their failure. In your examples, if their ERP software is being replaced, I suspect it's hard not to see it being declared a failure.
Another thing I've heard about what some called the "Procrustean bed" of SAP is that it can get terrifically resisted by stakeholders because it insists on rational business processes, and plenty of companies aren't run very rationally.
My family saw that while computerizing one doctor's office in 1980: after the data entry was done, the printer would just not stop in the first accounts receivable cycle. Turned out the office workers sent out a fixed number of bills per month (something like 200?), no matter how many actually needed to be sent. They didn't totally understand what was happening, but they knew "the computer would tell all".
Sounds like a dozen things I've seen! The people using a system can make that system fail if they want, and it happens so often. I wrote software for printing press operators that lined up what jobs they should do based in minimizing how many times they need to change ink colors in their presses, and other optimizing factors. They made the system fail hard, because they'd been printing for generations without a computer telling them what to do. So they'd tell the computer they had completed jobs when they hadn't, and when the job queue was empty, they'd proceed to print whatever they wanted. The chaos this caused with the data they then pointed to as an indication that the system does not work.
That and a dozen other things like it taught me the importance of making sure the users at the lowest level are really on board. If they want it to fail, you're better off solving that problem, because delivering a working system won't be enough: the people are part of the system.
I recognize that it's up to the managers to straighten these issues out, but they are people too, and often have their own agenda not perfectly aligned with the success of the project.
Indeed. My family's doctor's offices computerization effort succeeded because they got buy-in from all the other ones, this was going to make life easier (without I believe any layoffs, there was still plenty of work to be done including envelope stuffing and the system enabled better scheduling and less inadvertent doctor downtime).
In the one recalcitrant office the workers never got a chance to really sabotage the effort, since temps did the big block of one time data entry and specialists set up everything. Because the conversion revealed they were in the process of making the office fail due to laziness they were sacked and not in a position to sabotage the system afterwords.
As has been mentioned already in this thread, jerks are in every profession. But after being a software developer for many years and being exposed to other industries both directly and from hearing about it from third parties, the jerkiness in software development is much more palatable to me (though I'm a software developer, so go figure).
In a lot of fields people will be very polite to your face while stabbing you in the back and turning the knife. In software the jerks are generally very upfront, showing far less "people skills" but at least showing you their cards. And while I like to think I've never been a jerk (you'd have to ask people who worked with me to be sure), I've noticed there tend to be two classes of jerks in software development and it may be important for you to try to recognize the distinction.
The first kind of jerk is the grumpy old coder who shoots down your idea to use the latest wiz-bang tech to rewrite your entire project for the next release. This guy has very little people skills and may not do a great job of explaining his position, so he seems to just be shooting you down for no reason. THIS GUY IS PROBABLY RIGHT, though. And his jerkiness comes from years of battle scars.
The second kind of jerk is the cocky (usually younger) developer who is sure he is right about every decision despite having limited real world experience. At first blush he looks like the other kind of jerk (except that he's probably younger). THIS GUY IS PROBABLY WRONG. And his jerkiness comes from a lack of real-world experience combined with an over-inflated sense of confidence coming out of the school years where he was the smartest guy in his school, but mixed with unacknowledged self doubt. Sometimes this kind of jerk grows up to be the first kind of jerk, but sometimes they remain the second kind of jerk.
Oh please stereotype much? Grumpy old coders want a way to do their job as easily as possible -- which is good. However it becomes bad when they refused to learn new (community accepted) ways of doing things that are either REQUIRED or lead to efficiency down the road.
I'm a young manager that has older coders and I defer to their wisdom 90% of the time. The other 10% I prod them to explore some of those 'wiz-bang' solutions to discover something that they hadn't thought of before.
I gave two stereotypes, yes, and anyone reading what I wrote should be aware that those are stereotypes and not always or exactly applicable, but I didn't write the original article and if anything I'm breaking up the more general stereotype they gave of "software developers are jerks", though into only two other stereotypes. I also meant to imply there is also a third class, which is developers who just aren't jerks at all. You can be a software developer and have social skills, I've worked with many of these people. Only about 35% of the people I've worked with were actually jerks.
To be clear, I don't think anyone should be a jerk, not even the people who are right when they are being jerks. But given the choice between someone who is going to be a jerk to me upfront in a meeting where I can rebut their arguments if I choose to do so, and someone who will nod and smile to my face and then talk shit behind my back to other coworkers and rally political forces against me, I'll take the first type of jerk any day, and those kinds of jerks are far more common than the other kind when it comes to actual software developers, in my experience.
> However it becomes bad when they refused to learn new (community accepted) ways of doing things that are either REQUIRED or lead to efficiency down the road.
I totally agree, which is why I'm 40 and I know JavaScript very well and I'm familiar with a lot of new frameworks using the language and write a fair amount of JavaScript despite the fact that I think it is a terrible language. And on the flip side of that, my absolute favorite language to code in today is Go, which is very "new" by programming language standards.
> I'm a young manager that has older coders and I defer to their wisdom 90% of the time.
Aren't we mostly agreeing then? I said that guy is "probably right", not "right". 90% is much higher than what I would normally consider "probably".
Strong opinions, weakly held. Be vocal if you think you have a case or don't understand. Stay professional, don't make it personal and you should be ok.
The only category you seem to recognize is whether or not someone has real-world experience. There are legitimately negative people in this field who hurt others at their own expense, or for no reason, every day. This isn't about being nicey-nice when dismissing a bad idea.
It isn't a saving grace if someone bullies you 'upfront' on a daily basis - or if they (like you and almost every man in this industry) assume they are right and have more real-world experience and are geniuses.
I've been wondering how the "everyone is special" and "everyone wins!" trends that people have been teaching their children would manifest. This looks like a good example.
If you do anything that other people will see, some of them will criticize you. That's just life and not necessarily a bad thing. There isn't enough room for everyone to be special and winners. In order for someone to win someone else has to lose. So develop a thick skin. You are not your work. If someone is criticizing you instead of your work, then you learn to ignore them. They just want to be mean. If people are criticizing your work then you learn to pick out the real critiques so you can improve the next one.
And we introspect on why there are not many women in this industry.
I guess women should all just get a thick skin and stop thinking they are special. Because any abuse they might perceive is illusory, and their bullies are actually superior in knowledge and are justified in acting like jerks whenever they feel like it. After all, this is a meritocracy, how could it be otherwise? Whatever you get, you deserved.
What do women have to do with my comment? My comment wasn't even about our industry, it's about creating works that other people will see. This applies to men and women equally.
I don't know where you get this sexist notion that women are delicate flowers who can't handle criticism, disagreement, or personality conflict in the workplace.
Here's the thing with thick skin. Some people are, from a demonstrative physiological perspective [1], more sensitive than others. Telling people to "just develop a thick skin" is like telling a color-blind person to "just start differentiating colors better". Easy advice to give, totally useless.
This is precisely why I went into programming in the first place. A computer doesn't have feelings. It doesn't lie to me, I don't have to lie to it. It will do exactly what I ask it to do without fail, though I regularly ask it to do the wrong thing. They are completely and totally predictable.
People, on the other hand are emotional and mostly stupid (even the smart ones). They are going to lie to you, even if unintentionally, and you're required to lie to them in return. The person you're meeting might have had their family pet die last night and will react to you in completely irrational ways.
It's no wonder why when your job is to deal primarily with emotionless computers all day that it's tricky to then context switch back to lying and walking on eggshells.
I wish I could upvote this statement more. It is difficult to transition from an environment of honesty and truth then into an environment where lies and deceit are the common denominator of communication.
There's actually a method that works quite well in dealing with these "jerks." Ironically, it's the same tactic that men need to effectively communicate well with women.
Here's the secret: acknowledge them. Acknowledgement doesn't mean you smile and nod nor does it involve using the sentence structure ..., but... Try to understand their perspective and communicate through that perspective. Instead of asking others to see your perspective, it's much easier to do the reverse. Most arguments and personal qualification of someone being a jerk has to do with communicating from 2 different perspectives with neither side willing to take some time to understand the other perspective.
Most devs are fairly logical creatures. Understanding their perspective shouldn't be hard. However, it does take a bit of practice. If you can't understand where they are coming from, just ask more questions.
And some devs have the idea that they are Better Than You, no matter what your skill level or expertise. I'm a web dev and worked on a project recently with a lead who had just enough experience with web dev of the 90's to be dangerous. For example, he fought with me repeatedly about md5 being good enough for password hashing, while I wanted to use bcrypt (or at the very least, SHA1, even though it's almost as bad as md5). It took weeks before he relented, and only after I sent him several articles about how broken md5 is. In the end we wound up removing encryption entirely because it made his deployment process harder.
It sounds like you cared more about being right than from seeing it from his perspective. Even if you ARE right (keep in mind that right is often incredibly subjective), it's far more important to understand why someone is taking the "wrong" stance. Now, I'm sure you felt quite a bit of frustration over this and possibly other arguments. I'm not trying to dismiss your feelings, but once you understand someone's perspective, you can often turn an "asshole" into a colleague you can work well with. Believe it or not, being "right" all the time doesn't actually garner respect as much as being able to work well with others.
Whilst I agree you should always try and see things from the other person's perspective, and that this method often works well, I do think some people - some select individuals are beyond reaching.
Like an old manager of mine who told one of my team members in her review, "I'm not giving you a pay rise, but it's not because you're black." I mean, what can you say to that? She was in tears. The guy was so self-centered he didn't even realise that the things he said might cause offence.
Could it be that he didn't care more about being right, but rather didn't want his name attached to a project using deprecated crypto standards? Or that he genuinely cared about his customer's data security and privacy?
To me, he sounds like someone who's very defensive about a topic at work because of the conflict involved. And until I have reason to believe otherwise, I'll assume it's because of one of the two reasons I mentioned above (or both).
You have to be careful, though. If you let them control the frame you will never talk about what you actually want to talk about. Commandeering the structure of the conversation can be just as counterproductive as outright rudeness or hostility. Always be aware of the frame -- control the frame and you control the conversation. In business, in politics, in life.
As someone who manage people in the software world, who created his business from zero coding himself alone for years, I disagree.
I had to fight a lot indifference when I started, now it is the opposite problem, when I say something to people in my team, some of them smarter than me they believe it too much, like I was God or something. The same happens with your product, people trust your reputation.
"Jerk" is such a victim mentality word, in my opinion, when you want to create something that is new, people can't see it like you do. It is as simple as that. Now when you make it and success everybody says that from the first day they believed in you(not true) and after you make some repeated successes they continue not seeing it but they trust you.
The fact is that talking is cheap, and some new developer has no reputation at all, so you will have to prove with code that you can walk your talk.
I have found that the more loudmouth and jerk-like the person is, the more they are covering up the realization that what they have/do is not all that unique, significant, or otherwise difficult yet rather comfortable and lucrative. Thus, they feel compelled to loud mouth barking and posturing to protect their bone. It's probably the same kind of mentality of a dog that snarls at his owner that just put down a bowl of food.
Off of the main topic: I explicitly worked with my dogs when they were puppies to avoid this 'mentality'.
The first big thing is that they are expected to be well behaved while I slowly put their food bowl down. If there is a hint of growl or lunging, the food bowl comes back up again and only when they have restrained themselves does the bowl start to go down again - and slower than before. My dogs are seniors now, but they 'understand' that he who giveth the food can - and will - taketh the food if they give me any grief.
The second big thing is that they are expected to give up whatever is in their mouth on command. This requires ongoing training, and also started when they were wee-little pups. They understand that if I put my hand out palm-up, or grip what is in their mouth, and tell them to "release" they are going to loose whatever is in their mouth. If they give it up without a scene, then they get it back in a few moments. If they make a scene, or I have to pry it from their jaws, then they may not get it back. This has helped in situations when they managed to get something they shouldn't have (e.g., a dropped grape).
If a dog snarls at their owner then that's a badly trained dog. I recommend this book if you have a badly behaved dog [1], or any dog good or bad actually.
That's why they tend to have to learn the hard way, with consistent negative enforcement. Positive reinforcement is nice, but it's not always an option.
I had my best friend kill himself on May 31, 1999 when he couldn't find a job and unemployment was running out. He was the best C++ programmer that I knew at the time. He worked at a Startup called Polygon that was mismanaged and abused their employees and then fired them all.
I did all I could to help him find a job, but nobody wanted to take a chance and hire him.
I had many friends I made working IT jobs end up killing themselves because they couldn't find work. Mostly Generation-Xers.
I got suicidal myself sometimes over how management had abused me and treated me. They didn't seem to think I was a human being, just some subhuman third class person they could treat like dirt. Had I worked at a company that treated me a different way I would not have gotten sick and ended up on disability from the stress.
I think its a bit much to say that people being assholes is the dark side that no one talks about. Truthfully, there aren't a lot of dark sides to software that no one talks about. The dark sides I can think of off the top of my head: misogyny; we consider ourselves successful if we put entire industries out of work; ageism; classism; the myth of the meritocracy; neoliberalism; creation of a private surveillance society; overly dramatic HN headlines; probably more I'll think of in the next five minutes.
The thing is, all of these, with the exception of that last one, are talked about quite a bit.
This was worse in the 1990's during when the Dotcom bubble burst. People we worked with were mean to use because 'programmers are a dime a dozen, we get 500+ resumes a week for your job and can easily find someone to replace you who can work for a lower salary.' Mentality that management had towards us programmers.
It is odd that management claims there is a lack of qualified programmers out there when so many programmers are out of work and qualified. Me, I am told I am overqualified by companies begging the US government to raise the H1B Visa cap because there are not enough qualified programmers to hire. It is a form of bullying and a slap in the face of anyone qualified who wants to earn a decent wage and benefits but is called overqualified because of past salaries they had earned.
Working in an IT department other employees can abuse you, call you names, even physically attack you, and you cannot do anything about it. If you complain to your manager they write you up for 'communication problems'. The average non-IT employee cannot tell the difference between a Microsoft Windows bug or a bug in the custom software that is written and thinks you can fix a bug with Windows or Office, etc. When you tell them you don't have the source code to Windows or Office, they get mad at you. Management tells IT workers to lie to the other employees and tell them you are working on fixing Windows and Office bugs, which is basically lying.
Seems like you don't see as many blog posts or thought pieces about it as opposed to other cultural issues in the industry, like gender imbalances or "startup culture" minutiae.
Perhaps a more apt quote would be from Marcus Aurelius's Meditations:
"The people I deal with today will be meddling, ungrateful, arrogant, dishonest, jealous, and surly. They are like this because they can’t tell good from evil."
"We work in a sort of strange field where intelligence and ability are highly prized, but some of these same qualities made some of us victims of aggression and abuse earlier in life."
You USA-nians really have to work on changing your high school culture. Statements like this are so frequent yet so foreign to me... why is aggression and abuse frequent? Why is it tolerated? Why is it aimed towards those with "intelligence and ability"? Why don't you work on changing your society once you grow up? women rights, end of racial segregation, etc. prove that you can change the society you live in in a relatively short period of time. Why you all complain but don't try to change it?
I feel extremely lucky that I've never had to deal with developers like that. Of course, I just assume everyone is smarter than I am [a pretty safe assumption usually!]. I try not to get to attached "my way" and I genuinely care about and consider my colleagues viewpoints. Call it "ego-less programming" if you will. I generally work in situations where my teammates have complementary skill sets so perhaps that lack of overlap helps reduce potential conflicts.
I did have a bad boss once at my first programming job - back in 1987...
> I’m actually working on a much bigger project to distill some of these specific software developer career tips into a bigger package.
Anyway, he's making general and simplistic arguments for whatever reason. Programmers have strong opinions and will argue them vigorously. I agree with Socrates “When the debate is lost, slander becomes the tool of the loser” and we should all not tolerate that, but while the argument is going on, if you can't join in and make yours don't blame the community for being intolerant.
Just commenting to say, that in our profession WITHOUT licensure there is not other way to really prove that we're competent except for our reputation.
This leads to big egos and constantly trying to make your self look better no matter what.
If we were a licensed profession like medicine where you have a third party proof of your competence and you weren't constantly trying to guard your reputation, I bet you that it would lighten people up a lot.
Not in my experience. That just lends itself to a lot of protectionism and equally inflated egos (and the piece of paper to prove you earned it.) In fact, only academia tops medicine for inflated egos and self-aggrandizing behavior in my book.
Ego is not so much the problem, it's that the computer industry is way more cutthroat.
Doctor's and Academic's ego's come from having to maintain the same reputation that a computer person has to maintain.
However, it's worse for the computer monkeys because we have the same level of intellectual capital to master yet we have no license to protect our years of knowledge which makes the industry way more cutthroat and step on your buddy to get ahead in my opinion.
Man, I just totally disagree with all of that. I wrote medical software for most of my career, except for a brief stint as a pre-med student, and the level of narcissism I found in medical doctors far exceeded anything I came across in technical circles (not counting some percentage of founders). My girlfriend is in academia, and a similar trend prevails there. Contrast this with wanton disdain for credentials in much of the tech community coupled with a great deal of willingness to help each other out. Maybe I'm just blessed to live in a town like Austin, but this industry is anything but cutthroat on technical merits.
For "life and death" doctors, which I'd include eye people, it's in part a defense mechanism. They know some day, if not already, they're going to make a mistake that will kill a patient, and they've got to be able to accept that and carry on.
One of the reasons I dropped that as a possible career, and one reason I like software and systems, for with a modicum of care you can recover from most mistakes.
This research looked at the relationship between empathy and technical work among IT workers. For both women and men, less technical work (i.e. public oriented) tended to have those people with more capacity for empathy. For women, there was a small decline in empathy as the researchers moved towards purely technical work. However, this drop in empathy was far, far sharper for men.
Take your own conclusions about this, including its relation to the presence (or lack thereof) of women in IT.
This post should be titled, 'The Dark Side of Work That No Ones Talks About'. Having worked in the accounting / tax field for years, before switching over to programming, I fail to see how these generalized statements don't apply to other fields. It applies to work in general.
I agree with this post in general. I am currently working on a project by myself, and have been for the last 4 years. I am getting a bit bored, I don't want to stagnate and I can sort of see the need to get back to working with a team. I have been contemplating this for ~18 months, however I dread the thought of it because I know it is almost certain I will end up working with at least one passive aggressive, insecure, egotistical fuckwit that will drive me to look for another project anyway.
I have worked on 13 project teams in the last 20 years. Every single team that has had more than 3 people has contained at least one whacko that has made life miserable for everyone else.
I thought the article was interesting and the eventual conclusion good, but really didn't like the sentiment to "have thicker skin" and to basically just "suck it up" if someone is being mean to you. (He doesn't use those words, but that what he's saying.)
That part seems like victim blaming to me. If people are mean to you without reason, you shouldn't put up with it. You should tell someone. Maybe they're approachable and you can confront them directly, or maybe not. But you absolutely should not get used to it or just accept it. You should do something about it.
I don't have a reference handy, but it's been shown that people are fundamentally ambivalent about creativity. Everybody agrees that creativity is a good thing, but when it comes down to judging a creative idea, most people will be negative. The reason being that creativity necessarily involves uncertainty, which is discomforting.
I say this because the things the author mention aren't exclusive to software development. I do buy that software developers have less people skill on average in dismissing creativity than some professions (say PR) though.
I've worked in a few industries, and software developers (plus the associated designers, project managers, etc) have been some of the most fun to work with.
I have seen more of people being nice when they shouldn't. Perhaps on balance that's a better work environment, but I really don't like seeing subpar or even downright crappy work being overlooked because it would be mean to point out that it's crappy. The world is full of jerks. Being jerks is their problem, not yours. That's how I feel about it, anyway. Jerks don't hurt me, they hurt themselves.
One may, but that wouldn't be "nice", which is what I was talking about. Being able to critique something without being rude is certainly important for professionals, though.
It's part of life, you can't expect everyone to like you. It also depends on what kind of people you work with. You will have your ups and downs in life this is true for any field of work not just software development.
I think the main reason this happens in Software development is that people have big egos and consider themselves more intelligent than others.
> Chances are if you are doing something unique or you propose a new idea, you’ll have more critics than supporters.
In my experience, it's not fellow developers who have issues with new (better) ways of doing things -- it's the non-technical management types who see disruption solely in terms of the effect on office politics.
I negotiate on mutual goals, and how to achieve them. I also do my best to leave no room for egos. It does cut out a lot of people. But they tend to be the people you really don't want to be dealing with anyways. Egos cloud judgment and lead to more mistakes which is exactly what I want to avoid when I'm trying to achieve goals.
I think it has more to do with the prison-syndrome of being forced into a social situation with people you don't like--much like we do to children in schools--than it does to this concept of paying-forward nastiness applied to them. Programmers are a diverse group of people, they aren't all nerds who got picked on in school.
The underlying theme in this post, from what I gather, is "Male programmers are often treated poorly by their peers, so female programmers should have nothing to complain about when they are treated poorly."
This is denial of the very real sexism in our industry.
That is nowhere in the article, not even between the lines, outside the lines, generally implied by the curvature of the lines or audible if played backwards and slowed down by a factor of 10.
Don't agree with the blog's author though, arseholes being arseholes is a general fact of life and there's no special link between them and programming.
I imagine out there someplace is a group of developers who are positive, supporting of each other, who check each others work without vile, and who want to see each other succeed... but in my limited experience I have never seen it.
This post really resonated with me. Software development is a second career for me, and I wasn't prepared for the aggressive way that many programmers try to prove that they're smarter than you.
a lot of people not only software developer are jerks.
But i have a tip for you:
If you can ignore them!
If you can just don't listen,speak or do anything with them.
if you must listen to them get a job somewhere else!
People are mean and jerks are everywhere. Perhaps somehow society has convinced us otherwise, but there are a lot of terrible people out there.
A lot of people do evil things, a lot of people hurt other people. This is not new and it's not a secret, people for whatever reason are more oblivious to it than they should be or perhaps people are so accepting of inappropriate behavior in our entertainment mediums that we are desensitized to it until it happens to us. I really don't know for sure.
What I do know is not everybody deserves a say in everything. Sometimes people are wrong, or are trolling, or just have no place in the conversation. The right thing to do is to remove those people from the conversation if they aren't being constructive.