Back-end Frameworks: Once you’re done with Codecademy, you’ll have the basics of front-end web development. At this point you may want to learn a bit about back-end frameworks like Ruby on Rails or Django (Python). The debate between whether to learn Python or Ruby is a heated one and you really can’t go wrong with either. There’s a great thread on this topic on Quora. At this point in your coding career, I would stay away from languages like PHP and Java given the time required to get up to speed and develop anything useful.
If you elect to learn Ruby, TryRuby is a great introduction to the Ruby programming language and can be accessed from your web browser (doesn’t require any installation). This is pretty lightweight and will give you a sense for how the Ruby language functions. Once you’ve gotten through TryRuby, you’re likely ready to dive deeper by following a Ruby on Rails tutorial. Getting the Ruby on Rails framework up-and-running on your computer will be one of your hardest tasks and is easier on a Mac. A great tutorial is Michael Hartl’s Ruby on Rails Tutorial. Whenever you get stuck, you’ll be able to find solutions to your problems using Google since Ruby has one of the most active communities of any programming language.
For those that elect to go with Django, many tutorials exist. Python has been popular for longer than Ruby and, as a result, there is a ton of information out there. Most of the computer science departments at major universities teach Python, so taking an online class like the one currently being offered by Udacity, is a great option. There are so many online course options available that I’ll post a separate dedicated thread later.
When you want to begin building mobile applications (i.e. for the iPhone), this is easiest with a Mac and can be done using the iOS development tool Xcode. There’s a great post on this on Udemy, so I won’t go into it here. To program a native mobile app (as opposed to a web-based mobile website), you’ll have to dabble in Objective-C (Cocoa) or something similar (like RubyMotion).
If you want to be in the startup world, but think of yourself as a business cofounder, you’ll have to know something about programming to command any respect from your engineers. You’re unlikely to get much traction with the tech community or in finding a technical cofounder if you have no technical knowledge. The best way to learn to code is to do some of the tutorials suggested above and then create something for yourself. It’ll be painful, but building yourself a tool will increase your credibility and give you confidence in your ability to understand the technical side of things.