
How I Failed, Failed, and Finally Succeeded at Learning How to Code - jimsojim
http://www.theatlantic.com/technology/archive/2011/06/how-i-failed-failed-and-finally-succeeded-at-learning-how-to-code/239855/?single_page=true
======
mwfunk
In general, I've found that almost all success at anything worth doing comes
from repeatedly failing until you don't. If you fail the first time and give
up, you probably didn't care enough to do it anyway. If you succeed the first
time, it probably wasn't that hard. Fail often and fail hard and be proud of
it! It's a sign of progress, or at the very least attempted progress.

~~~
lqdc13
Or a sign that you should try something else. Not everyone can succeed at
everything. Obviously it is best to recognize that as early as possible in the
endeavor.

~~~
michaelbuddy
the best story always involves the ones where somebody WANTS to do something
so bad that they just keep at it at all costs and eventually make it. Great
story but the more common story is somewhere between giving up vs realizing
that something isn't that valuable to you (or as fun) as you thought it might
be. you realize you don't or probably won't enjoy the process. The no pain no
gain model is true to an extent but often a person got a closer look, they can
probably deal with the pain, but the gain is no longer all the shiny and worth
pursuing.

So you must look at the objective with short and long goggles to see if your
understanding about it is right. As you do things well they might get more
enjoyable with time. Finding a balance where challenge is still there but
you're in the zone of craft. Where you know you can make it work and the
challenge is something surmountable. The memory of how hard it was to get to
that point isn't one of regret or pain. Just learning, and maybe relief.

------
Havoc
Was easy as a kid - effortless even. If your day job doesn't involve coding
then it fades fast though.

The mindset / thinking style thankfully doesn't seem to fade though. Thats why
I'm all for making kids learn to code. Yes they'll suck & no they won't become
real programmers but it leaves a permanent imprint on the minds of those that
take it seriously.

~~~
johnmaguire2013
I loved it. I bought my first domain when I was 10, intending to create a game
like Neopets. I obviously quickly learned I wasn't going to be able to, but I
created a fan site, kept hacking at it, and learning. I learned security, etc.
By the time I was out of high school, I was recruited by Barracuda Networks.

Some of those kids will go on to be decent programmers. And it definitely
leaves you with a much more analytic way of thinking, for better or worse.

[1]
[http://www.screenshots.com/ghostlypets.com/2005-12-15](http://www.screenshots.com/ghostlypets.com/2005-12-15)

~~~
Havoc
>leaves you with a much more analytic way of thinking, for better or worse.

I'm curious why you say "for better or worse"? (Not judging either way - just
curious as to your thinking)

~~~
bjones22
Not OP, but I'd like to chime in here. Getting good with computers is often
best done by spending a large amount of time on computers. For many of "us"
that involved teenage years playing MMORPGs, general programming, IRC, etc.

Despite a certain illusion of sociality involved in these activities, I am of
the opinion that they are uniquely anti-social, and thus were in one way or
another a deprivation of my childhood.

Sure I now have a much higher earnings potential. But was it worth it? I don't
know. And thus I'm in no position to recommend it for anyone else.

Theirs probably a balance in it somewhere. And you can be damned sure if I'm
ever a parent I'm going to tread lightly between "my child should learn to
program, go to college, etc." and "my child needs to live a happy, normal,
life".

That why it's a "for better or for worse" mentality in my opinion. We don't
really know which is best do we?

~~~
trentmb
> Despite a certain illusion of sociality involved in these activities, I am
> of the opinion that they are uniquely anti-social

Makes me wonder about my 'choices'\- did my anti-social tendencies arise from
my interest in programming (and math, etc.), or did it drive me to them?

~~~
farnsworth
I think about the same thing quite a lot. I remember having anti-social
tendencies from a really young age. No idea why, I was just rarely interested
in other kids. So I spent a lot of time dicking around with my computer. That
paid off, but I got a little better with social skills later on after working
at it. I always wonder how my life would be different if I didn't have all the
computer escapism and worked on social skills earlier.

------
personjerry
I'm waiting for an article about "How I Failed, Failed, and Am Still Failing"
to provide the flip side in contrast to these success stories we are so biased
towards

~~~
logicallee
here you go - "So I fired up my IDE and spent an hour, finally getting my C#
program to compile. It put out bullshit, I couldn't figure out why. I gave up.
Then I fired up my ole' Putty and tried to get into my server to figure out
why my database kept giving me an error. I thought about rolling back but
couldn't figure out how Chef actually works, even though I set it up. Finally,
I had this really cool idea for a javascript game I could code up real quick,
and spent an hour in the javascript console trying to figure out why it
wouldn't execute. Gave up on that too. I read some forums, there was a cool
app to scrape my facebook, I ran it, it just requires Python, but it wouldn't
run. Overall I accomplished nothing. Oh, and Chrome is still crashing at the
most random times, no idea why."

Not quite the story we like to read.

~~~
javajosh
Holy shit you just articulated all of the reasons that hackers value their
knowledge - and the very important quality of _never giving up_. You search.
You go on IRC. You get the source and compile it. You step aside and learn a
tool better in isolation - then use it on your problem. You poke, prod, test.
And your understanding begins to form, to conform to the shape of the problem,
the map of what you know, what you've tried, what you have yet to try. You
talk to others to fill in the important blank of what you don't know yet to
try.

Because that story you told is abhorrant, even profane, but all too common.

------
happytrails
I keep seeing all these programming articles and schools that'll teach you in
3 months and you'll make 70k+. Someone is trying to flood the market to drive
wages down.

