Ask HN: Why are programmers so unfriendly?

7 points by acidfreaks ↗ HN
I've noticed several times that the programmers are unfriendly, grumpy and with a lot of attitude. If you ask them something related to programming in a community, all they will do is fight with other programmers on frameworks, programming languages, skills etc etc I'm not including the whole programming community as if every programmer on earth is like that, Of course I have seen some good programmers as well. But why most of the programmers are so unfriendly towards new coders?

15 comments

[ 3.2 ms ] story [ 43.9 ms ] thread
It takes a special kind of project member persona to handhold a newcomer from the "asking questions phase" of wanting to be a programmer, to the "seeking answers for themselves" stage of being a programmer and if you're lucky you'll have a member of your project that excels at handholding a new user all the way up to the "gives answers to newcomers" stage, thus completing the unicorn life cycle. But these are rare and in only one instance have I actually meet such a member of a project.
People are people. The obnoxious ones stand out more.

This is also a field where poor quality work can put sensitive information at risk or cost others their jobs. If someone is writing production code carelessly, I think it's OK to be firm (but not personal) about what needs to happen next.

If someone is being rude in a learning environment, it's just ego, competition, and/or poor social adjustment.

It all started in the 1980s and personal computers. Boys who were nerds and socially inept got personal computers from their parents as something to learn with. Before that it was mostly women who got into programming. http://www.npr.org/sections/money/2014/10/21/357629765/when-...

The problem is when you are socially inept. Or rather lack social and people skills. You don't tend to be as friendly with other people who ask questions etc. Now not every programmer is socially inept. Just that some programmers have a high level of intelligence at the sacrifice of social and people skills.

For example during the BBS era there was a series of computer wars between platforms and debates. In modern times it is war between frameworks and programming languages.

No, not every programmer is like that. Programming is stressful at times, and it depends on how well you handle the stress. Sometimes the stress makes programmers angry and snap at people asking them questions because they feel they should have read the manual or documentation or used a help file or something instead of asking them something they could have looked up.

Me I was always glad to help others out as a programmer. I didn't have much in social skills and people skills and I was a nerd, but I always tried to answer questions in a friendly manner. I saw other programmers who did not and it did not go well for them so I adapted. I mentored others how to program.

Most of the programmers are unfriendly towards new coders because they are competition, and they are not at the level of the programmer yet. It is called biting the noob, and you find it on Internet Forums on programming. Noob being new coder or new person. It is just that they have been a programmer for X amount of years, and some new coder comes along and wants to learn what took them X years to learn. It is a process of trial and error, and learning from your mistakes. At first you will write sloppy code and learn how to write better code later.

You find the same thing from people who are experts at Linux and the new Linux user asks them questions, and they tell them to read the manual or man pages.

Are you a male or a female?

Were the negative experiences mainly with males or females?

Are you yourself a developer? (vs a product manager etc)

What skill level are you at? (Intermediate, Proficient etc)

Is this in the US?

Unfortunately, sexism is a fact in the tech industry.... and maybe more-so in the initial mentoring stages ...

I'm a male and have had good mentoring experiences.

Unfriendly towards new programmers? I don't see it.

This is one of the more open and accepting fields of work I can think of.

We have regular meetups where an absolute newbie can meet a very public figure in the community and have a conversation.

We have tutorials all over the internet for anyone. Guides, helpful libraries, etc.

Regardless of age, gender, religion or financial status, programmers welcome you to the community with open arms.

The problem is programmers happen to care a lot about what they do, and that manifests itself in taking a very passionate stance on what seems like trivialities to a passerby.

Take for instance spaces versus tabs for indentation. Pretty inconsequential, right? Visually it looks the same so what's the big deal?

A more experienced programmer can tell you exactly why spaces are better from personal experience. Usually coupled with much emotion too.

It just looks unfriendly / grumpy when she's arguing the merits of spaces over tabs, but I can promise you that it's not her intent to discourage people from programming.

The end goal is always more (and better) programmers. We just have a silly way of unconsciously sabotaging that effort.

> A more experienced programmer can tell you exactly why spaces are better

You're getting in dangerous territory there m8. TABS ftw

Except no editor supports them correctly. Good luck with trying to keep tabs for indentation and spaces for alignment -- at the beginning of the same line.
> Except no editor supports them correctly

I use Acme, an editor that supports them correctly.

And how does it work with this?

  while (keep_going) {
    my_value = function(argument1, argument2, some_module.CONSTANT,
                        some_module.CONSTANT2)
    // ...
  }
Because there is one indent and twenty spaces, and those can't be converted to tabs, since it would break code alignment.
It would say "that's horrible style, keep them all on one line, thanks"

I use proportional fonts so playing games like that is unlikely to get the results one wants.

And I would say "not breaking your lines to fit in 80 columns is horrible style".

Also, proportional fonts are very rare choice for code. You're the first person I've ever heard to use them this way.

I take it that, all in all, Acme doesn't work with tabs correctly for indentation/alignment, the same as the rest of the editors.

The plan9 team use proportional. Plan9 too the decision to drop support of the punch card derived TTY. Once you free yourself from 80 columns you can forget about it. There is no indentation/alignment dichotomy.

Russ Cox, Rob Pike - Acme users

Here's a picture of Dennis Ritchie using it

http://nl.pcmweb.s3-eu-west-1.amazonaws.com/sites/default/fi...

Precisely 80 columns may be derived from TTY, but the range 80 was chosen from is not. It's around the limit of a line human can easily comprehend in one look. If you make it 160 (easily doable), then the line gets too wide to read.

Guess why articles in newspapers were typically organized in several narrow columns instead of spanning throughout the whole page, even when the article was several pages long?

And once you forget about the ridiculous idea of having few lines as wide as the whole screen, so there is a small vertical area on the left with almost all the code, while two thirds of the screen is wasted (or so you need to scroll horizontally, which is equally bad), suddenly using proportional fonts goes awry, as you need the alignment, which is a separate thing from indentation.

With a tiling window manager, the window is not the width of the screen.

Acme has no horizontal scrolling.

  while (keep_going) {
  <tab>my_value = function(argument1, argument2, some_module.CONSTANT,
  <tab>                    some_module.CONSTANT2)
  <tab>// ...
  }