
How to learn programming without getting stuck - NonUmemoto
http://plumshell.com/2016/10/01/how-to-learn-programming-without-getting-stuck/
======
thght
After about 30 years of trying to become a better software developer I have a
hard time to believe you can do this without getting stuck now and then. It
seems part of the deal to me. We are problem solvers, whether is is solving a
nasty bug or learning a new language, and for me it's definitely part of the
fun and fulfilment once something is solved. If it were too easy I probably
would not be doing this, I just need that challenge.

So, that's why I needed to respond to this title, as it seemed opposed to what
I am actually doing every day. And what do I do when I get stuck regularly?
Google, learn, think, try, experiment, fail, learn etc.. (not necessarily in
that order of course).

My amazing manager had this desire to become a software developer, but he quit
doing that because he couldn't handle the getting stuck part. It was just not
for him. He finally became an IT manager, the best I worked with so far. First
because he's a great guy, but mainly because he respects and understands what
I am doing.

------
jasode
Paying a (remote) _mentor_ to demonstrate how he/she codes is the author's
answer to the article's headline.

 _> My particular idea was to watch someone’s live coding via Skype, [...]

After I posted my offer on Upwork, I got over 10 candidates within 2 days. My
hourly rate range was around 10-40USD, and each candidate requested between
10-40USD. _

If you want to approximate this without spending any money, you can watch
youtube/vimeo videos on any conceivable computer task. You can watch how
experts use the vim editor, code games from scratch, deploy something to AWS,
create MS Excel financial models from SEC 10-K filings, apply special effects
in Photoshop, etc. Whether or not "mirror neurons"[1] are true, the youtube
videos seems to help people.

You can use the free videos sort of like a "twitch.tv" to learn programming. A
lot of the youtube videos (especially long multi-hour ones) include actual
"think time" so you hear the presenters explaining their thought process and
watch how programmers sometimes backtrack from dead ends. The professional
videos from Pluralsight/Lynda/Coursera will be edited to not include the messy
(but real life) progression of building something from nothing.

Sure, if you pay money for a mentor, you can get specific questions answered
which is definitely an advantage.

[1][https://en.wikipedia.org/wiki/Mirror_neuron](https://en.wikipedia.org/wiki/Mirror_neuron)

~~~
Habesha
I think having the need to build a specific product helps, and paying for
mentoring helps to keep him motivated

Update: For really motivated students they can live watch some one code here:
[https://www.livecoding.tv/livestreams/](https://www.livecoding.tv/livestreams/)

------
plinkplonk
"stuck" is an honorable state when learning something. It just means that you
are encountering something you actually have to learn (vs extrapolate off
existing knowledge, or an analogy, say)

Getting stuck is _good_. It means that you are at the edge of your knowledge,
and when you have worked through whatever you are stuck on, you will have
'leveled up'.

------
henrik_w
I like this quote:

"Give someone a program, you frustrate them for a day; teach them how to
program, you frustrate them for a lifetime." \- David Leinweber

------
zwieback
Even after 20+ years of software development I still learn a lot each time I
do a code review or pair program. Of course there's other developers around me
where I work so it's a "free" resource.

$20-$45/h seems very low, though. I charge $120/h for moonlighting and I don't
think I'm that expensive so you may not get top level talent for <$50

~~~
home_boi
I was going to say, top engineers are paid $100-$200/hr at work. Unless they
are doing it as charity work, they would be very unaffordable.

Although if the person looking for a tutor is very junior, then he can learn
from basically any senior engineer.

------
anondon
> I think this is the biggest barrier for learners since you can’t even guess
> how to google it when you don’t know what to do next.

Just curious, not limited for RoR, but are there any websites that aggregate
resources for beginner,intermediate, advanced developers and provide a path
towards becoming advanced developers?

------
dvtv75
I was hoping for more.

Sometimes, when you're learning a new tool, you know you need to ask something
but you don't know exactly what it is you want to ask.

That's what I was hoping for.

------
projektir
The most difficult part of learning programming is figuring out _what_ to
learn, at least, for me...

------
curiousgal
TL;DR

Hire a mentor.

~~~
amorphid
I didn't have much success hiring a mentor. The people I wanted to give money
to were too busy, or didn't want to take my money for personal reasons (being
held accountable for me actually learning, feeling I couldn't afford it, etc.)

If I were to learn programming over again, I'm not sure if hiring a mentor
would be a strategy I would pursue.

~~~
bgribble
There are several online learning services that will pair you with a mentor
who has already demonstrated that they can and want to mentor you. You pay
more but it may be worth it.

I happen to work for one such company (thinkful.com) but there are others;
coursereport.com is a great resource for reviews and comparisons.

~~~
PagingCraig
I'm learning to code, but every person on Codementor I've contacted hasn't
responded.

