
Coding is not ‘fun’ – it’s technically and ethically complex - gilad
https://thenextweb.com/growth-quarters/2020/05/15/coding-is-not-fun-its-technically-and-ethically-complex-syndication/
======
Gollapalli
This is a perfect example of people saying something that's just blatantly
wrong in order to get a piece published and the accompanying brownie points.

Vannini talks about flow as thought it's some woo-woo that he's never
experienced (probably hasn't, given the companies that he's worked at all seem
to be larger).

>Insisting on the glamour and fun of coding is the wrong way to acquaint kids
with computer science. It insults their intelligence and plants the pernicious
notion in their heads that you don’t need discipline in order to progress.

This is true. But it is also true of football, and nobody says football isn't
fun. Football players will do crazy things like squat sets of 20 and drink a
gallon of milk a day to bulk up, but nobody says football isn't fun. Nobody
says jiu jitsu isn't fun even though it's absolutely brutal in a lot of ways.
And so why do we say those things are fun? Because they are sporting and build
a sense of accomplishment, and provide the things that humans need to feel
like they're growing: building skill and testing it against ever-increasing
challenges for rewarding outcomes. Programming offers that too, even if people
like Vannini fail to see it. There's a reason people have coding challenges
and hackathons, and all other sort of competition and comradery surrounding
it, because it is often sporting, and fun to do new things with programs, and
to stretch what you can do with a computer.

~~~
deviladvocates
So very true. And I am so tired of this BS about "flow". Every programmer
wants to tell you they can "hyperfocus" like it's something unique. We really
need to stop pushing this hocus pocus. Being a programmer does not make you
superhuman, it makes you a programmer.

------
vikramkr
If you want to take away the glamour of programming, telling people it's
technically and ethically complex is exactly the wrong way of doing it. Fun
does not mean easy. For some people, fun is only possible if it's technically
complex, which can help people overlook ethical complexities. As shocking an
idea it may be in our very cynical world, there are people out there that do
the jobs they do because they enjoy it, and programmers are likely
overrepresented in that group.

And ethically complex? Oh boy is that fun. Nothing we like more than morally
grey grey hat hackers and people just barely toeing the line of what's right,
of antiheroes that think the ends justify the means. And if what they're doing
is technically complex, then oh yeah that's awesome. Misunderstood geniuses!
Something everyone sees themselves as. The title here really just plays up the
glamour and glitz that the article says we should be avoiding

~~~
jazzyk
Programming can be often fun, but if we want to be taken as seriously as other
professionals: (doctors, lawyers) we need to stress that programming takes a
lot of brains and hard work.

------
Emanation
Oof. Gate keeping. 'Be serious or you'll fail!' 'The powers that be are just
manipulating people!'

If being in a hyperfocused flow state isn't fun, Idk what is.

~~~
AnyTimeTraveler
Oh hell yeah! When I'm in the zone, suddenly it's 6 AM again and my
sideproject has a working prototype, even though it feels like just about 30
minutes passed.

~~~
jazzyk
Give it a few years

As you age, other life aspects come into play - life partners, kids, taking
care of your health, your parents' health, etc...

------
_bxg1
The problematic thing about code is that it spans the _entire_ spectrum
between "five-minute fun project that will never affect anyone but me" and
"world-shifting force". I don't think anything else humans do can claim such a
wide range of scale. And so the trouble is that - in terms of best-practices,
ethical considerations, regulation - ideas and constraints that are
appropriate at one end of the spectrum are _completely inappropriate_ at the
other end. And at the same time, it's hard to draw a particular line in the
sand to separate the two. It really is a continuum.

This is why, even though some parts of our world would greatly benefit from
certifying programmers the way we certify engineers, it's a really hard thing
to do. Nobody builds suspension bridges at home in a weekend. People don't
really even start small _businesses_ building suspension bridges. It's really
hard to firmly distinguish the code that can accidentally ruin hundreds of
lives from the code that's completely harmless and, indeed, "fun". Sometimes
the latter even turns into the former over time.

Thinking about this more: I wonder if we could regulate code based on number
of users. That seems like a good proxy for its impact on the world. Not sure
how easy it would be to measure reliably (in a way that couldn't be fudged).

------
vincent-manis
Calling software development “coding” is like calling surgery “cutting”.

~~~
karmakaze
Yes, "Coding is fun".

"Software Engineering" is technically and ethically complex.

~~~
AnyTimeTraveler
I'd say I enjoy the mental design of a piece of software much more than the
writing down phase. But if I slip into "the zone", then I also enjoy the
coding phase a lot.

------
_benj
It seems that you haven't had the excitement of figuring out the solution to a
complicated problem after hours of work and no help from StackOverflow). For
me coding is 'fun' exactly because is technically complex (haven't come across
ethic issues on my coding career yet).

------
doc_gunthrop
"Fun" is not the right word; more like "intrinsically rewarding". It's like
asking ye olde blacksmith if he had "fun" forging a high-quality broadsword.

------
twox2
Coding is a broad spectrum. I think of the bootcamp crowd as the blue collar
version of coders. They're learning a trade to make a living. I doubt many of
them end up in roles with much technical complexity the first few years.

------
peter_d_sherman
Although I disagree with the title of this essay, I think it's very well
written and makes many excellent points...

Coding could be either fun or work, it could be heaven or it could be hell
(note that this is true about just about anything in life) -- what makes it
one or the other is a complex set of conditions and circumstances... I have
experienced it firsthand being both, just at different times, in different
circumstances, under different conditions...

Reminds me of some song lyrics:

"There she stood in the doorway,

I heard the mission bell,

And I was thinkin' to myself,

 _' This could be heaven or this could be hell...'_"

-Eagles, "Hotel California"

------
okareaman
I'm not sure Formula 1 race car drivers consider racing competitions "fun"
because it's physically and mentally exhausting and stressful when you don't
win, which is a lot. However, going for a leisurely drive is fun.
Rearchitecting a large program is not fun, but hooking up actions to html
buttons with JavaScript can be fun. Introducing large numbers of people to
this is a way to find the ones with apptitude who get hooked and want to go
deeper.

------
flipcoder
I've always thought the view that "coding is easy" is a bit insulting to those
who worked hard to learn to do it well. Sure, there are certain concepts in
coding that are easy. But isn't that the case with everything? It depends on
what you're building and if the person has a general interest. The idea that
was pushed by Facebook and others that its as simple as memorizing
multiplication tables I always found deceptive and ridiculous.

~~~
dfinninger
As an analogy, getting into medicine isn’t easy, but exercising to improve
your health is. (I know this doesn’t hold true for everyone. For instance I
have some complicating health issues, although hopefully you see my point.)

I think the equivalent here is something like:

    
    
        stuff = requests.get(“example.com”).json()
        print(stuff[“thing”][“I”][“want”])
    

It’s technically coding, is pretty easy, and potentially beneficial to your
life.

Same with Excel macros or whatever.

Maybe that person will have a fire lit in them and pursue a software
engineering career. Maybe it’ll just be a script on their desktop that cleans
up screenshots.

I don’t find that implication insulting even though I’ve spent (now) the
majority of my life honing “coding” as a skill.

It’s a mountain to climb, but the first few miles have some pretty nice
vistas.

~~~
flipcoder
I guess my view is it's sort of like learning one note on guitar and saying
guitar is so easy because you learned it in a day. Would you introduce
yourself as a guitar player after doing that?

If I memorize one word in a foreign language, am I bilingual?

Here's some rocket science too: t - 10s

I like words to hold clear meanings. If everything is easy because there's one
easy thing about it, the word has no meaning. If a coder is anyone who can do
Hello World, it's pointless even calling yourself one. It means nothing.

------
Nasrudith
My first thought was "Right lets keep this pretentious utter prat far away
from coding or management of coding."

The "ethical arguements" are frankly complete twaddle and long discredited
luddite fallacies. Do you think your laundry should be performed by servants
in pointless labor that could easily be subsitited with a washing machine
using less water, time, and fossil fuels than transporting the workers? Even
if you could afford it would be gratituous waste in the name of a dumb goal of
shrinking the labor pool.

Involving more people doesn't in itself make a process any more or less
ethical than stoning a person to death by a village is more ethical than a
single executioner. It is the end goals and the means taken towards them that
matter along with the efficiency.

The technical complexities are what make it fun akin to a puzzle. That is just
a human thing about overcoming achieveable obstacles. Lifting a trivial weight
isn't fun nor is straining to lift something beyond your capabilities
completely but between the two? Yeah that activity is enjoyable. In all sorts
of domains.

------
diablo1
Yeah and it annoys me that software is churned out at break-neck speed,
leaving the window open for vulnerabilities due to lack of testing or a
complete lack of defense-in-depth or formal verification[0]

[0]
[https://en.wikipedia.org/wiki/Formal_verification](https://en.wikipedia.org/wiki/Formal_verification)

------
SAI_Peregrinus
Why not both? Why can't something technically and ethically complex be fun?

------
traes
I don't like the comparison of software engineering to brain surgery and
structural engineering. The biggest difference between the professions is how
bad the average screw up is: most mistakes in software are completely harmless
and can be tracked down and fixed in under an hour with little to no
consequences. There are obviously exceptions, especially with business or
security critical code, but for the most part mistakes are easy to deal with.
With surgery or structural engineering, however, once you make a mistake there
may be no good way to fix it, possibly resulting in hundreds, thousands, or
millions of dollars in losses and/or death. Very few software bugs have the
same implications, and this is why there is more general levity.

~~~
AnyTimeTraveler
Within my first half year of working in a startup, I got to touch invoicing
code and thought I had written tests for every occasion and had removed all
bugs.

A month after the code went through reviews and more testing, and was put into
production.

Another month later, more than half a million dollars is missing.

After figuring out what went wrong, the issue was quickly fixed and corrected
invoices were sent out.

My point is: While it's not like brain surgery, in that every mistake is
deadly, some mistakes can have devastating consequences.

~~~
traes
This is one of the obvious exceptions that I mentioned. Anything to do with
money counts as business critical and _should_ be treated like brain surgery.

------
dorkwood
Couldn't you apply this same argument to almost anything, though? It seems if
you take things seriously enough, fun as a concept ceases to exist.

------
ncmncm
The author is correct, when interpreted as speaking about work. A great deal
more of code that is written should be done in a less fun way, or not at all,
for all our safety.

But programming microcontrollers for side projects is pure, rocket-fuelled
fun.

