
Hello world: Shining a light onto the culture of computer programmers - derangedHorse
https://arstechnica.com/gadgets/2019/04/how-the-new-art-form-of-coding-came-to-shape-our-modern-world/
======
UweSchmidt
Regardless of how accurate this portrait of programmer culture is, I must say
that I welcome the attempt to create some positive PR.

Our fellow nerds, doctors and lawyers, somehow got star treatment by
hollywood, while our kind is usually portrayed as unattractive, awkward,
laughing stock and at best a passive character in an assisting role. This
tragically reflects on our perception in the real world.

~~~
interfixus
As perceived by the general public, there is a huge difference: Most people
have some idea, however vague, what a doctor or a lawyer actually _does_ ,
while ' _programming a computer_ ' is utterly obscure and opaque to a lot of
those same people.

This keeps surprising me again and again, but apparently any kind of computing
device is a black box built on magic, probably to the vast majority out there.

~~~
Supernaut
Very true. When I'm at social occasions and I get asked what I do for a
living, the subject will be hurriedly dropped when I reply that I'm a software
developer. It amuses me. As you say, the whole concept seems to be so far
outside of most people's frame of reference, that they have literally nothing
to say on the subject.

The lack of intellectual curiosity in the general populace is dismaying to me,
but it was ever thus.

~~~
world32
> the whole concept seems to be so far outside of most people's frame of
> reference

What? Are you living in the same world as me?

Pretty much every industry apart from manual labour or craftsmanship related
work uses software. If you work in an office chances you spend most of your
time using software.

Then people go home and play on their smartphones which connect to back-end
API servers developed by software engineers or stream films of netflix, also
developed by software engineers.

~~~
Supernaut
You completely missed my point. I wasn't suggesting that the average person
doesn't utilise software on a day to day basis. I was agreeing with the author
of the post above mine, who pointed out that to most people, "any kind of
computing device is a black box built on magic". They have absolutely no idea
how their devices work, and neither do they care to find out.

~~~
interfixus
The author of the post above yours absolutely concur. Everybody uses software.
Few have even a basic conception of how it works.

------
w8rbt
That picture made me cringe. Who sets a cup full of coffee right next to their
laptop keyboard and phone?

~~~
jlokier
I confess that I do this quite often, if there isn't enough room on the tiny
coffee shop table to keep the drink and the laptop far away from each other.
What else can you do?

At least the phone is water-resistant.

------
externalreality
There's a lot of fantasy in this article. Most programmers today do very
little actually - we don't wield major influence. We basically glue together a
bunch of Free Open Source offerings. The most critical skill is that ability
to move fast by practicing with our Free Open Source offering tools. We pay
(MS, Google, or Amazon) to host our applications. And we perform maintenance
on these applications for years. Nothing special, anyone can do it. More and
more people enter the work force every years. Since all things are becoming
automated there will be enough jobs for the foreseeable future. We get to wear
nerd clothes and act smart but generally all one has to do is be able to read
documentation and use a computer. I would reckon that the average 13 year old
who has a good reading comprehension can do what most programmers do these
days. It's like playing a video game. They would probably be better at it too.

~~~
amelius
I think the problem is mixing terminologies:

• Programmer: glues together existing tools (your example)

• Software engineer/architect: builds/designs systems that can handle large
loads efficiently; invents and applies techniques so the systems can become
large while keeping them maintainable

• Computer scientists: invents and analyzes algorithms

That said, roles are usually mixed up as well, where a computer scientist in
industry can easily spend 90% of their time programming.

~~~
dnautics
I would say a true software engineer is someone that can design a system to
meet a SLA, write documents which systematically show how it's measured and
specced. Most software 'engineers' (including all but one of them with that
title in my company) are just 'devs'.

My feeling is that a software architect is someone who can design something to
try to meet an SLA but is too lazy (or too high level) to actually check it.

------
AltmousGadfly
The building where I work has a rather large cubicle farm full of software
engineers. Most of them are perfectly normal people. Men, women, black, white,
Asian. We got all kinds. But there are a couple who are different.

\- One guy I call "hoodie guy" wears a hoodie all the time. I live in Central
GA where its 90-plus degrees and 90-plus humidity in the summer time. Hoodie
Guy is still wearing the hoodie zipped up and hood up. Hoodie Guy doesn't talk
to people.

\- Got another guy who wears the same clothes all week. Asked him about it
once; he said he bought 5 sets of the same clothes so he wouldn't have to
choose in the morning. Like a uniform I guess.

\- Got another guy who has a duplicate of the computer they work on at his
house; this is not a PC. Its a purpose-built piece of mil-spec hardware that
we put on airplanes to process data. We didn't give him one so he could code
at home. He built it from doodads he picked up at surplus sales and trash
heaps. Dude is hella smart.

But most of the people in cubicle hell are pretty normal.

------
QuamStiver
I've been coding professionally for almost three decades, and the pursuit of
elegant solutions makes up about 1% of my paid work. The rest of the time I'm
fighting constraints: time, money, available resource, risk, all the usual.
Very rarely does professional software engineering leave room for art, IMO.

~~~
notacoward
A little over three decades here, and you're absolutely right. For every hour
spent developing a cool algorithm, there are likely to be at least ten spent
on low-level coding details, hooking it up to its inputs and outputs elsewhere
in the code, writing tests, debugging other people's tests, integrating with
build systems, debugging other people's build breakage, monitoring and alarms,
addressing code review nit-picks, rebasing on top of whatever my coworkers
jammed in while I was being diligent, documentation, etc. Any non-trivial
project will also be interrupted by meetings, project-wide direction changes,
on-call shifts, and so on. If I get one uninterrupted morning/afternoon of
working on "elegant solutions" in a month, that's a good month.

