News for hackers. Stuff that matters.
Re:Being honest with myself: my journey to learning how to code by keiferski on Thursday September 06, 2012 @02:51PM (#4485590)
I'm currently learning how to code. The biggest problem that I consistently have is getting the damn thing to work. I'm about halfway through the Hartl Rails Tutorial, and moving at a snails pace because I have to google error messages every five minutes.

I end up spending hours changing permissions, re-installing packages, and poring over StackOverflow posts. I get that real-life software development is very similar, but I'd really just like to build something.

Coding isn't all that hard (in my experience). It's the tangential stuff that makes it hard, and as a result, turns people off from learning.

Re:Being honest with myself: my journey to learning how to code by clavalle on Thursday September 06, 2012 @03:56PM (#4485894)
A huge part of coding is tenacity.

Run into a problem you can't figure out? Time to get resourceful...go for the common solutions first: Think through the problem and try to figure out where you went wrong. If that doesn't work, look at similar examples and documentation. If that doesn't work go to the common win areas: StackOverflow, Google. If that doesn't work, go on to IRC or forums. If that doesn't work walk over to a knowledgeable collegue etc. etc. until, all at once, the solution comes to you like a bolt out of the blue and it is like you've known it your whole life. Rinse and Repeat until you've built something useful.

The hard part is not cutting corners and sacrificing your original intent for the sake of getting over a hump. This is not so hard when expectations are clear like a tutorial but it is all-too-easy when creating a new product or feature.

Good luck and welcome to the Tribe!

Re:Being honest with myself: my journey to learning how to code by benji-york on Thursday September 06, 2012 @04:12PM (#4485981)
I have come to believe that tenacity is the most useful skill (or trait) that programming can teach (or ingrain).

Done well, the tenacity that a programmer possesses looks almost super-human to outside observers as well as being extremely valuable in other areas of endeavour.

Re:Being honest with myself: my journey to learning how to code by wamatt on Thursday September 06, 2012 @06:23PM (#4486601)
A huge part of life is tenacity.
Re:Being honest with myself: my journey to learning how to code by OWaz on Thursday September 06, 2012 @03:04PM (#4485657)
I think what makes a difference is how you react when something goes wrong. Do you flip out and pull your hair out and complain? Or do you calmly try to understand what the problem is, spend some time figuring out what YOU did to create the problem and then fix it. I work with people who look in all the wrong places to fix a problem thinking some hidden magical set of code breaks things at random.
Re:Being honest with myself: my journey to learning how to code by kine on Thursday September 06, 2012 @03:06PM (#4485665)
Once you realize that the clues are all in the errors and they're not just random bits of text, that's what sets you free and gives you the power to fix.
Re:Being honest with myself: my journey to learning how to code by waterlesscloud on Thursday September 06, 2012 @03:50PM (#4485863)
Unless what you're trying to learn is Clojure. ;-)
Re:Being honest with myself: my journey to learning how to code by gnaritas on Thursday September 06, 2012 @09:57PM (#4487333)
Very true, also, the computer isn't trying to trick you, stop blaming it and go look in the mirror, there is your adversary.
Re:Being honest with myself: my journey to learning how to code by jeremyjh on Thursday September 06, 2012 @05:10PM (#4486263)
THE COMPILER IS WRONG!!!
Re:Being honest with myself: my journey to learning how to code by cfontes on Thursday September 06, 2012 @02:56PM (#4485618)
Welcome to our world!

I spend almost 30% of the project time helping people setup their environments or tracking a problems that are not directly related to the task they are assigned to do... that's unfortunately part of the game.

But the bright side is that it will take less and less and less time to solve this kind of problem after a while.

Re:Being honest with myself: my journey to learning how to code by foobert on Thursday September 06, 2012 @04:45PM (#4486148)
i was having similar trouble with the hartl book and got discouraged.

I recommend doing these ruby tutorials and then the rails tutorials on this website: http://tutorials.jumpstartlab.com/

The projects are much shorter, and you very quickly realize the power of programming with ruby and rails.

Now i'm jumping back into the hartl book and everything has been making sense.

the jumpstart tutorials are very small, and once you create a rails app enough times you realize how much work its actually doing for you.

Re:Being honest with myself: my journey to learning how to code by lukethomas on Thursday September 06, 2012 @03:08PM (#4485677)
Make sure you are using the latest version of the book (if you are running Rails 3.2). I have the book, and I experienced the same problems!

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

Re:Being honest with myself: my journey to learning how to code by heretohelp on Thursday September 06, 2012 @03:05PM (#4485662)
Getting efficient (not proficient, just efficient) at programming has a lot to do with experience and smoothing out all those errors from past scars.

If it makes you feel any better, that slow grindy Google-heavy progress is normal for any programmer working in an environment they aren't experienced in. Toss a senior backend guy into frontend JS and CSS. Watch him rend his clothes to shreds. (CSS is fucking evil btw.)

You slowly get better/quicker at learning new things, but nobody really walks into something different and just instantly knows how to do everything.

The most important skills you can develop for ameliorating this is getting ace at debugging and static analysis. Both are close to my primary knack, above and beyond anything else I do as a programmer. I'm the go-to guy for my team whenever an intractable error/issue comes up.

It is with great pleasure that I've been told this is Rich Hickey's knack as well, although I sincerely doubt I'll be anywhere near that good in the next 20 years.