Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How should a beginner learn to code?
8 points by mtran on March 28, 2011 | hide | past | favorite | 36 comments



I quit my job and learned to code over the last 8 months or so. The main thing- write code everyday. A little, a lot. Just start spinning that wheel. You'll learn a bit here and there. But the big advances come after a few weeks when you piece together the little concepts.

I started with Python & Google App Engine. I would recommend this to anyone. You don't have to worry about the server and can just pay attention to actually learning a server-side language (assuming that is what you want to focus on).

Check out http://learnpythonthehardway.org/index

O'Reilly books are excellent too. If you have any questions, my email is on my profile.

Don't stop - code every day!


We are taking a similar leap - totally changing gears and rearranging everything to go after it. Thanks so much for the resources; I'd love to stay in touch and will check out your profile. Do you know how long this stream will be saved? Will I need to archive it myself or will I be able to access it indefinitely? (<30 days on HN and learning every day!)


Also, check out the Ask YC Archive curated by the noble Gabriel Weinberg: www.gabrielweinberg.com/startupswiki/Ask_YC_Archive

A real treasure trove about basically everything and anything you'd be interested in for entrepreneurship, job finding, programming, school, life, ...anything.


Thanks so much! This one question/thread has led me to more relevant resources and "answers" than many people get during a semester in college. Will add this to my list. Thanks again!


Threads are not deleted, though they can get hard to find. Definitely save the URL, but don't worry about copy and pasting the contents.

Another great HN tool is http://searchyc.com. You can search submission submission titles, comments, and get feeds for most types of things.


Great. I'm saving all of the links in my Evernote but am wondering if I'll be able to find people in the future through my comments/submissions/threads or if I should save them too! Thanks for your help!


Yes, you can find people you've interacted with on HN by browsing Threads (top nav) and Next -> Next -> Nexting through your history. Though the URL of each deep page is not permanent, the threads/history do not disappear and you can always browse your history.

URLs of threads/parent/child comments are permanent.


Great info, Thanks a million!


Here's the progress blog - http://www.proudn00b.com/ (mentioned in a similar thread today).


Just checked it out! How great - loved your "about" ... "to take control of my destiny"... are you by yourself in SF?


I'm absolutely in this boat at the moment, and I've covered a ton of ground. Lynda is great, railstutorial.org is fantastic as it covers pretty much all you need to know - testing, git, github, heroku etc.

But I have to say, as others have said - you just have to get down and code. I've covered a lot material, but the moment you sit down to write a piece of code by yourself - the game changes. Its like a different dimension.

So my advice to you as a fellow noobie is run through the tutorials enough so that you know your M from your C and get writing.

Join StackOverflow (which never ceases to amaze me) and read read read!

Best of luck.


Thanks so much. I will check this out and share it w/other team members tonight! One of us is really strong w/database but does mainly govt' stuff which is all CF. Another is amazing w/UI and design, and my strength is project management- I'm great at translating and organizing what pp want into a format that makes developers happy. We're looking to fill the gap which is flexibility and skill in choosing and using the right language to get the job done.


Pick a small project you want to work on, then start trying to make it real. Ask for help from people around you. People like helping other people, especially if 1. you make it easy for them, 2. you seem to be putting in a genuine effort.

Tons of "Ask HN" posts on this topic have already been posted. The first step to showing people you're serious is to actually do your own research first.

The post that got me started with writing code was http://iamelgringo.blogspot.com/2008/05/teach-yourself-you-t...


So psyched to read this. I've been devouring HN for the last couple of weeks. It's great to be able to get the perspectives of both awesome developers and people who are or have been in a similar boat (just getting started). Thanks for taking the time to answer. I read a ton and have been collecting some awesome resources - my Evernote is filling up w/ amazing resources I'll be happy to share w/others when opportunities present. Thanks a million.


I think the first step is to decide why you want to learn to code - do you want to persue a career in software engineering, or to build an MVP for your startup idea?


I want to be able to contribute to our start up by writing code even if it's not as the lead... and certainly to know enough to be an asset for other developers... and also to know what good code looks like. I think I need to figure out if I can be any good at it to know how far I'll take it. Some people say anyone can write code but other people say being "math minded" is critical, and that's daunting to me.


1. Pick a Language 2. Find a beginners guide to said language. 3. Start building stuff.

You need to start building stuff. The only time I've ever learned to code was when I was trying to build something. Reading books, taking algorithm classes, etc never did anything for me. Give me a real world problem and turn me loose. That's how I learn best, and I expect most people do too.


How do you pick a language? I've heard soooo many different perspectives on this. I just started fooling around w/Ruby because the tools were easy and fun to use... but since I'm just getting started I'm wide open for suggestions.


