
People Feel Dumb: That's why they don't code - tenpoundhammer
http://impressmyself.co/post/69604357992/people-feel-dumb-thats-why-they-dont-code
======
pessimizer
>I saw another article for an elementary school programming course, and I
can’t believe how far off-base we have gotten.

I don't understand this post at all. There were programming classes at
elementary school 25-30 years ago teaching Logo and Basic on Apple IIs. If it
weren't for those classes, I can't really be sure that I'd be programming now.

So we shouldn't have programming classes for children now because
_confidence_? Am I missing something, or does confidence often come with
experience, especially experience gained in childhood when you're too young
and stupid to be properly terrified?

If you want to raise adult mountain climbers, does it make sense to start your
children climbing hills, or to spend their childhoods giving them the
confidence to attempt to climb mountains as adults, oblivious to their own
incompetence? I don't think confidence-building to the exclusion of skill-
building is the way to go.

~~~
booyaa00
I'm pretty sure most of us learnt to program outside of school, and off our
own backs. Isn't that the best way?

School is there to show kids how to teach themselves anything they want to
learn. Not to spoonfeed them specific skills they may or may not want to have.

~~~
sophacles
Teaching someone to learn should damn well include exposure to a lot of
different things to help them see the use of learning. It should include a
"sandbox" wherein they can learn skills without consequences of simple
mistakes and other learning related "failure" instilling a fear of living
life.

It should include a bunch of basic skills as well - because seriously, I'd
rather be taught "here's the common, most successful way of doing X" rather
than having to go out and discover it on my own for thousands of random
skills. Does that mean one day I may have to give up my notion of "checkbook
register" that is comfortable and I've known forever in favor of "proper
double entry book keeping" \- absolutely, and you know what, I'll take a class
on that too. But in the mean time, I won't be figuring out how to track my
dollars on my own, and in the future I won't rediscover double entry for
myself. Why?

I'm too busy focusing on software stuff in depth. That's where I'm focusing my
"learn for myself" talents and limited time.

------
jere
>I doubt that I am much smarter than the average person. If I can learn this
stuff anyone can. Let me be super clear, there is nothing special about me or
most other software developers, we just decided to show up and go for it.

Are you sure? You claim to be "not much smarter than the average person," but
remember: if you're _any_ smarter than a person with median intelligence,
you're smarter than _most_ people.

Also remember the really high failure rates in introductory programming
classes: [http://www.codinghorror.com/blog/2006/07/separating-
programm...](http://www.codinghorror.com/blog/2006/07/separating-programming-
sheep-from-non-programming-goats.html)

>Despite the enormous changes which have taken place since electronic
computing was invented in the 1950s, some things remain stubbornly the same.
In particular, most people can't learn to program: between 30% and 60% of
every university computer science department's intake fail the first
programming course.

Maybe they're simply lacking in confidence, but these are students that
_chose_ to take the course in the first place.

~~~
cupcake-unicorn
I think the truly smart people don't realize how smart they are. I only know
that I'm "smart" because I keep hearing it constantly from people. I thought I
had normal conversations, apparently I have "intelligent conversations"
instead! I have had the same experience as the author but I have internalized
at this point that I do seem to be smarter than the average person.

I also feel that pushing programming for everyone is a stretch. Some people
just don't get it, and never will, and that's apart from intelligence - it
just requires a specific type of intelligence to truly grasp the concepts.

------
lukifer
This generalizes to all forms of intelligence: those who are afraid of the
feeling of stupidity and ignorance get stuck and don't move past it. I can't
count the number of deeply intelligent people I've known who short-circuit
their thinking and learning processes due to this fear.

It's not a self-esteem issue; it equally affects those who see themselves as
smart, and those who don't. It's an issue of tolerating discomfort and
confusion long enough to get to the other side. I'm not sure how exactly one
teaches that.

~~~
comrade_ogilvy
I would argue that fear of failure is taught.

Small children are relentless and courageous and highly tolerant of discomfort
-- falling down 20 times does not intimidate them when learning to walk. They
get tired, shrug and try again later. They pause their learning process
temporarily but there are no negative emotions there, while the thrill of
attempting something new is still kindling.

------
Raphmedia
People don't code because A) They are not interested in coding. B) They do not
have the ressources to learn coding C) Coding has nothing to do with their job
D) They are too lazy / no will to learn to code.

Hell, I know to code. I code daily, it's my job. And I pretty much NEVER coded
as a hobby. I don't see why non-programmers would take up coding...

~~~
dingaling
E) They don't have time to code off-hours

I have a list of things-to-code as long as my arm, lots of little utilities
and websites I want to create. But once I knock-off work at the end of the
day, have dinner and perform the daily ablutions I simply don't have time.

It is frustrating.

~~~
lukifer
It is for this very reason that I think that Basic Income [1] can/will someday
be a net wealth creator, even if 95% of its recipients end up sitting on their
asses.

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

~~~
gshubert17
Not just that. With guaranteed basic income, in effect everyone has f-you
money. No employer could easily coerce employees to do what they don't think
is right: the employees could more easily walk away.

We could eliminate copyrights. After all, with basic income, artists and
creators are getting paid. Some might release their work to the public domain
right away. Others might pursue different publishing options.

All sorts of corporate (not just individual) welfare benefits could be
eliminated; after all, everyone is getting a basic income.

Basic income would greatly shift power from the most wealthy back to ordinary
people. It could be that the effects would be profoundly democratic.

~~~
dragonwriter
> Not just that. With guaranteed basic income, in effect everyone has f-you
> money. No employer could easily coerce employees to do what they don't think
> is right: the employees could more easily walk away.

While a basic income guarantee would reduce the capacity for coercion, unless
you have fantastic levels of productivity such that you can have very high
output with very low labor input, its not going to be anything like what is
usually considered "F-you" money.

> We could eliminate copyrights. After all, with basic income, artists and
> creators are getting paid.

The purpose of copyrights is to create a marginal incentive to create, which
basic income does not do. OTOH, a well-established basic income guarantee
would further weaken the case for very long term copyrights -- but the case
for that has always been weak, anyway.

~~~
lukifer
> The purpose of copyrights is to create a marginal incentive to create

Income is not the only incentive to create. Many are drawn to the impulse that
Eddie Izzard calls "creativist": rather than making things in order to make
money, make money in order to make things. Currently, copyrights and markets
are the least-worst way we've found to enable these creations to bootstrap,
but if we can do better, we should.

> unless you have fantastic levels of productivity such that you can have very
> high output with very low labor input

The combination of robotics and software make a high-output/low-labor future
highly probable, if not inevitable. How long it will take until Basic Income
is affordable is debatable.

~~~
dragonwriter
> The combination of robotics and software make a high-output/low-labor future
> highly probable, if not inevitable.

Sure. But the future is, you know, different than the present.

> How long it will take until Basic Income is affordable is debatable.

 _Some_ level of Basic Income guarantee is affordable now. What varies with
productivity is the _level_ at which Basic Income is sustainable.

~~~
lukifer
Agreed. I'd be curious what the numbers added up to if we eliminated all
social welfare programs and spent it it on Basic Income instead (not that I
would necessarily advocate for or against that). I'll have to run some fuzzy
numbers when I can find a moment.

------
brndnmtthws
The author implies that everyone is smart. This is false. On average, everyone
is of average intelligence. The entire population lies either below or above
average. Not everyone is capable of being a software engineer, and people like
Barack Obama need to focus on helping people do well at whatever it is they
can do well at (rather than trying to churn out a bunch of burdensome code
monkeys).

~~~
fragsworth
> Not everyone is capable of being a software engineer

Bullshit. This is a very narcissistic view that lots of programmers have. I
think you have this belief because it helps you enjoy feeling superior to non-
programmers.

If a person can learn how to read and write, then they can learn how to
program. It just takes time and effort, and some people can learn it faster
than others. But just about anyone can do it.

The only things holding them back are their priorities and misconceptions.

~~~
RussianCow
It's not about intelligence--some people's brains just aren't wired in a way
that would make them any good at software development. That doesn't mean that
they _couldn 't_ ever learn how to write code given enough time, but not
everyone has unlimited time and will power to do that. So in theory, yes,
anyone could learn to code. In practice, it doesn't work out that way.

~~~
pessimizer
>some people's brains just aren't wired in a way that would make them any good
at software development.

People say this a lot. That is the entirety of the evidence for it. I have yet
to meet someone in a context in which they actually wanted to program who
didn't have the ability. Programming isn't hard, _hard_ programming is hard,
because it usually requires hard math and deep abstraction. In those cases,
though, the programming is the easiest part - it's pencil to notebook that's
frustrating.

~~~
thedufer
> People say this a lot. That is the entirety of the evidence for it.

"I haven't seen the evidence" is hardly synonymous with "there isn't any":
[http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf](http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf)

------
TulliusCicero
The bare basics of coding, like variables, conditions, loops, creating and
using objects, etc. aren't that hard. Certainly no harder than, say, high
school algebra. So writing a simple script that's basically a big main
function is something that most people are capable of learning how to do.

But core CS concepts about data structures and algorithms, or designing large
OO programs with your own classes and methods? Those are significantly more
difficult things. Not everyone can do that.

The thing is, being a programmer means you probably hang out with people of
above-average intelligence, and read things written by people of above-average
intelligence, so that skews your perception of what 'average' means. I mean,
we had plenty of people fail miserably at my college intro coding class, and
this was at a fairly respectable tier-1 research university!

~~~
wwweston
> being a programmer means you probably hang out with people of above-average
> intelligence,

Above average programming-related intelligence, anyway.

------
jgg
What we need are more people who know what they're doing. I find it
condescending to assume that we really need to coddle more people and make
them _feel good_ about coding. Do we need to make this same argument for
electrical engineers, surgeons, pilots and air traffic controllers?

I don't mean to imply that the current software world is a cabal of highly-
skilled geniuses who need preserving - it's not. From personal professional
experience, it's, on average, a nuthouse of self-promoting Java idiots with a
"dropout genius" mentality who have no common sense and are not nearly as
smart or good at problem-solving as their blogs or resumes would lead you to
believe.

However, I think it would another discussion entirely to ask if the wrong
people feel confident enough to write code. The belief that we need to reach
out and bring more people into programming, in a world where the average
developer struggles to cobble together a web application that isn't full of
basic security holes, is ridiculous.

Also, I strongly suspect all of these efforts to drag more people into coding
are at least partly sponsored by industry, in an attempt to drive the
relatively-high wage of a programmer down, in the face of a perceived increase
in programmer demand.

~~~
KrisAndrew
> Also, I strongly suspect all of these efforts to drag more people into
> coding are at least partly sponsored by industry, in an attempt to drive the
> relatively-high wage of a programmer down, in the face of a perceived
> increase in programmer demand.

Perhaps by newer and less experienced entrants into the business market.
Whenever there's a boom in a certain market, you get a lot of hacks flooding
in who have a lot of money, but little sense. Web development was this way
post-dot-com-crash. There were many print advertising agencies that added on
web development as a service to their clients. However, they didn't alter
their business practices to accommodate the needs of software development.

These agencies treated software developers like graphic designers. They almost
always required fixed cost contracts for development ($X to build a website),
and this caused a ton of problems that would be evident to seasoned
developers. When I suggested that they change their compensation practices
they would refuse, and just blame it on the original programmer for being
unskilled.

I didn't mind in the beginning, because I was making $200-$300/hr to fix their
problems. However, I eventually quit consulting because I got bored with
cleaning up bad code caused by time/money constraints. It wasn't stupid
programmers who caused the problem, but stupid business people.

Bringing it back to the main topic - I think it's wrong to get more people to
code. Those who graduate with CS degrees and software development skills are
entirely capable to building large, functional systems. However, a good bulk
of those programmers aren't going to work at a software/tech company. They're
going to work in the IT departments of companies in non-software industries.
Efforts should be made to better integrate these ad-hoc IT departments into
the primary business.

------
LoganCale
> I saw another article for an elementary school programming course, and I
> can’t believe how far off-base we have gotten. We don’t need more software
> developers but if you believe that notion, I don’t think more courses is the
> way to go.

I don't think idea is to make everyone a software engineer, it's to teach the
basics of computer programming to everyone so they can use it in their
everyday life in the same way basic math, language and other skills are
taught. Being able to hack together a basic script to automate a tedious task,
or make your computer (something almost everyone has at this point) do
something it can't already do would be beneficial to a lot of people, even
when most of those people are not going to become software engineers in the
long run.

~~~
6d0debc071
Do you think they'd be allowed to? IT policy is generally 'nothing we haven't
authorised' I remember not being able to connect non-approved _keyboards_ to
the computer....

------
InclinedPlane
That's why people don't learn new things in general, they hate feeling
helpless, clueless, dumb. They hate the shame and embarrassment of making
basic mistakes, and they hate the potential of breaking things out of
ignorance. If you've ever seen someone who is not very tech savvy use a
computer you can see all of these things reflected in the way they go about
things, it's a big reason why they tend to fall into a specific very narrowly
defined pattern of use and stick with it.

------
bsbechtel
Saw someone tweet a few weeks back that criteria for advancement in education
(e.g., graduating 1st to 2nd grade) needs to be mastery-based, instead of
time-based. This is the most brilliantly simple insight into our education
system I've ever come across. What better way to make someone feel 'dumb' than
to give them an "F", "D", or "C" after a year of education when their peers
receive "A"s and "B"s.

------
stringerbell
I agree with the premise, but not the conclusion.

For myself, not feeling smart enough was why I waited longer than I should
have to learn how to code.

This part especially resonates with me:

>"...we just decided to show up and go for it."

I think that's a choice that anyone has to ultimately make if they want to
learn anything.

Software training programs among other things are just one way to capture
people's interests, and I think is a good supplement to a larger push for
people to learn how computers work.

------
_random_
Why is it then all the worthy developers I've seen are super-smart?

------
ocfx
I think math can be taught much more effectively to young children through
programming. It gives them a direct and useful application of what they learn
in math which could motivate them a lot more.

~~~
jgg
I think math can be taught just fine without dragging programming into it.
Basic math is usually abstracted away in programming anyway - it would be no
different than using a calculator.

Plus, the level that you'd need to reach for the kid to see something
interesting as a result of math would require so much time and knowledge that
you'd have been better off to just teach them fractions.

