
Is it possible that some people are just not cut out to program? - sporkenfang
I&#x27;m not talking about not being able to write FizzBuzz here; what are some traits or learned behaviors other than sheer programming ability individuals might have that make them less (or more) suited to working as software engineers?
======
shermanyo
I strongly believe that everyone could write useful, nontrivial programs:

\- in a domain that they understand

\- if given suitable tools

I've seen musicians do things I couldn't begin to draft an implementation of,
thanks to domain-specific environments like Max/MSP. Their understanding of
audio mixing, musical timing, and signal processing mapped to the development
environment _and_ workflow intuitively.

It's humbling when you struggle through basic DSP, then a guitarist shows you
a complex algorithm and shrugs it of with "its just like lil effects boxes,
dude."

Watching him debug was eye opening too. As if tracing a buzz on his guitar's
signal path, he patched in after each node to confirm the output at each step,
like I'd do with a debugger on each line of my code.

His context was so beyond my understanding though, picking up on issues
further down the signal chain by noticing frequencies that would feedback,
clip or cause phase issues. It really showed me that an understanding of the
domain and context of what you're trying to achieve trumps nearly everything
else.

~~~
deepaksurti
>> in a domain that they understand

That could/should be the future of programming. Every interaction with a
domain expert where he shows what the app should have done makes me think
"Damn, what if I as an engineer was writing tools that enable the domain
experts to write the apps?".

We as engineers will be spending time writing tools with powerful toolkits
that enable domain experts to write apps. Will that also lead to a shrinking
of the number of software engineers really required? ARE we in a BUBBLE?

------
borplk
Yes of course and don't believe the politically-correct or politically-
motivated nonsense of "everyone can program".

If you have paid any attention to the society you can see the different
classes of personalities. Some of them, naturally, are polar opposites.

For lack of a better word the "artsy" types are generally not "cut out to
program".

The people that are cut out to program are generally in a small subset of the
"thinking" types.

I know I'm generalising but that's the point, you can almost never state
something about a large population and have it hold true or false in all cases
so exceptions exist but they are negligible.

Try explaining binary to that kid in your school that loved ballet dancing and
theater. You can see a part of them die in their eyes in the first 15 seconds.

Try it with that other nerdy kid that keeps to himself and you see his eyes
shine as he has the ah-ha moment. Chances are he doesn't see "the point" of
dancing, too.

These differences exist and they are everywhere all around us from a young age
to adulthood. Denying it doesn't help anybody.

~~~
RUG3Y
Some of the best programmers I know are also musicians. I think you carry some
assumptions that should be challenged.

~~~
borplk
Sure, I do too. As I said exceptions exist. Existence of exceptions doesn't
invalidate the broader pattern.

Which group would you say is more likely to have more (current or one-day-to-
be) programmers in it? A group of loud extroverted cheer leaders or the folks
from the chess club?

Virtually everyone would say the folks from the chess club. Except those who
are self-conscious about being politically correct. Those would say they have
NO IDEA! It's completely random. Maybe a few Linus Torvalds would come out of
the cheer leading team.

Look, I'm not arguing about specific cases and exceptions. I'm talking about
the GENERAL pattern which exists and is the basis for the myriad of
stereotypes that everyone is aware of.

------
orionblastar
The problem is that many people drop out of high school or college without
getting the required math and computer classes to understand how they work.
Some people don't study computer science at all but want to get rich quick.

Those of us who learned in high school and college have the passion for
programming that drives us to succeed. Not everyone has that passion.

To be honest a lot of people have problems learning how to program. I worked
in a college computer lab back in the DOS and Novell Netware days. I've seen
people struggle with trying to program or debug. The process is very stressful
unless people know how to handle stress.

HN claims fake it till you make it. In a way this is true as you learn and
practice programming. It keeps your confidence up and the more you do it the
better you get.

~~~
dvdhnt
> Those of us who learned in high school and college have the passion for
> programming that drives us to succeed. Not everyone has that passion.

I feel like this implies that those of us who learned programming outside of a
traditional classroom are not "passionate". If so, that's just not true.

Almost every programmer I speak with who has a CS degree or who took at least
one class in college has told me they both did not enjoy the structure of
their courses and learned the skills they actually use after college.

My experience in the few courses I did take on programming, they're just not
structured very well and are unfortunately tied to a course catalog or
curriculum.

Your point on stress, or rather failure, is more poignant. I think that it
comes down to an individual's ability to accept incremental victories and to
think critically, or problem solve as it's often called.

Also, I feel like a programmer's ability to read documentation and examples
and project them onto his/her own software can make or break a career.

~~~
orionblastar
I think I made a typo or something. I didn't mean to imply that people
learning programming outside of the classroom don't have a passion for it. I
taught myself before I went to high school with a Commodore 64 and developed a
passion for programming and got into programming by switching to a better high
school that focused on math and science.

Without that passion, programming kind of sucks. When I programmed it was like
an art form and a science all in one. I would try to solve a problem with my
program, make mistakes, get errors, get the wrong results, and had to keep
editing, deleting, and rewriting code until I got it to do what it is supposed
to do.

I worked with people who didn't go to college and had no degree and had a
passion for learning and read books to get good at programming.

Without that passion, it is kind of hard to stick to keep trying until you
make a program that does what you want it to do. People give up sometimes and
all they need is a little help with another set of eyes looking over their
code.

I had a good college and good professors who encouraged me to keep learning
and getting better and develop that passion. Other colleges didn't have that
as sometimes the professors didn't know enough about the language to write a
program or help students. I once had to help my friend's mother at a college
because nobody at that college could help her learn how to debug her Visual
Basic programs I spent a few hours in their computer lab and helped her debug
like 10 different programs.

I've also seen MOOCs where they try to tell students to use an integer to
store PI.

const int pi = 3.14159

Instead of using math.pi or something else. The constant pi is an integer so
it equals 3.

I've seen all sorts of stuff.

~~~
dvdhnt
Right on, I appreciate the clarification.

Ah, honestly, I envy that time you had before the internet/javascript/SPAs/etc
became so ubiquitous. I bet it was loads of fun figuring it all out and
hacking your way to a solution?

You're right, programming really is a drag. I know it's different, but just
like with athletes and training versus playing, writers toiling away on
manuscripts and outlines, and someone like my father, a construction worker,
who labored on bits and pieces of a project before ever realizing the
satisfaction of a completed project; you have to endure the suck and find
satisfaction in it. SMALL VICTORIES.

Your story reminds me of the passages on Bill Gates in Malcolm Gladwell's The
Outliers that talked about Gates teaching himself programming and spending
time in the school's library to use the one computer, eventually consulting at
an extremely young age.

------
lj3
At my college, CS 101 was an intro to the C language and it was required for
all engineering students, not just comp sci majors. I tutored a lot of guys on
my dorm floor so they could pass it, but most of them couldn't wrap their
heads around any of it. Not even FizzBuzz. And these aren't stupid people,
either. Most of them went on to do well in aeronautical and civil engineering
disciplines.

Programming requires a certain amount of abstract thought that not everybody
is capable of. As far as I can tell, there's a direct trade-off between
spatial reasoning and abstract reasoning.

------
zer00eyz
Can everyone learn to play an instrument if given enough time and practice?

The answer to your question and the music one is YES. Not everyone is going to
be A Mozart or a Torvalds, and thats OK because it takes all stripes to get
things done.

All it takes is motivation, dedication and practice to master programing (or
an instrument).

------
veddox
Of course. Just as not everybody is cut out to be an athlete or a musician,
not everybody has the abilities to make them a (semi-)competent programmer.

Programming requires very abstract, logical thinking - not everyone's brain
works like that. Learning programming also requires a ton of patience and
determination (chasing all those bugs) as well as the ability to learn large
amounts of arcane syntax by heart.

Not everybody has these skills, or the grit necessary to put in the required
hours of training. And why should they? I don't see this as any kind of huge
societal problem... After all, we don't go around demanding that everybody
should be able to work as a carpenter, or a lawyer, or a surgeon. You do what
you do best, and that's all there is to it.

------
mettamage
I want to say yes, but then I think about people who have an IQ of 60 and it
pains me to say that they are not cut out to program, unfortunately. I want
them to be able to reach for the moon, but in that sense, I don't think they
can. Likewise, I'm not the best fit for becoming a yoga instructor.

Looking at the extremes makes it easy to find examples of people who aren't
cut out for it.

------
nanis
The short answer: Yes, of course.

