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.
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.
"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'.
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
> 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?
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.
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.
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.