That sounds like a perfect reason to choose ruby.

Your choice of language is almost irrelevant when first starting out as long as you pick something like php, python, or ruby. As the languages get more exotic or lower level they can become increasingly more difficult to learn.

Run with Ruby and enjoy!


Thanks for the reinforcement - it is a little daunting to wonder how far you should go down a given path w/out knowing much about the other options... this is a great way to sort some of that out. Thanks again!


There is an identical ask thread to this that I just posted an answer to, so I will crosspost my answer from there:

If you want to do front end web dev, learn these languages in this order:

HTML - http://www.w3schools.com/html/ CSS - http://www.w3schools.com/css/default.asp Javascript - http://eloquentjavascript.net/contents.html

And then pick one of the following two: PHP - http://www.tuxradar.com/practicalphp or Rails - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

There are many languages that you can learn for front end other than RoR and PHP, but they are two of the most popular right now, and will almost certainly suit your needs. Good luck, and stick with it when it gets frustrating, learning how to code is definitely worth it!


Just to clarify RoR is a framework, and PHP is a language. Each language has many frameworks to choose from. You need to learn Ruby before learning Ruby on Rails. Each framework allows for rapid development of websites or web apps, and should be learned separately from the language they support.

If you want to learn how to code backend stuff pick either python, ruby or php.


Thanks for clarifying this. I'm sure it sounds oversimplified to non-beginners but I didn't fully get the difference until I tried out Code School's Rails for Zombies and they directed me to "Tryruby.org" 1st.


I am on it! I'm getting enough here to keep me busy for quite a while! How can I find the other thread? I'm going to keep track of all of the people that help me out on this post so I can shoot you a note when I finally build something cool! Thanks so much for sharing these resources.


I didn't realize you started a post too. Here's my link: http://news.ycombinator.com/item?id=2380810


Loads of articles about non-technical founders needing to learn to code. Short of pursuing a CS degree, and after Tryruby.org and Codeschool.com, what do you recommend?


Lynda.com has some good training. I'm finding their Ruby on Rails 3 Essential Training to be very easy to follow. I have been programming in PHP for the last 3 years, so I do have some experience with programming, but I think this training would be just fine for beginners as well. It is $25 a month for a basic account and you might find that a little high, but I think it's worth it for the amount of training that you have access to.


I will check this out. I've been amazed at the affordability of available resources and think $25 a month is very reasonable. It's also great to find so many people who are generous with their time and expertise and willing to offer some direction. I love this place! Thanks a bunch for sharing your resources!


Yeah HN is definitely a great community. It's not a bunch of people being snobby and rude like you would find with traditional forums. I've only been a member of HN for about a week, but I'm addicted because of the positive attitudes that the majority of the members have.

By the way, I'm also loving RoR. I went through some training on it a couple of years ago, but I was already set on PHP and didn't take it seriously. Now that I'm actually learning RoR I can't believe I wasted my time with PHP all of these years. I'm not going to say I hate PHP, but RoR makes things so much easier in comparison.


Thanks -that's great information (about RoR) - Hearing from people w/all different coding backgrounds and levels of expertise is a huge asset for us right now. There are so many camps and HN is definitely helping us sort it out and learn to ask the right questions. A friend just told me today that some people have concerns about Ruby's scalability for complex and high traffic apps and sites (which is what we intend to build) - but others swear that's what it's best for... would love to hear your take.


I'm definitely not an expert, but I have been looking at the scalability of RoR as well. Twitter was built with RoR and you can kind of take that as a good thing and a bad thing. They had some trouble in the beginning, but from what I can tell they really didn't consider the scalability when they built it. I think if you plan to have to scale then you should be fine.

A couple of things to look at: http://www.buildingwebapps.com/articles/6419-can-rails-scale...

http://rubyonrails.org/applications


Fantastic, thanks! This is right on time for some of the discussions we are having and I really appreciate your taking the time to point these out! Would love to hear if you run in to any more/ anything different on this subject. Thanks a million!


Since you're interested in Ruby, try learning rails. I suggest reading through Ruby Guides' Getting Started[1] and then going through the Rails Tutorial[2], where you make a Twitter clone.

  [1] Ruby Guides - http://guides.rubyonrails.org/
  [2] Rails Tutorial - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book


Great! I'll check these out and share these with my teammates. Thanks for passing them on!


It's too bad you cant just do a complete submersion like with a foreign language.


Right? It's funny because I've used language programs to learn Italian, French, Spanish,and Vietnamese... just a bit of each and that's exactly what I have been thinking - about how Pimsleur would be great for this and Rosetta Stone would be great for that... I can definitely see traces of the same kind of teaching in TryRuby.Org




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: