
The 'No True Programmer' Fallacy - bussetta
http://jacquesmattheij.com/the-no-true-programmer-fallacy
======
kisstheblade
Seems to me the article is fighting some kind of giant strawman. I myself
haven't experiences this kind of attitude. I really don't get what the point
is, that some people have ego problems and hold pissing contests to see who is
the most "awesome programmer"? Well that's a different thing, kind of "who's
the best".

Well for sure if you ask people in an office what their job is then I don't
think that a banker who creates complex spreadsheets calls himself a
programmer per se... Even though he for sure programs a computer.

I would maybe categorize people in two categories, those who enjoy programming
for itself (learning different languages and technologies) and those who use
it to get some specific task done. This of course has nothing to do with being
a "true programmer" :)

~~~
jacquesm
It's a thing I keep running into over and over again. I'm really happy that
you haven't and that for you personally this is not an issue. Unfortunately
your sample of '1' may not be representative.

[http://arstechnica.com/information-technology/2012/09/is-
it-...](http://arstechnica.com/information-technology/2012/09/is-it-true-that-
not-everyone-can-be-a-programmer/)

[http://blog.codinghorror.com/please-dont-learn-to-
code/](http://blog.codinghorror.com/please-dont-learn-to-code/)

[http://programmers.stackexchange.com/questions/163631/has-
no...](http://programmers.stackexchange.com/questions/163631/has-not-everyone-
can-be-a-programmer-been-studied)

[https://news.ycombinator.com/item?id=5302157](https://news.ycombinator.com/item?id=5302157)

And many many more besides.

I wished it was a strawman, then I could have simply not written the article.

~~~
teacup50
I'll be your non-strawman.

Consider other fields:

\- Is everyone suited to be a mathematician?

\- What about a building engineer?

\- An electrical engineer?

None of these things are magic. None of these things are something someone
can't learn _" a little"_ about.

And yet, like programming, all of these require a great deal of _effort_ to
master any degree of proficiency; this 1) takes individual dedication, and 2)
is undermined for individuals when they're told repeatedly and incorrectly
that being a "programmer" is a label, and that it's _easy_.

~~~
jacquesm
It definitely isn't 'easy'. It's probably the hardest skill I've mastered to
any degree.

~~~
teacup50
I'm not sure anyone has mastered it; ~50 years in, we've all just barely
scratched the surface.

------
jkot
> _But that’s total nonsense. It’s like saying that there are only two kinds
> of people when it comes to swimming, those that can learn how to swim and
> those that can’t_

It is a career advice. While most people can learn to swim, professional
swimming is completely different level. If my friend is going to waste years
of life and thousands of dolars to study wrong field, I would be very bad
friend not to warn him.

BTW: I really wish someone would have told me early I suck at math and there
are no jobs in physics. That would have save me a decade of my life.

~~~
dalke
As an ex-lifeguard, when you talk about 'career advice' I think you are
referring to professional _competitive_ swimming as a career. I tried out for
the swim team, but endurance and strength needed to be a lifeguard aren't the
same as competitive speed.

A lot more people are professional lifeguards than professional competitive
swimmers. I think most people can train and qualify to be a lifeguard -
otherwise lifeguard pay would be a lot higher. It does not cost that much to
become qualified as a lifeguard for someone who is already a strong swimmer.

There are also other fields, like professional diving, where swimming is an
important component, though diving does require more expensive training.

I think this ties back to the original essay - there are many professions
where knowing how to swim is critical, but the specifics differ, and the same
is true in programming.

------
nazri1
> There are even studies on the subject to prove that there are ‘two kinds of
> people, those that can program and those that can never learn it no matter
> how much effort they put into it’