~~~
enraged_camel
>>Someone is trying to flood the market to drive wages down.

Why resort to such a conspiracy theory? Do you have any evidence?

I subscribe to a much simpler explanation: the market is simply responding to
demand for higher-paying jobs. Colleges are obviously failing to train people
for such jobs, so vocational schools (i.e. for coding) are picking up the
slack.

~~~
no1youknowz
I saw this recently.

Make of it what you will.

[http://i.imgur.com/VzVNAFc.png](http://i.imgur.com/VzVNAFc.png)

~~~
aklemm
Hmm, help me figure out what to make of it. Where did see you it (I'm trying
to understand the context)?

~~~
no1youknowz
It was a response to the comment:

>>Someone is trying to flood the market to drive wages down.

As you can see here. Someone who was an analyst, self taught themselves to
"code" in rails, php, python and javascript.

Which by their own omission is using "scripting" techniques to build the
application from a template.

They are wanting to go on a bootcamp where they cramp you with tons years of
knowledge in just what 12 weeks?

Once working, they expect to earn 85+k.

Does this remind you of anything?

Remember the whole MCSE debacle pre 2001. Where colleges where promising $100k
salaries for doing tech support.

Where are the wages now? Oh yeah, for an MCSE, A+, Cisco Cert don't expect to
be paid much.

~~~
kitsunesoba
Anybody entering the market that has even a grain of intelligence would be
spending their time both before and after being hired learning how to engineer
software (language/framework agnostic) instead of forever monkeying around
with a scripting language in a single environment. Doing anything less is
eventual career and paycheck suicide. Python or Ruby are fine as starting
points, but if you stop there you're fucking yourself over.

------
akshat_h
I am curious if project euler teaches you programming. I does teach you
mathematics and thinking logically, but software engineering is different and
is really learnt on the job. I am always confused when someone says about
learning or teaching coding. What is meant by coding here? Writing fizzbuzz?
Or writing enterprise software with so many levels in between and around as
well.

~~~
danso
> _I am always confused when someone says about learning or teaching coding.
> What is meant by coding here? Writing fizzbuzz? Or writing enterprise
> software with so many levels in between and around as well._

Isn't that like asking, "What is meant by 'learning to write'? Subject-verb
sentences? Or the next Great American Novel?" It's possible to learn
programming without getting into software engineering.

~~~
akshat_h
Point noted and accepted. It seems I haven't even graduated and am already
becoming insular and elitist. Need to do some self-realization.

------
buckbova
[2011]

It took a while before programming really "clicked" with me too, and I started
with BASIC on an apple ][. It probably wasn't until a year or two into CS that
I could approach a problem in an organized manner.

Now after decades of exposure, as my CS algos professor prophesied, it takes
me a week or two to pick up a new language.

------
ZoeZoeBee
Welcome to the New World, the education system in America is broken especially
when it comes to teaching evolving topics like programming. Imagine what the
world would be like if instead of the 30hrs Americans spend on average
watching tv a week, they instead took that time to learn and create.

~~~
lqdc13
I imagine it being much more competitive for us if it was the case. I'm
actually very happy that not many people know how to code or have the interest
in it. It almost feels like we have unfair superpowers.

~~~
ZoeZoeBee
LoL alright fair point, but they don't have to learn to code, just find
something instead of zoning out.

------
ArekDymalski
"In a way, the ORIC-1 was so mesmerizing because it stripped computing down to
its most basic form: you typed some instructions; it did something cool. This
was the computer's essential magic laid bare. Somehow ten or twenty lines of
code became shapes and sounds; somehow the machine breathed life into a block
of text."

Oh, yeah. I still remember that feeling from Atari 65xe and then C-64. Now
it's much harder to get such instant gratification. While trying to revive my
passion and learn new stuff as an adult I also failed several times, because I
set my aspirations too high and wasn't able to quickly learn all the necessary
stuff _at once_ :) Nowadays the path to "cool things" seems to be much harder,
until you adjust your personal definition of cool.

~~~
andreasvc
I think today you get that kind of interactive computing with something like
the IPython notebook. You can load an image, apply an effect on it and
immediately see the result. You can lookup documentation interactively too.

If anything, I think nowadays there are too much cool things, and the
challenge is figuring out what can be achieved with them in a small number of
steps, instead of getting lost.

~~~
johnmaguire2013
> If anything, I think nowadays there are too much cool things, and the
> challenge is figuring out what can be achieved with them in a small number
> of steps, instead of getting lost.

And which are actually important to know vs. which will fade in less than a
year.

~~~
lukaslalinsky
Cool things are rarely important to know, even if they stay cool for a long
time. The important thing when starting programming is to have fun. You don't
need to keep the knowledge. When I was learning programming in BASIC on C64 I
knew that's not the language people write real programs in, but it was still
fun and it thought me to think analytically and gave me some technical basics.

------
agumonkey
I always felt weird about this kind of math, because problem don't have an
"API", or an algebra, it's too open. But if you're into creativity and search
then it's even more fun. Maybe a psychology thing in the end.

Took me far too long to find the triangle area.

------
billrobertson42
Not having success at the beginning isn't failing. It's learning.

------
jtwebman
ORIC-1 was the Raspberry PI of my day as well. Though I had a Commodore 64.

~~~
fit2rule
Still got my ORIC-1, and a few Atmos' to boot .. the kids love 'em!

------
rickdale
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.

Samuel Beckett

