
The Erosion Of The Status Of Software Developers As Professionals - philk10
http://codemanship.co.uk/parlezuml/blog/?postid=1210
======
pessimizer
Were we ever considered professionals? There's no test - all you have to do to
be a software developer is declare yourself to be one. There's no overarching
professional organization or boards, therefore incompetents aren't de-
certified and national lobbying isn't coherent.

In fact, the largest companies that we work for are frequently lobbying for
things that programmers don't support, or actively damage our interests in
relation to management.

We're also generally professional middle-class conservative enough that we're
anti-union in a way that only people who are members of professional
organizations that are at least 100 years old can afford to be. For doctors
and lawyers it's easy to ignore cognitive dissonance because the freebies they
get are so baked into government that it's hard to remember that people
actually had to make a conscious effort to make that happen. There's no reason
for programmers to be so complacent.

The transistor isn't even as old as the National Association of Realtors.
People in real estate have more clout, baked in advantage, and respect as a
member of a profession than anybody can be expected to get by calling
themselves a programmer. At least they have to take a test.

~~~
Havoc
>the freebies they get are so baked into government

What exactly do you understand under freebies [for 100y+ prof org members]?

Interesting point about the older prof members being both anti-union and but
joining a prof body. I reckon the two have different functions though. e.g. In
my case the only thing I hear from my prof org is messages with a "comply or
else" tone. Sure they do set minimum salaries for apprenticeships, but those
are so far below market rate that its does even matter. A union in contrast
would fit for better work conditions, better pay, better benefits etc.

The only benefit I see is accreditation (admittedly a large benefit)...but
that is hardly a freebie (took blood, sweat & many tears).

~~~
pessimizer
>What exactly do you understand under freebies [for 100y+ prof org members]?

Doctors, Lawyers, Realtors, etc. have written 90% of the state laws that they
are governed under, and most of the federal ones. They've protected themselves
against foreign competition, and shielded themselves against liability.

~~~
rayiner
Without necessarily disagreeing with your point, it's interesting to note that
software developers bear almost zero liability in practice for all the buggy
software they write, while even big name law firms get sued, and lose,
regularly on malpractice claims. If Microsoft was as "protected" from
malpractice as lawyers are, they would've been sued out of existence for
Windows 95/98/ME.

~~~
pessimizer
One of the benefits of being unprofessional, I guess, is that the products of
our labor are generally considered products of the corporation we work for
rather than us as individuals.

Google, SAP, etc. get sued all the time, though.

~~~
rayiner
Google, SAP, etc, get sued for things like breach of contract, patent
infringement, etc. A lawyer or doctor can get sued for his or her work not
meeting the expected standard. Imagine the following bug: a variable can take
on values of RED, GREEN, and BLUE. You write a switch statement that fails to
consider BLUE. Your product crashes, causing your user $5 million in business
losses. You get sued for software malpractice, for failure to consider an
obvious alternative case.

~~~
pessimizer
Perfect case for how professionalism protects clients. We'd all have to carry
insurance for that.

~~~
rayiner
Well I wasn't really suggesting it as a good thing necessarily. I like the
spirit that ethical/competency self-regulation instills in the legal
profession, but I'm not sure whether the ultimate market impact is a good
thing or not. On one hand, I think the financial industry has suffered from a
lack of such regulation (e.g. Goldman advising clients to buy certain products
while taking an adverse position themselves). On the other hand, the potential
liability and need for insurance creates barriers to entry, driving up prices.
Given the staggering potential losses from software, professional malpractice
insurance probably wouldn't be cheap. But on the third, alien, hand, I think
licensure also has a downward effect on the cost of legal services, by making
lawyers more fungible than they would otherwise be (in the absence of
licensure, the market might come to rely on an even rarer signal of
credibility).

The economic dynamics of licensed professions are a bit more complex than
either side of the "developers should be professionals" debate really
appreciates.

------
thatthatis
To write software, you used to have to be a physiscist. Or a least a
mathematician with a deep understanding of why the registers were working.

