Hacker News new | ask | show | jobs
by james-fend 5251 days ago
Yes, it was the hardest/easiest thing to learn I've ever experienced. Sometimes I was jumping out of my chair and then other times throwing things against the wall.

Plenty of times I wanted to just give up.. during those points; I'd step back and go take a break, go for a walk, do something.. other than think.

Programming is hard because it's full-time blitz mode thinking. I felt the front part of my brain (is that where all the programming juice is held?) hurt often in the beginning.

Do you have an actual product you want to work on?

3 comments

> Do you have an actual product you want to work on?

Having a real product to build, even if its just to help yourself and not the world is key. It gets you out of the tutorials (which you need to do) and into finding out the main problems you have to solve to get something live.

And once you've got something live, you've built your mental framework that you can "hang" everything else you learn on.

Couldn't agree more. The urge and desire to start learning was constantly squashed by the daunting task at hand. Once my ideas began to coalesce into something coherent, the passion and interest superseded the difficulty or fear I'd never "get it".
You're 100% right about having something specific to work on. Going through tutorials doen't commit you to anything, and hence never compels you to keep going when things get tough.

The place where I stopped with Michael Hartl's tutorial was on the authentication chapter. I found that whole salt thing completely confusing. Later, I heard about Devise (and others), I thought—Ok, so I'll never actually need to know how to do this—but that's not true. Right on the Github page it says that Devise is complicated and not for beginners. In fact, I'm pretty sure it links back to Michael Hartl's article as an 'easy' way to implement authentication!

That's when I packed it in right there!

Thanks for the advice and for taking the time to write this stuff down. Your freelance site looks amazing for 12 weeks work. Great stuff.

I'd like to add to this simply because I had a very similar experience but with PHP.

There were definitely times when I was extremely frustrated and wanted to give up. There were a couple times when I had 5+ hour sessions and got nowhere, then I'd come back the next day to realize it was a stupid mistake.

One thing I can't stress enough (and James has been saying it too), if you don't have a final site, product, or app in mind you're probably going to get bored and walk away for good. I tried to learn C++ a while back and gave up because I didn't have anything in mind and the boring repetitive exercises lead to nothing in the end.

"then I'd come back the next day to realize it was a stupid" I couldn't agree with that more!! Come back and you find out all you had to do was restart the 'Rails Server' or simply mis-spelled something.
> Come back and you find out all you had to do was restart the 'Rails Server'

Ha! Hilarious. That's happened so many times.