If you're referring to the "The Camel has Two Humps" paper then perhaps you'd
like to know that the authors retracted their claim:
[http://www.eis.mdx.ac.uk/staffpages/r_bornat/papers/camel_hu...](http://www.eis.mdx.ac.uk/staffpages/r_bornat/papers/camel_hump_retraction.pdf)

~~~
michaelwww
Oh wow, that is amazing. The guy flipped out on anti-depressants and wrote an
influential paper that he now disavows. I wasn't expecting that.

~~~
fit2rule
It is quite refreshing to see someone take some responsibility for their lives
while they were unhealthy, I must admit. This retraction is one of the most
noble things I've seen in this realm in a long time..

------
johw
From my observations, the 'No true X' Fallacy comes into play when a person
identifies himself with his skill...it becomes his identity so much that if he
encounteres someone better at "his" skill, he feels his identity threatened.

This arises when the person does not really have a lot of properties
associated with his identity. I saw a lot of people who were really insecure
in other areas of life besides the area where their skill applies. The
insecurities vanish really fast as soon as this skill is seen only as skill
and the person identifies its identity with the proper properties like values,
e.g. "I am friendly" instead of "I am a true programmer". Therefore I cannot
imagine this being a healthy discussion.

For the ones interested in how to get a better identity and get rid of
insecurities, take a look into steve andreas book "transforming yourself". You
will also learn the basics of Neurolingual Programming (NLP) as a side effect

~~~
dozzie
If you will learn NLP as a side effect, I would avoid the book as a plague. If
the author puts such a big lie as NLP, who knows what else is false in the
book?

~~~
johw
I do not know what experiences you made so that you think NLP is "such a big
lie". It is a toolbox of methods which generally do work. Many of them are
applied in behavioral therapy, which is proved to have an outstanding effect
on depression (as one example).

The nice thing is that you do not have to study psychology for that, but have
simple methods, which are almost common sense, to deal and/or transform most
psychological issues.

~~~
dalke
"..generally do work".

If that were so, then could you explain the section at
[https://en.wikipedia.org/wiki/Neuro-
linguistic_programming#S...](https://en.wikipedia.org/wiki/Neuro-
linguistic_programming#Scientific_criticism) ? Pulling three quotes from it,
"controlled trials failed to show any benefit from NLP", "Numerous literature
reviews and meta-analyses have failed to show evidence for NLP's assumptions
or effectiveness as a therapeutic method", and "Among the reasons for
considering NLP a pseudoscience are that evidence in favor of it is limited to
anecdotes and personal testimony".

What evidence was enough for you to conclude that the methods "generally do
work"?

~~~
johw
I do not know how NLP is taught right know, however I'll explain how I come to
that conclusion with a reference to the mentioned book from steve andreas.

One of the basic tools of NLP is what is called "anchoring". An anchor is an
association in terms of action->response. One example lots of people can
associate with is: You hear a song and have instantly a mood change. You could
feel very happy, because you remember meeting your spouse for the first time
when this song was played. Or maybe you feel bad because something bad
happened when you heared that song and associate the bad feelings with that
song.

One way to break away from a specific "action->response" pair is by using a
pattern interrupt and overwriting the usual response with another response.
You do that regularly yourself, for example when you learned a false fact and
correct it afterwards.

Of course you can also create new associations. You probably do not have any
strong feelings associated with a song when hearing it for the very first
time, but you can associate something with it.

Anchoring, pattern interupts and overwriting old anchors is heavily used in
behavioral therapy, and is also the basic concept for a lot methods in NLP.
For me the parallels to behavioural therapy are why I conclude "generally do
work".

I think the bad reputation NLP is receiving is because of "hype-riders",
people who want to rip the help-seeking people off their money. And as you do
not have to study psychology to practice NLP (or say you can do NLP),
charlatants have an easy entry.

In Steve Andreas book, you learn how to rewrite old anchors effectiveley,
specifically the ones that make up your identity, the "how you know you are
you".

Example Scenario:

Current situation: Suppose you think you are bad at maths and that is simply
your personality, that's why you will never solve any math problem in
reasonable time. Effect: You will not even try to solve math problems or will
not have fun doing it, thus taking more time or limiting yourself in other
areas as well as panicing as soon as you see a math problem.

How you change that? ->

1) Think about how you know you are bad at maths.

2) Do you imagine one or multiple situations where you were bad at maths? Are
these pictures or video? How are they organized in your head? In color or
black/white? Big/small?

