How should we go about learning, and what are the best resources to learn from?
Founder, Spitfire Athlete; iOS Engineer; National-Level Weightlifter
Codeacademy is a great resource for beginner programming.
Attending different programs will not provide you with all the knowledge you need to know.
Decide what you want to learn, break down the topic into multiple sub-topics, & Google each of them.
Lesson: App Prototyping with Erin Parker
Step #1 Learning: How should we go about learning, and what are the best resources to learn from?
When I encounter something that I want to learn for the first time, whether it's a new programming framework or how to do a specific thing in PhotoShop, I always start with Google. I usually phrase it as "How do you do X, Y or Z?" With programming you'd probably start with beginner tutorials. So let's say you wanted to learn Ruby on Rails, "How to learn Ruby on Rails" or "Ruby on Rails beginner tutorials", and then from there get a sense. Instead of just clicking on the first resource, get a sense of all the resources in the space. So get a sense of the books that are on Amazon, the tutorials that are on YouTube, the ones that are part of your college. Then, probably put together a list of them in order and then pursue them either in the order that's most relevant or whatever is the most appropriate for your level.
That's how I basically started learning programming. There were a ton of articles that said "Hey, if you want to learn Ruby on Rails, start here". I just took the first book that was in that list and just started going through it and reading it. I apply the same methodology to just about anything.
With PhotoShop I realized that the way developers teach themselves how to do things is, they have some foundation of knowledge and then they have a piece that's missing, so they start Googling that piece. There's always a website. Someone else has asked that question before. Someone else has done it before, so they look for that.
When it came to learning design, I thought "Oh, well if I could teach myself how to use PhotoShop the same way, how do I create a triangle or how do I apply a gradient to a layer? What is a layer?" Then I start Googling these things and reading through them. That's basically the process, but then when you find a book that you like to read or that fulfills that need, I find it helps to go through it multiple times.
Going through it once, great, but you're probably only going to retain 20% of the information, but going through it two or three times builds that foundation, upon which you can read other books and then build a stronger foundation.
For programming, I think Code Academy is a great resource for beginners. It gets you comfortable with the syntax and they have end to end tutorials for just about any programming language. From Code Academy, if you were to progress, I'm most familiar with Ruby on Rails and iOS development. Michael Hartl has a book called "The Ruby on Rails Tutorial" which I went through about three or four times. It teaches you how to build Twitter. So in order to build a very basic product like Twitter, he goes down and breaks all of the chapters into the front end, the back end, the different view controllers.
Then for iOS development, which is for iPhone applications, I highly recommend "iOS Programming: The Big Nerd Ranch Guide" Fourth Edition book. That is the latest edition. The previous editions are no longer relevant. That's the one that I recommend.
So one program that I did that was actually life changing was called "Rails Bridge". So Rails Bridge is organized by the Ruby Meetup Group here in San Francisco. They host a one day tutorial on how to build a full stack Ruby on Rails application. I think it still is centered on primarily getting women to code. So I went, no experience whatsoever. I actually went to the Install Fest where you install all the Ruby libraries. I had this old PC and it was really hard to get them, but once, you know, an hour or two later we got them all to work. Then the next day we built an app that was similar to Reddit. So you would have a question and then people would have answers and then you can up-vote or down-vote the answers.
At the end of that day I had met so many women who were starting their journey to learn programming, and then I had also met so many women who were proficient, professional programmers. That was really cool. I was like "Hey, if they're all doing this, maybe I can do this too". The tutorials were so simple that it made sense what the next steps were with respect to learning so that just got me on track and I was really excited about it.
So I highly recommend Rails Bridge or any boot camp where you just dedicate a weekend to learning the basics of a programming language, because then you can take that foundation and build on top of it.
I did the Summer at Highland Program, the summer of 2011 which is when I just graduated from Stanford. Summer at Highland is an incubator program for recent graduates to take their start-ups to the next level. I really liked that that program helped me and my co-founder pursue our company full-time after graduating, and I'm sure it did the same for other companies that were in that batch too.
The program was very educational. We had weekly talks and speakers. We had access to lawyers, designers, people who were able to give us product feedback. I think, though, that many entrepreneurs like to think that going to a program will give you everything you need to know in this one package, with a bow tied around it. But actually a lot of the knowledge that you really need to know you have to pursue yourself, and spend a lot of hours learning. A program isn't really a replacement for that, but it is a great way to meet a lot of people who are further along in their entrepreneurship journey. To get their help and perspective and advice and build on top of a community that is already existing and that wants to help entrepreneurs.
I do recommend that entrepreneurs pursue entrepreneurship programs, join communities related to it, meet other people, get mentors. I think all of that is really good, you should do that but there is no straight path to success. You should do that as part of growing your company, but your core focus should still be to grow your company. Look at the metrics that matter to your company and make sure that you're hitting those. Do not get distracted by dinners or events that may be part of a program, but that are not directly aligned with the success of what your company needs to achieve for that day.