Then, the physics was more or less mastered and the profession split into
electrical engineering (the physicists lamented this degradation I'm sure) and
applied mathematics.

Then, the math was more or less mastered to a level it could safely be
abstracted away and math spun off computer science and software engineering.
I'm sure the mathematicians were upset then at the degradation of the
profession.

Then, software engineering advanced to the point that ever higher levels of
abstraction were present on ever faster computers, no longer did you have to
get the logic right _and_ the math perfect for your program to run in
acceptable time. And higher level languages emerged, assembly leading to c
leading to python and JavaScript. And at every stage there was moaning, and
excitement.

Now, we stand on the precipice of the next great division. People can get a
reasonably complicated website up by configuring Wordpress or Joomla or Drupal
without writing a single line of code. A 14 year old can run a mcafe script at
the geek squad counter and get the users computer back in decent shape. We are
at the point of adding moderately skilled technicians to our field.

We can piss and moan about the division, or we can recognize that it's part of
the process of the industry and vocation maturing.

The engineers at GM aren't bemoaning the fact that "car maintenance gurus
(mechanics) don't have to understand the heat displacement of aluminum vs
steel"

Having mechanics makes the car industry more efficient and lets the engineers
focus on the real hard problems. The same will be true of software,
eventually.

~~~
pnathan
I don't think your history is really quite correct in its nuance. Programming
as an actual trade emerged quickly in the 50s. The 60s saw the rise of
computer science degrees, often coming from either the Math or the EE side.
During the 50s and 60s, the computers had tons of people working with
FORTRAN/COBOL (& others) to churn out business code. This accelerated in the
70s. There were _armies_ of basic programmers out there. It only takes
flipping through Dijikstra to realize that these people were not super well
trained.

Occasionally in the recollections of the really early programmers, we learn
that they were hired from the secretarial pool and trained if they had math
aptitude. Not from physicists or the PhDs always. I am sure this was very true
for the line of business & banking apps.

~~~
thatthatis
Thanks for the addition.

I made un-researched generalizations based on limited knowledge of the skills
possessed by the pioneers in the field.

I agree that it has, at the least, nuanced errors.

But, I try not to let the exact truth get in the way of a good story unless
the exact truth is the crux of the argument.

~~~
pnathan
I'm sorry, but the truth desperately matters in your account. Timelines are
very important in understanding how knowledge flows from group to group and
from generation to generation. In particular, these things need to be
highlighted:

\- Computers became commercialized around 1952-54. Immediately prior to that,
physicists hired programmers for the clerk work of coding up their problems
(interesting note: they usually were women. You can find the story online of
the programmers who worked with von Neumann. It's very interesting).

\- Business adoption was pretty good! In fact, by the late 60s, software was
exhibiting its standard characteristics - buggy, late, expensive, hard to
control. See the NATO conference on software engineering, 1968.

\- In the early 60s, dynamic languages came about in the form of Lisp. This
did not take off until, AFAIK, Perl started making headway in the 90s.

\- Cobol, Fortran, and others that I don't remember were standard in the 50s &
60s. And everywhere. These preceded the foundation of computer science as an
academic discipline, which became institutionalized in 1969, give or take.

\- Where did these business developers come from? I don't have job ads, but in
my readings from the journals of the times, academic work seems to have gone
on fairly apart from the line of business development.

~~~
thatthatis
How do these differences change the crux? We are in the process of the
industry splitting into technicians and developers and this is overall a good
thing?

I think they are interesting details, for sure, but I don't see exactly why
you think they're relevant on a first order approximation.

------
fidotron
London definitely has an exaggerated case of this (Nathan Barley really is far
too close to home regarding the way he treats Pingu), but it's happening
everywhere.

The thing is it's like tax preparation: most people should probably be able to
do it themselves, but once you want something interesting done you're going to
need a professional. If all you develop as a software developer is monkey
patching stuff together, then yes, you're in trouble, either from normal
people, or from the products of other developers. However, the fun part of the
job has always been being able to punch through big piles of crap to find ways
to radically simplify what's going on in order to get an apparently magical
improvement. That part is an art, and isn't going away in a hurry.

~~~
walshemj
At the silicon milkabout recently it was wall to wall macbooks and MBA's.

------
mattgreenrocks
Why do developers resist being professionalized? Are we really all so naive to
think that the world will grovel at our feet for the rest of time?

Fact is, it's extremely likely you've been taken advantage of, financially at
some point, for your skills. It's an ugly reality, but I'm betting it has
happened to a lot of people, or is happening. There are people who love
nothing more than to take advantage of information asymmetries to extract
disproportionate amounts of value from you.

I'm having a hard time thinking of _any_ downsides to professionalizing. It
cements our place in society, makes it a 'thing' for laypeople to ascribe
importance to (however idiotic that concept is), which starts a feedback loop
of expecting respect, both personally and professionally.

~~~
arethuza
"I'm having a hard time thinking of any downsides to professionalizing"

Well, if you are a _real_ professional then a complaint can result in your
being struck off and it being legally impossible for you to work in that area
again.

I really don't see how (or indeed why) that model could be applied to general
software development or why it would be in any way desirable.

NB: It _might_ be applicable in very small niche areas - safety critical
systems etc.

~~~
walshemj
It's actually very very hard to get struck off as a lawyer or a doctor.

~~~
herge
But once you're persona non-gratta, it's impossible to get back into the good
graces:
[http://en.wikipedia.org/wiki/Stephen_Glass](http://en.wikipedia.org/wiki/Stephen_Glass)

~~~
walshemj
Journalists are only professionals in the same way hookers are. As Baldwin
said “Power without responsibility — the prerogative of the harlot throughout
the ages.”

Will any of the NOW hacks who hacked phones have a problem getting a new job
NO.

Was Rupert Murdoch stripped of his newspapers as a result of the NOW scandal
NO

~~~
herge
Stephen Glass tried to get into the California Bar Association but was
rejected, probably because of his past history as a reporter for The New
Republic. Don't know what that has to do with either hookers or Rupert
Murdoch.

------
endlessvoid94
I totally agree with you.

However, that doesn't mean it will stop. Imagine what it was like to be a
scribe; you were a craftsman, who cared about the details of your work, had
the intuition and experience to anticipate how your work would change in the
future, and to understand subtle nuances lost on the illiterate.

What happened to the scribes? As literacy matured, and became widespread, they
were out of a job. And it wasn't because they somehow became bad at their
work. It was because they became obsolete.

Now, I'm not arguing this will happen quickly, and it may look different, but
I can't help but look around and see how much more accessible basic
programming has become (tryruby.org and all the others). Slowly, very slowly,
more people are becoming literate.

They're not experts, and they may never be experts. But all of a sudden these
people are experiencing an ability to see their ideas become reality, and more
importantly, they're experiencing a new way to _think_. This is exactly what
happened when people became literate, and the scribes disappeared.

Figure out a way to ride this wave, and you'll never be obsolete.

~~~
solidsnack9000
Scribes didn't become obsolete due to the spread of literacy. It was due to
the printing press.

~~~
endlessvoid94
Good point. I guess I could pedantically counter with "the printing press
enabled literacy". I don't think it changes my point too much, though :-)

------
nickthemagicman
"If you're ambitious and good at office politics and self-promotion, it's
entirely possible - maybe even easier - to pass from junior programmer to
executive management without actually passing through a stage of technical
competence. It's a sort of turbo-charged Peter Principle that operates in the
software industry."

This feels so true at every business and academic institution I've worked for.

My last CIO was a lawyer....

------
rprospero
Honestly, the reason that programming is getting a reputation for being easy
is because it is easy. That's entirely the point of computer programming. If
writing a program was harder than doing it by hand, we would just do it by
hand.

Honestly, any other profession would love to have it as easy as we have it. A
surgeon doesn't get to mount the backup after a surgery fails. The engineers
of the Mississippi river bridge couldn't checkout a standing bridge from their
git repo. When a physicist wants to study particle physics, she can't download
her own, personal LHC and start smashing protons. CEO's don't get separate
development and testing companies where they can try out their business plans
before it gets promoted to the actual corporation.

Compared to everything else I do at work, programming is by far the easiest
task. It's also the easiest to learn. Yes, a lot of those programers are
pretty terrible, but there's a lot of terrible drivers, too.

~~~
vinceguidry
It's getting _easier_. It still isn't easy.

> A surgeon doesn't get to mount the backup after a surgery fails. The
> engineers of the Mississippi river bridge couldn't checkout a standing
> bridge from their git repo. When a physicist wants to study particle
> physics, she can't download her own, personal LHC and start smashing
> protons. CEO's don't get separate development and testing companies where
> they can try out their business plans before it gets promoted to the actual
> corporation.

You don't get these things either, unless you do the hard work to learn them
and integrate them into your process. This isn't easy. Some of us are lucky
enough to work in shops with this stuff already integrated, but for the rest
of us we have to do it ourselves.

At my job, my biggest codebase was split up into three repos, with a lot of
nasty and brittle glue code written to make deployment work. It took a solid
week's worth of after-hours work to get rid of all that brokeness and make
deployment sane again.

The advantages tooling brings to software development are often silently lost,
only to be found out when your cloud provider loses your server and none of
your backups work, and spinning up a new server from the repo takes, if you're
lucky, all weekend to get working.

------
cushychicken
I think Zed Shaw nailed it with respect to this topic:

"People who can code in the world of technology companies are a dime a dozen
and get no respect. People who can code in biology, medicine, government,
sociology, physics, history, and mathematics are respected and can do amazing
things to advance those disciplines."

Tech doesn't value code because everyone knows it. There are tons of fields
where your skills are still treated with Godlike reverence.

------
JoeAltmaier
I am also an old fart who decries the lack of respect by the young'uns these
days. OP claims that's not his point; yet he is part of that demographic.

Cogent points: there is dilution of the coder's message (code is hard; skills
are needed) by the fire hose of media including the internet.

~~~
mildtrepidation
It's not hard to see at least some of the angles it probably comes from. It's
popular for politicians to bank on things like "everyone should learn to code"
for publicity; outsourcing makes development look like a cheap commodity and a
second thought; bottom of the barrel "website in a night" generators are crap,
but they're cheap and easy, and most people can't tell the difference;
websites like codeacademy present the image of a skillset you can pick up
effectively in your downtime.

So much of the public perception of programming has gone from "ooh, you do
what? I have no idea how that works!" to "oh, you do that? Anyone can do
that."

------
eternalban
These people [1] had a clue regarding leveraging deep competence in
specialized domains that made their contemporaries' eyes glaze over.

The world runs on software. Just think about it and it should be clear what
are the necessary steps to take.

[1]:
[http://en.wikipedia.org/wiki/Knights_Templar](http://en.wikipedia.org/wiki/Knights_Templar)

------
codystebbins
So reading this it seems the primary argument against programming as a
professional career is that entry level programming is becoming more
accessible to a wider audience.

However I think the author fails to make the argument though that just because
some 14 year old can learn JavaScript quickly with a service like codeschool,
that means I could hire that kid to replace a senior level programmer with a
deep understanding of design patterns, data structures, algorithms, etc. The
claim to me states understanding a basic script is all you need to write large
scale, complex software. I do not know about everyone else, but I picked up
coding pretty quickly and picked up everything else about software over years
of patient study so this seems suspect to me.

Software is not just about code, to focus on that makes our job look easy.

I also have some problems with the "credentials = professionalism" argument,
but many others in the thread have addressed it.

~~~
bobochan
I agree with you, but I think that "entry level programming" is unfortunately
much further away from the general public. I can still roll over to my Apple
//e, reach around and flick the power switch, and be right into a BASIC prompt
so that I can start typing in commands. Writing a game in the mid-80s meant a
text adventure that would eventually be printed out and published in magazine.
The first game that I ever bought was "Ultima" and it came on a floppy inside
a resealable gallon kitchen bag. I talk to middle school students all the time
that want to know how to code their first FPS before they have even got Hello
World up and running.

Setting aside what is best for programmers and their "status," it seems to me
that what business needs are hundreds of thousands of employees that have at
least enough of a programming background that they can automate some of their
most mundane and repetitive tasks. I used to work in finance and I would
sometimes wander through the rows of analysts and account managers copying and
pasting spreadsheet data and making charts and presentations deep into the
night. It is time to stop that insanity, to expose everyone to enough
programming so that concepts like loops and if/then statements are
understandable.

------
c--misura
I'm sorry, but this sounds like sour grapes. If you build software, you're an
exogenic source of that erosion too. You've created tools that have made it
easier for the next person to contribute. This practice makes software
development unique and exciting. There are plenty of competent and incompetent
engineers and self-taught developers alike. The currency of expertise is not
exclusive to post-secondary accredited programmers. It's earned with results
and hard work.

------
bobochan
I wonder if any of this is related to the growing hyper-specialization in the
industry. When my dad finished grad school in engineering he did a lot of work
in military radio communications and engineers were expected to be able to
design all of the equipment (including certifying the plans for the
transmission towers) and get the entire system working. Being a "programmer"
used to mean something similar, we took responsibility for getting everything
done.

I took a course a few years ago on an "enterprise" development tool and asked
a question about how the sample code mapped to fields in the database. The
disappointing answer was that I "didn't need to worry about that" because that
is something that the database engineers and deployment engineers would
handle. Apparently I was supposed to be grateful that my role had been
compartmentalized. Now programmers identify themselves as "Language X
Developers," or even by their project roles, e.g. "Implementation Manager,"
"Software Architect."

It is time to be a bit more bold. I am a Programmer. Capital P, full stop. Any
language, any system, any project, any time.

------
wes-exp
Even barbers are licensed professionals.

Meanwhile wannabe "software engineers" are copy-pasting together web
applications that store the personal information of millions of people without
the slightest thought behind security or proper design.

We collectively wonder why there aren't more programmers... maybe the problem
has never been a lack of education, but a lack of prestige and respect.

------
gopher1
His only evidence of this so-called erosion of status is that anecdotally some
non-technical folks got management jobs in tech companies and some journalists
were ignorant about programming.

I'm sorry but I don't consider this to be a very compelling argument.

With this level of evidence it would be just as easy to argue that programmers
today are given a higher status, and not looked down upon as geeky, despite
the fact that it's easier than ever to learn about and become a programmer.

------
crncosta
<i>If you're ambitious and good at office politics and self-promotion, it's
entirely possible - maybe even easier - to pass from junior programmer to
executive management without actually passing through a stage of technical
competence.</i>

Sad to see this happening, but (unfortunately) being politic is more important
in this century than used to be before.

------
dhfjgkrgjg
In the old days people thought about design, the wrote software, they
supported their product.

Nowadays all the wannabees think installing a metric ton of shit from npm or
the gem equivalents makes them a super productive brogrammer rock star
developer. They have a single page website that requires gigabytes of
javascript from fourty external locations to run a basic blog. They spend all
day on github, but are borderline code unaware.

They argue lack of generics in go is good.

They are what the business and clients see, and that is why the people paying
for software services end up labelling us all as muppets.

~~~
MAGZine
TIL software reuse is for brogrammers and DRY is a farce.

~~~
anaphor
parent said they dislike generics so how could they like DRY?

------
corresation
As he posits some may conclude, it does just read like bitter sour
grapes...yet I've been professionally programming since 1995. Is someone
casting their own lot as the lot of the world?

[http://www.theonion.com/articles/sociologist-considers-
own-b...](http://www.theonion.com/articles/sociologist-considers-own-behavior-
indicative-of-l,421/)

By and large I think having demonstrated skills in software development (and
truthfully this means less that you can point to years of experience -- which
may be 1 year of experience 20 times, or 20 years of experience -- or pieces
of paper and demand respect) is just enormously powerful right now. I am
incredibly, enormously grateful for the position I am in, and that my
aptitudes as a child happened to bring me into the fold of something that
ended up being one of the few careers where you can write your own meal
ticket.

~~~
MetaCosm
Couldn't agree more (and wonderful link). The article was so disconnected from
my reality as to be confusing.

(redacted probably irrelevant comment)

EDIT: Part of the reason for this confusion may well be cultural. I am a US
developer, and have heard similar "I get no respect" type rants from Canadian
developers... often shocked by the pay and respect they can demand just a bit
south.