3) Now take every example in your head that support that belief and change the
modalities. Already at that point you will notice with each transformed
example, that you feel less bad about maths.

4) Next you build positive images around maths in the same way as before,
thinking about situations where you were good at maths and transform your
images to the same modalities the bad images were before.

5) Pro step: Build values for yourself such as: intelligent, resilient,
motivated and associate these values with situations were they helped you in
solving math problems or other problems. This would decouple your identity
from "maths" and help you not fall into panic as soon as you encounter a math
problem or any other problem you think you are not good at (remember, you are
intelligent, resilient and motivated?)

I do not know if specifically this technique with exactly these steps is used
in todays scientific therapy. However, it is based on anchoring/overwriting
old anchors and I do not see much novelty there.

~~~
dalke
Once upon a time we (that is, general medical consensus in the US) thought
that milk would help treat ulcers, and that ulcers were mostly due to diet or
lifestyle (overwork, smoking, etc). There was a model of how milk would be a
good treatment, and doctor would recommend milk to patients with ulcers.

Starting a few decades ago, we found that "the vast majority of ulcers are
caused by H pylori infection" (quote from
[http://www.ulcerresourcecenter.com/ulcers-and-
milk](http://www.ulcerresourcecenter.com/ulcers-and-milk) ), and can be
treated with drug therapy.

I point this out as an example of how even if there is a reasonable
mechanistic model of how a therapy might work, which is widely believed to be
true, that doesn't mean it is true. The Wikipedia link I posted gives
reference to attempts to verify if NLP is a useful treatment, and concluded
that it isn't.

As for "pattern interrupts and overwriting old anchors is heavily used in
behavioral therapy", if you search for '"pattern interrupts" "behavioral
therapy"' on Google there are very few hits. Duck Duck Go has even fewer. This
suggests that "pattern interrupts" is not a term used in behavioral therapy.
If you further look at
[http://www.ncbi.nlm.nih.gov/gquery/?term=%22pattern+interrup...](http://www.ncbi.nlm.nih.gov/gquery/?term=%22pattern+interrupt%22)
you'll see that "pattern interrupt" is not commonly used, with only 214
matches in PubMed. A spot check shows only a handful used in the sense you
mean.

Therefore, the term "pattern interrupts" is likely not the term used in
behavioral therapy. You are, I believe, making a statement about a homologous
treatment, perhaps operant conditioning? But operant conditioning, and its
application, predate NLP, so I don't think it's reasonable to attribute its
effectiveness to NLP, nor would it be novel in NLP if Skinner discussed it in
the 1950s.

("Operant conditioning" has 18356 matches in PubMed, and the first 7 papers
all use it in the cognitive psychology sense.)

~~~
johw
Sorry about the bad terminilogy, I have my input from a psychology student.
Maybe someone can clarify about the correct terminology.

I researched more, and at least the wikipedia arguments against NLP are
critisized heavily, too. [http://realpeoplepress.com/blog/research-in-nlp-
neurolinguis...](http://realpeoplepress.com/blog/research-in-nlp-
neurolinguistic-programming-science-evidence)

There is an organisation that aims for NLP to be recognized scientifically
[http://www.researchandrecognition.org/](http://www.researchandrecognition.org/)

At this point, you are right that there is not much scientific evidence. I
hope for the research group that it produces some proper results soon

~~~
dalke
I looked at your first URL. My earlier comments hold.

For example, it says (concerning using mental imagery) "This result comes as
no surprise to anyone with even basic training in NLP. Imagining “themselves
performing this act, with as much sensory detail as possible” has been a
standard and essential part of rehearsing or “future-pacing” any behavioral
change."

A quick search shows that behavior rehearsal was part of non-NLP since at
least the early 1970s. See for example
[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1311981/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1311981/)
, "Training predelinquent youths and their parents to negotiate conflict
situations":

> In response to parental requests for assistance in dealing with adolescent
> problem children, three parent-child pairs were taught negotiation responses
> to hypothetical conflict situations using behavior rehearsal and social
> reinforcement. The negotiation process was separated into component
> behaviors that were practised during simulations by each youth and his
> parent under the direction of trainers. Results indicated that (a) the
> procedures were successful in training youths and their parents in
> negotiation behaviors that produced agreements to conflict situations, and
> (b) these behaviors generalized to actual conflict situations in subjects'
> homes.

or a clinical trial from 1981 at
[http://www.ncbi.nlm.nih.gov/m/pubmed/7205244/](http://www.ncbi.nlm.nih.gov/m/pubmed/7205244/)
, "The treatment of social phobia. Real-life rehearsal with nonprofessional
therapists."

> It was concluded that repeated behavior rehearsal, both in the clinic and in
> real life is a cost-effective treatment procedure for many social phobias.
> The approach is straightforward and can be applied by nonprofessionals,
> including the patients themselves, after limited training and with minimal
> supervision.

Further, the original synopsis at
[http://digest.bps.org.uk/2011_06_01_archive.html](http://digest.bps.org.uk/2011_06_01_archive.html)
points out that it's not just imagery which is important, but that there was
question: why was there a seeming

> contradiction with earlier research showing implementation intentions are
> most helpful to those with compromised willpower? Churchill and Jessop can't
> be sure, but they said one possibility could be because their task of eating
> more fruit and veg is more complex than some of the lab tasks studied
> previously.

The summary of the summary at realpeoplepress.com leaves out these
complexities.

~~~
johw
That is interesting.

To sum up, you say that a technique which NLP uses was non-NLP before and
works, that's why NLP is not scientific?

Maybe I'm too tired right now, but for me that's a clearer NLP pro argument
than I could come up with.

Anyway, I'm not really interested in who is right or wrong. I think NLP works
and whoever wants to try it should do it, but be careful not to learn from
charlatans. These who want to wait for scientific evidence can also do so.

~~~
dalke
Here's an analogy. In some churches, the faithful will kneel in order to pray.
Now I come along and say that praying 200 times per day will lead to better
health. We put this to a test, and find it's true. But there are conflating
factors - is it the praying, or the physical exercise through kneeling, or
doing it in a church, or all of the above, which lead to the outcome?

A Kneelologist could stop, be happy that it works, and promote Kneelism as a
healthy activity. But a non-kneelologist could point out that it's similar to
calisthenics, which was already known to give similar positive results, is
simpler to understand because it doesn't require the prayer component, and can
done by people who are against prayer or don't have ready access to a church.

(Or for a real world example, the asanas from hatha yoga are used as exercise,
and called 'yoga' even though yoga is a much broader topic.)

The scientific approach would address some important factors: 1) is the effect
real and reproducible?, 2) when should be be used instead of other forms of
treatment, and 3) what are the possible conflating factors and can we
disentangle them to improve 1) and 2)?

