
Software Developers’ Growing Elitism Problem - LukeB_UK
http://techcrunch.com/2015/11/27/software-developers-growing-elitism-problem/
======
akiselev
What a clickbait, provocative article with nothing beyond a single anecdote,
not even a second one other than the generic "you've never written assembly so
you're not a programmer" comment. Seriously has anyone heard a programmer say
this in the last 10 years?

Elitism exists everywhere and I don't see how software development is any
better or worse than the rest. We have an arrogant vocal minority just like
everyone else, it just so happens they are the people for whom blogging and
displaying their arrogance has a lower barrier to entry than for other groups.

 _》 Coding academies have opened new doors for people with a variety of
backgrounds, many who couldn’t afford a more traditional four-year computer
science degree, or may have been steered clear of a technical degree in
college (or younger) due to societal pressures or family culture, just to name
a couple._

 _BAM._ 'nuff said. Why bring elitism into this?

~~~
LukeB_UK
Almost every time a PHP or JavaScript project is brought up here, the fact
that it's written in PHP or JavaScript is always used to negatively comment on
the project and author. Just because someone doesn't like a language, they see
fit to demean the author.

Edit: Even better, someone has already done that in the comments here on HN
for this article:
[https://news.ycombinator.com/item?id=10637947](https://news.ycombinator.com/item?id=10637947)

~~~
akiselev
You're commiting the same exact mistake the article is. This is the vocal
minority who is, you know, _vocal_ and unrepresentative of all software
developers, the majority of whom have little to say about the religious
battles on online forums and don't give a damn about programming except to
feed their families.

If you want an example of a real problem of elitism go look at the metastudies
on narcissism, which talk about how the selection process for surgeons (brain
surgeons especially) tends to select for egomaniacs and results in a very
politically charged industry.

~~~
TeMPOraL
> _at the metastudies on narcissism, which talk about how the selection
> process for surgeons (brain surgeons especially) tends to select for
> egomaniacs and results in a very politically charged industry_

Are there any surprising findings there, or is it just what you could
reasonably expect after putting people through 10+ years of life-sucking
training, deep in debt, to work on _the_ most complicated thing humans ever
had to deal with - but under time pressure and tremendous emotional load?

~~~
akiselev
Not really. Doctors are part of a very science/research heavy industry so most
of the serious research is focused on them but the relatively few sources
available on lawyers have the same conclusions about competitive, economic,
and intellectual incentives selecting for a very narrow class of people. The
really interesting part comes when you expand your outlook beyond the Western
research world (which very few metastudies in psychology do, unfortunately)
where these results aren't always so clear cut. It appears that a culture such
as the one in India or Cuba, which heavily emphasizes education in family
life, can have turn a lot of that arrogance into humility.

------
Amezarak
> But they’re solving a very real and important problem, and they’ll get
> better at it.

Yes. The "very real and important problem" is not what we're supposed to think
it is - diversity - but it is real nonetheless. The "very real and important
problem" is that capital hates high labor costs, and needs to find a way to
slow or stop the rise in developer salaries.

All these articles about the terrible, terrible shortage of developers, about
the importance of diversity in tech, about the necessity of lifting
immigration restrictions, about how we need need need more developers in
software engineering programs right now, about how actually screw it, just
more developers in boot camps would be good enough - it's fundamentally not
about any of those things, it's about how capital can control labor costs.
It's about how to make software developers a) cheap b) plentiful and c)
interchangeable.

And now you understand why articles breathless about developer elitism and
coding academies and articles that discuss ageism in tech are almost without
exception disparate sets. Older developers ask (or are expected to ask) for
more money.

This is no surprise; this kind of behavior was well-known and documented even
as far back as Adam Smith. But it is always disappointing to see how much of
the apologia is supported by tech workers themselves. Or at best, we accept
the framing of the problem and then argue about whether developers are
actually elitist or not, and about whether people who graduate from code
academies are good developers.

~~~
npsimons
> But it is always disappointing to see how much of the apologia is supported
> by tech workers themselves.

It's insane how quickly we forget history, even our own internal history, in
this industry. Just as a small unrelated example, take the monopolistic cases
of IBM, followed by Microsoft, followed by Apple. I've often wondered if it's
a cost of the rapid pace of development of technological power, or just that
the industry is still so (relatively) young.

------
dpweb
Part of the elitism is just immaturity and childishness. It's a field
dominated by younger people and with that comes some childish benavior. Not
all young people, but overall you get more of it.

However, people do need to respect the craft.

The demand for skills is massive, and so now everyone should learn to code.
You don't become an expert from taking a 6-week bootcamp. It's a profession.
You study the field. It takes years to master.

For those who actually care about the craft, there's no condescension toward
someone starting out - but let's not pretend the bootcamp grad is already
deeply skilled.

------
crdoconnor
There's a certain degree of irony in a man who pens an article to complain
about elitism in his industry who bakes his social climbing right into his
title ("engineer turned founder-CEO").

"Elitism grows out of arrogance mixed with insecurity. Elitists aren’t
interested in sharing knowledge, they’re interested in being the source of the
knowledge. Elitists are only interested in disseminating their knowledge to
the larger population if they are the authority."

Like, say, if they're the engineer-turned-founder-turned-CEO of a coding
academy for instance?

------
venomsnake
> Is one discipline better than the other? Is a front-end developer not a
> “real” developer if she can’t describe what a bubble sort is or does?

In that case - objectively yes - one of the disciplines is better than the
other. If you know C and Haskell everything else is trivial in the language
world. Also anyone that demands of you knowing about O(n^2) sorting algorithm
is not a person you want to work on any serious task with. So she of case
given should run away as fast as possible from that company.

From an old joel spolsky post:

 __ _I have never met anyone who can do Scheme, Haskell, and C pointers who
can 't pick up Java in two days, and create better Java code than people with
five years of experience in Java_ __

The coding ability is the least valuable you have. We live in the real world -
there are no spherical cows in vacuum here. You must know what blocking script
are and how to avoid them, you must know how the data gets from your server to
the browser - (I had a case once where the connection was closed prematurely
due to overwriting HTTP 1.1 header with HTTP 1.0 from one of the servers -
ngnix I think - so content encoding chunked was ignored so the file was half
read), you must be ready for lag spikes in any of the scripts you load, you
must know how the VM manages memory, how the DOM behaves, some of the dark
corners of javascript where the unindentified behaviors lurks. Or the counter-
intuitive ones.

Elitism is saying - "you are not capable of learning that". Saying "you must
learn that so I can give you my recognition" is not elitism. What the folks
given in the article are saying is "Kid, you must know a lot more to be able
to do your job properly".

Graduating coding academy teaches you how to code. It does not teach you how
to be engineer or developer.

Edit: Just to be elitist jerk - If I want to torture someone on sorting I will
say - i have a file with 1000000000 int16, sort it in O(n) while using less
than 512K of RAM.

------
tzs
Here are all the sentences where the author talks about people using the term
"real" programmer:

> I wasn’t a “real” programmer yet, according to them, because I hadn’t
> learned how to write assembly code.

> They are essentially told that if they didn’t learn code for the express
> purpose of loving the most obtuse and bizarre aspects of a language, then
> they are not “real” programmers.

> Is one discipline better than the other? Is a front-end developer not a
> “real” developer if she can’t describe what a bubble sort is or does?

I mostly agree that it is wrong to say that people are not "real" programmers
if they don't know assembly or don't love the most obtuse and bizarre language
aspects or only do front end and are deficient in theory. Saying they are not
"real" implies they are "fake", and there is nothing fake about simply being
narrowly focused.

There's an interesting word that "real" can be replaced with that makes the
sentiment in those sentences much more reasonable: "master".

I'd say that a "master" programmer should know assembly [1] and should have
more experience than just front end development and should know a decent
amount of theory. I wouldn't say that a "master" programmer has to be
motivated by love for obtuse and bizarre language features, though...but I
would say that a "master" programmer should know of those features and when to
use them and when not to.

I wonder how many people who use the term "real programmer" are using it in
the demeaning sense, and how many are using it in the sense of "master
programmer"? I'm going to try to be careful to say "master programmer" in the
future so as to not inadvertently put someone down by using "real programmer"
(although I'm not sure I've ever actually used "real programmer" other than in
obvious joking contexts).

[1] I wouldn't say they need to be able to actually write assembly, though.
They just need to be familiar with what goes on at that level so that they can
better understand what goes on with their code when it is compiled.

------
golergka
Instead of proving the thesis, the article merely describes what elitism is.
Ironically, this definition proves that programming is probably the least
elitist field there is.

> Elitists aren’t interested in sharing knowledge, they’re interested in being
> the source of the knowledge.

Compare how easy it is to learn programming on the web to any other
profession. Oh! And you can use only content that was created by professional
programmers in their spare time (SO answers, forum posts, RTFMs and FAQs, all
the free software), without actually using any content that was created by
people who were paid for that (all the code academies) — and still learn
pretty much everything.

> these novices have access to tools and shortcuts that the elitist never had

I don't think a lot of programmers actually think like that. I've never seen a
programmer who declared that "if you never wrote a compiler, you're not a true
programmer". This actually seems like a ridiculous strawman.

But regardless if you like it or not, there are "real" and "not-real"
programmers, yes. Unfortunately, "not-real" programmers can actually have
titles like "Lead Developer" and even "IT Director", but not be able to solve
a FizzBuzz problem in a way that doesn't make hair stand up on your head. And
for some reason, the quality of writing good code is correlated with such
things as "learning programming for it's own merit", or "getting a CS degree
from a good school", or "having a good understanding of mathematical logic and
set theory".

(Once again, I have to repeat myself: _correlation_. If you decide that I'm
saying that people without CS degrees aren't real programmers, it means that
you don't know how to understand what you read).

So, I would never say that "coding academies are nonsense". Any loud, non-
compromising statement of this kind is anti-intellectual and most of the time
blatantly false. Even the concept of "realness" of a programmer as a binary
trait is already oversimplified. But scepticism that IT professionals have
about code academy graduates has a very serious root in reality.

It's not about being "threatened". It's about maintaining bad programmer's
code.

------
critthinker42
It might have been an effective thesis if it didn't start off by defending
coding academies. I think it's a given today that your ability to do the job
trumps your ability to generate credentials for the job, but stripping
specialized developers is setting yourself up for failure. Also, in many cases
it makes sense to have at least someone on the team with some academic
exposure to specific problem domains. Most people can write some code to
accomplish the task, some people can be clever about it, but sometimes you
also need people who can refer back to their <data structures, algorithms,
math, whatever> classes so they can either write some performance critical
code, solve a hard math problem, or assess the engineering design decisions
from a more trained perspective -- especially in an industry dominated by
egos, is ego + lack of specialized knowledge always the best approach?
Certainly it gets stuff done. Also, as devs get older (years more experience
picking up specialized knowledge along the way), this problem can obviously be
mitigated.

Edit: to be fair, I mean stratification is appropriate at a project level of
organization level, clearly you should be pigeonholed.

------
mycroft-holmes
> According to a recent study by Course Report, 36 percent of academy
> attendees are female, and women who graduate from academies actually earn
> higher average salaries than men.

Can we please put to rest that women can't make it in this industry?

~~~
onion2k
The number of women in the software industry _when they join it_ might be
roughly equal to the number of men, and their salaries might well be higher,
but after a few years a lot of the women have left. That's the problem. The
industry is set up in a way that isn't inclusive, doesn't treat people
equally, and in a lot of cases is actively anti-women because hiring practises
don't deal with things like pregnancy well enough. Looking at people who're
entering the industry is interesting, but looking at people who've been there
for 5, 10 or 20 years is _more_ interesting.

Something to note about the average salary - the fact women are paid more is
probably a function of them being hired by more progressive and successful
companies that pay more. I doubt they're being paid more because they're
better - developer quality isn't related to gender as far as I know. Ideally
if women had an equal chance of being hired across the industry, including the
poorer companies with rubbish wages, then the average pay would be the same.

~~~
wwzuk
Whenever I see these sort of topics discussed, I rhetorically think: why is
there no initiatives to make careers like HR, veterinary work and other areas
more inclusive.

Both genders have strengths and weaknesses due to their biological and genetic
differences, so it's only natural for one side to dominate certain fields.

Pushing equality to the point of progressive politics is just going to harm
people. They won't be able to get into careers that they are naturally good
at, for example, because it's no longer fashionable to hire them.

~~~
TeMPOraL
> _Whenever I see these sort of topics discussed, I rhetorically think: why is
> there no initiatives to make careers like HR, veterinary work and other
> areas more inclusive._

The answer I believe is actually quite simple: because IT is a hot field, HR
is not. HR is "just a job", while IT is now recognized as easy money - you
just have to spend few months learning how to bang on your keyboard, and
you're off to be a next Zuckerberg or at least to be earning in your first
year more than 50% of the population of your country. When the supply finally
catches up with demand and average wages go down, I expect IT will be just
like medicine or law - boring to talk about.

------
sklogic
> _We should not stratify construction workers into classes._

Of course. Any crane operator can be easily swapped for a forklift driver.
When the latter are in shortage too, replace them with the bricklayers.

~~~
RickS
Your analogy is a good one for types of programmers - that disciplines of
construction/software worker are not interchangeable (though lots of crane
drivers _can_ also drive a forklift).

It misses the point of the article though. The article is tired of people
saying "forklift driver's aren't _real_ construction workers"... which sounds
pretty silly. I think very few of us drive past a construction zone and
question the validity of who's on site. But we do it in tech all the time.

People and skills aren't interchangeable 1:1. Some jobs require far more
ability than others. Still - if you're in the field, you're one of us.

~~~
paulddraper
But surely it would not be so weird to "stratify" electricians and signalers
(people who turn signs).

Both do "construction", but the difference in skill and market supply/demand.

------
HillaryBriss
When a technical interview happens, two (of many) competing motivations arise
within the programmer who interviews a candidate:

1\. I don't want my company to hire someone smarter than I am -- eventually
they'll make me look bad and I'll be relegated to uninteresting work or made
redundant. (Also, that person will end up condescending to me and that's
simply not allowed; I'm the only genius in the village...)

2\. I don't want my company to hire someone dumber than I am -- we cannot work
with some half-productive person whose work needs constant
fixes/rewriting/maintenance -- don't waste this brilliant team's time. (Plus,
what would we talk about at lunch with this kind of person -- old episodes of
Little Britain? You must be joking.)

Now, maybe this is wrong, but it seems that situation #2 arises a lot more
often than situation #1. It only looks like a "growing elitism problem" to
some observers, but maybe the level of elitism is the same as always. Maybe
what's happening is that a lot more applicants are encountering situation #2
than in previous years.

~~~
crdoconnor
>Now, maybe this is wrong, but it seems that situation #2 arises a lot more
often than situation #1.

It will always seem less common because #1 is always disguised with bullshit.
"Bad cultural fit" or whatever.

#2 is never disguised.

------
paulddraper
This isn't unique to software. You'll find similar criticism of education
institutions that offer quasi-substitutes for four years of education in a few
weeks, with almost universally lower standards. E.g. Phoenix.

In the US there are stringent and often legally enforced requirements for
doctors, lawyers, and engineers, that programmers do not have.

That's not necessarily a bad thing, but it does mean that there will be
informal restraints to counteract the lack of formal ones. Hence, "elitism".

The problem with code academies is that they offer an experience at almost the
cost of a formal education, but with a fraction of the benefit (necessarily
so, due to their duration).

Next time you receive services from a professional (tax accountant, architect,
dentist, auto mechanic, attorney, electrician), consider whether you would be
comfortable if the duration of their training was one tenth of the industry
norm.

------
lumberjack
>Is a front-end developer not a “real” developer if she can’t describe what a
bubble sort is or does?

Yes.

Being able to accomplish one specific thing in a field, does not make you
skilled in that trade. It makes you skilled at doing that specific thing.

A farrier is not a blacksmith. A blacksmith would probably know how to forge a
horseshoe but find it difficult to actually shoe the horse. They are not
really in the same profession though their professions are related.

And software development is not my profession but if it were I'd be equally
protective of it and I would not welcome any mass influx of newcomers to the
labour pool. Why would I?

~~~
LukeB_UK
Software development is my profession, and I welcome everyone and anyone
willing to learn. Trying to hold onto it like it's some sort of exclusive club
is ridiculous and childish.

------
tzs
> We should not stratify programmers into classes. A flood of newcomers into
> many related yet very different programming careers should be welcomed and
> encouraged. Code is a medium to solve problems, and we should applaud when
> we see so many novices eager to find tools to solve problems.

Why can't we do both? Applaud when people reach a new level of skill
(including entry level) _and_ recognize that there are still levels beyond
that which we can encourage them to strive for?

------
endlessvoid94
GROWING elitism problem?!

~~~
OldSchoolJohnny
_EXACTLY_ what I was thinking before and then even more after reading the
predominantly defensive, insecure elitist responses here.

------
alextgordon
> I remember being laughed at when I told more experienced colleagues in 2004
> that the only programming language I knew was JavaScript. I wasn’t a “real”
> programmer yet, according to them, because I hadn’t learned how to write
> assembly code.

And they'd be right. You're not a real programmer until you understand how the
machine functions. This is usually achieved by learning a low-level language
like C, Pascal, Fortran, etc. Although I guess you could read a book on
computer architecture instead.

Elitism is not the same as having _basic standards_. I wouldn't trust a doctor
who didn't know where my elbow is, and I wouldn't trust a programmer who
doesn't know what malloc() is.

~~~
HillRat
I would, in fact, argue that computer science is in fact deeply _anti_
-elitist; there are no formal barriers to entry, the discipline has no hidden
knowledge, there are no licensing and accreditation requirements. _Difficult_
is not the same as _elitist_ , and it's an abuse of the language to conflate
the two.

As a rejoinder to the author, I would say that one can be a programmer and
only know JavaScript, but one should not be a programmer and wish to only know
JavaScript. Go ye forth and read some Wirth!