Applying that to NLP, and making this up because I don't know the details.
What if NLP is an incorrect synthesis of real-world observations that were
already known at the time NLP was developed? In that, the ability of NLP to
predict similar effects is not surprising. Other psychology models developed
since Bandura's work in the 1960s also need to "predict" that behavior
rehearsal can be an effective treatment.

Instead, what new predictions does NLP make which are different from other
behavioral models? Can those predictions be tested? Or failing the ability to
make new predictions, is it a simper model which it at least equally effective
as other models in describing behavior?

That's where the science comes in.

NLP might work. But so might cognitive psychology, and with seemingly fewer
worries about charlatans.

~~~
johw
Yes you are right in the scientific approach.

What's more, NLP was not really developed. The techniques have been copied -
or "stolen" \- from other approaches, starting with Gestalt therapy. Therefore
it's not a simple coincidence that you encounter similar techniques elsewhere.

Also, does NLP really need to bring novel ideas for it to be recognized? It
does not promise anything like that, because that is not it's goal. NLP is
about stealing what works to extend its "toolbox". That is also one of the
points why it is considered being a pseudo science, "copying what works" is
not scientific. In my opinion, not focusing on science is a major flaw of NLP.
Therefore I hope that the NLP research organisation or others will change
that.

Also, like you said, it is also possible that there are flaws in the copies,
i.e. by making wrong conclusion from the observations. I would find it
interesting to compare the NLP versions with the scientific versions to find
the differences and maybe correct one or the other model after running some
tests.

Btw. Do you know if depression or PTSD therapy based on the "scientific"
psychoanalysis does yield results today?

~~~
dalke
"does NLP really need to bring novel ideas for it to be recognized?"

Of course not. It could be synonymous with "best practices." But even if it
were identical to best practices, it uses set of unique terminology which
makes it harder to understand. Why does it do that?

I do not know the answer to your last question.

~~~
johw
That I do not know. However, that is not always the case. AFAIK Hypnosis after
Milton H. Erickson is also part of NLP and similar terminology (if not the
same) is used there.

------
zwetan
It's not about being a dick and discouraging people who want to learn
programming but they should know in what they are getting into: programming is
hard and the learning process is a long road of many years.

Teach Yourself Programming in Ten Years
[http://norvig.com/21-days.html](http://norvig.com/21-days.html)

with that wonderful quote "Bad programming is easy. Idiots can learn it in 21
days, even if they are dummies."

~~~
mseebach
It's important to distinguish being a programmer _at all_ and being a _very
good programmer_.

Even Norvig (condescendingly) concedes that idiot dummies can become bad
programmers. The point he misses, is what Jacques refers to a brain
amplification and Excel programming: even a bad programmer can reap
significant benefits from programming.

My favourite consulting gig, about ten years ago now, was for some friends of
a friend. They were not very technical, most of them history graduates, who'd
taught themselves just enough PHP to cobble together an online history text
book in an open source CMS - and sold it to a bunch of schools, and their
server was now positively on fire. I helped them move to a bigger server, and
migrate their search from the CMS' awful MySQL based homebrew to Solr, and
they lived to fight another day.

Norvig can call them idiot dummies from his ivory tower all day long, but
these guys created a business from nothing, and it's still around today.

------
hueving
Do we call people that put together chairs structural engineers? Do we call
baristas chemists? Baseball players physicists?

Words exist for a reason, and using a spreadsheet does not make you a
programmer. However I can already see that programmer is being diluted to mean
anyone proficient with a computer. What term should we use for people that can
write software? 'Software engineer' feels like overkill for writing small
self-contained scripts.

~~~
joonoro
> What term should we use for people that can write software?

I don't think there's a need for a word, just as there is no word for a person
who can swim (swimmer implies they do it regularly) or a person who can
assemble IKEA products.

------
radmuzom
I agree strongly with Jacques Mattheij. Part of the programmer superiority
(especially HN readers) syndrome is driven by fear; they consider themselves
special and enlightened and "better" than others, and fear that teaching
anyone to be a programmer will undermine their value.

I have seen it repeated multiple times here, in the context of the value of
"unskilled" labour, that you are not adding any value if you are digging up a
ditch and working hard to fill it over and over again. The automatic
assumption is that programmers are providing more value. However, if you are
writing hello world (or a slightly more complex program) in a new cool shiny
language over and over again, then you are not adding any value just like any
other labourer.

------
inlined
This reminds me a lot of a friend of mine who is a brilliant designer and also
very technically adept. She couldn't build an operating system, but she could
build a responsive website in 1/20th the time I could. Yet she's asked me "Am
I not technical? I'm getting interviewed as a non-technical founder". This
"hard core" massochim pissing contest really needs to stop. It feels like
we've bonded with peers who also felt excluded growing up and we've turned
this exclusion into a rite of passage rather than distancing ourselves from
it.

~~~
icebraining
Well, playing Devil's advocate, is the "technical" in "technical founder" a
description of the person, or of the role?

I mean, if she starts a tech company with someone, what will she be doing all
day? It seems to me that designing the company's website, while doubtless a
technical task, would only take a small section of her time. If she does non-
technical stuff the rest of the time, is she really filling the role of a
technical founder?

This isn't a slight at her, just a difference in what we understand the
"technical" to mean. I'm not sure I'd consider even Linus Torvalds a
"technical founder" if his role involved almost no programming.

------
skrebbel
> _And let’s not kid ourselves, very very few people are programmers at the
> level of a Linus Torvalds, Peter Norvig or Fabrice Bellard. Imagine them
> telling you that you’re hopeless and you’ll never really get it so you might
> as well give up now._

I think this is a great point that deserves repeating.

~~~
santaclaus
> very few people are programmers at the level of a Linus Torvalds, Peter
> Norvig or Fabrice Bellard.

I never really thought of Peter Norvig as a 'programmer' in the sense of Linus
Torvalds -- I always lumped Norvig more into the high minded computer
scientist camp. It seems like the criteria by which one judges success in the
two areas are very different.

~~~
jacquesm
Read some of Norvigs code and tell me he's not a programmer, his stuff is some
of the most elegant and efficient that I've ever seen.

~~~
teacup50
Putting programmers on a pedestal fits with the YC culture of marketing via
lionization of technology personalties, but it's counter-productive if your
aim is to actually grow in the field.

Hero worship blinds you to two simple facts, in almost all cases:

\- They're not doing anything you couldn't also do if you worked at it as hard
as they have.

\- Like everyone, they're fallible, making mistakes, and may even not
_deserve_ the hero worship being heaped on them. Until you've worked as hard
as they have to reach a sufficient level of understanding, you're not going to
have as strong of a critical eye for where the erstwhile hero is _doing it
wrong_.

Better to put _no-one_ on a pedestal (least of all yourself).

~~~
michaelwww
I'm sorry to disagree but you're wrong. There are better programmers than I,
that no matter how hard I work I will never be as good as. Not everyone can be
a Mozart or Mozart wouldn't be special.

~~~
teacup50
You'll never be as good if you think of people this way.

------
ectoplasm
There is a binary test for a programmer: someone with basic proficiency in a
Turing-complete language. I like this answer on SO about what that is:

[https://programmers.stackexchange.com/questions/132385/what-...](https://programmers.stackexchange.com/questions/132385/what-
makes-a-language-turing-complete)

> In general, for an imperative language to be Turing-complete, it needs:

1\. A form of conditional repetition or conditional jump (e.g., while,
if+goto)

2\. A way to read and write some form of storage (e.g., variables, tape)

For a lambda-calculus–based functional language to be TC, it needs:

1\. The ability to abstract functions over arguments (e.g., lambda
abstraction, quotation)

2\. The ability to apply functions to arguments (e.g., reduction)

\--

Note that you can be a programmer without ever having touched a computer,
people have been coming up with algorithms and integrating them into systems
for ages.

~~~
sepeth
> Note that you can be a programmer without ever having touched a computer,
> people have been coming up with algorithms and integrating them into systems
> for ages.

Slightly different, but the first episode of SICP videos helped me to reach
the same conclusion:

[https://www.youtube.com/watch?v=2Op3QLzMgSY](https://www.youtube.com/watch?v=2Op3QLzMgSY)

We can even say Newton, or Euclid wrote programs. Maybe not by sitting in
front of a computer, but they described a process to calculate something.

~~~
dalke
"... wrote programs". I think it's better to say they wrote _algorithms_. A
program is an algorithm instantiated for use by a machine, which might be
analog or digital.

I can accept the argument that a human following an algorithm emulates a
machine, but I consider it an imperfect analogy.

------
Dylan16807
>If you say someone isn’t a real programmer then you’re falling right into the
No True Scotsman fallacy, where say making a spreadsheet is ‘not true
programming’ because ‘No True Programmer’ would use a spreadsheet to solve a
problem. But in my eyes being able to use a spreadsheet is already one step up
the ladder and it does make you a programmer.

That's overcorrecting. Spreadsheets are a huge category. You can perform
programming activities in spreadsheets and you can perform non-programming
activities in spreadsheets.

------
InclinedPlane
Gatekeeping this profession seems overly ridiculous considering how
excessively poorly we all are at practicing it. What is that saying about
people yelling the loudest when the differences are smallest or something? It
strikes me as some sort of compensation mechanism. Most of our code sucks,
just really, honestly sucks. The number of software projects in history that
have been done to the best capabilities that time and money would allow is an
appallingly low number. Almost every software development effort involves a
disturbing amount of half-assery. The amazing thing is that despite this it's
possible to produce things that work and have considerable value. But there
are so many ways we could do better, I wish more people would concern
themselves with that rather than trying to ride the bleeding-edge of coolness
or to prop up their personal identity as a "legitimate programmer" by playing
the exclusion game.

------
thaumaturgy
This is a discussion that happens in a lot of different fields of practice. In
medicine, you might have the argument over to what extent chiropractors or
naturopaths are physicians; /r/justrolledintotheshop, one of my guilty
pleasures, has recurring posts about embarrassing things that shadetrees have
done. Right now they're doing the, "hah, car mechanics? Try being a boat
mechanic! Hah, boat mechanic? Try being a diesel mechanic! Hah, diesel
mechanic?..." It's all pretty light-hearted, one of the reasons that I like
that sub, but still, there are similarities.

I get where they're coming from. I've put some effort into teaching
programming to other people too: young kids, guys with electronics backgrounds
but not software, even a homeless kid. I look at programming as a skill, like
dancing, martial arts, or swimming, that can be practiced and improved for
anyone that wants to put the time in to it.

But then sometimes I find myself on the other side of the fence, where a
project is being made a lot more difficult by someone because, "I know
Wordpress, so I'll just handle this complicated not-Wordpress-related hosting
issue myself." Or, "my system was acting strange recently, and I saw this
thing about hackers on NCIS, so I..."

So that's where I start to have a problem with thinking of spreadsheets as
programming. Technically, Jacques is right, it absolutely is. People do
hilariously incredible things with Excel -- even flight simulators!
([https://www.youtube.com/watch?v=AmlqgQidXtk](https://www.youtube.com/watch?v=AmlqgQidXtk))
But it's also not the same as developing an api or wrangling some other more
advanced project, and when the people you're working with understand
programming to be as difficult as a spreadsheet, it can make for some hopeless
no-win situations.

At least in martial arts, if you decide to spar with somebody that's a lot
more advanced than you, you'll learn your mistake pretty quickly. If you
practice swimming in a backyard pool and then decide to have a go at the
ocean, you'll have a pretty sobering experience if you're lucky. But in
software, it's possible to muddle along for quite a long time, making a really
expensive mess, before you realize that you're in over your head. (Which
probably most of us have done at some point.)

------
discreteevent
It works the other way too. If instead of thinking of yourself as a programmer
you think: "I solve problems" You can broaden your reach. There was a time
when I was reluctant to work on something because I couldn't use C++ !

------
sklogic
> Imagine them telling you that you’re hopeless

You don't have to imagine this with Torvalds. He said this kind of things many
times.

------
mianos
I hate to say it, but please don't feed the troll.

