Ask HN: how can I prepare myself for a web startup (while still in college)?
https://news.ycombinator.com/item?id=3070563TLDR: I've got 1-2 years to learn how to build web applications. What should I be doing?
-------------
WHO I AM:
I'm a liberal arts major with two years left in my degree. I've always been interested in entrepreneurship (and have done various little non-tech projects over the years) and have a few ideas I'm dying to implement. I have a background in computers, but mostly in IT, not programming.
-------------
WHAT I KNOW:
HTML, CSS, basic JavaScript, basic Java.
-------------
WHAT I WANT TO DO:
1. Be able to design, build, and manage a (fairly simple) web application entirely by myself. My ideas are not technically complex; most of them are database driven, and the majority of the work is in the design and content. As in craigslist or Wufoo, not Google. 2. Know the fundamentals/theory of CS and programming in general.
-------------
WHAT I don't WANT TO DO:
1. Learn super-complex mathematics and CS theory
2. Spend too much time on topics that are not related to modern web application development
3. Get a job as a developer in a large company somewhere
-------------
WHAT I'M DOING (TO LEARN THE ABOVE:)
I am not a CS major, but I am taking 2 CS courses this semester (OOP with Java and a foundation IT course). Next semester, I plan to take: "Data Structures", "Intermediate Programming with Java", and "Database Management Systems". After that, I'll be taking as many CS courses as I can.
I have also made an all-around CS "curriculum" for myself, which is composed of online course materials. At the moment, the plan is:
1. Stanford Programming Methodology (Introduction to Programming w/ Java)
2. MIT Introduction to Computer Science (Introduction to CS w/ Python)
3. MIT Structure and Interpretation of Computer Programs (principles of computation using SICP)
4. Stanford Programming Abstractions (abstraction, OOP, data structures, etc. using C++)
5. Stanford Programming Paradigms (Advanced memory management features of C and C++, brief survey of other modern languages)
6. Stanford iPhone Application Development (tools and APIs required to build iPhone apps)
7. Various tutorials/books/etc. on Ruby/Rails (what I plan to build my sites in).
-----------------
MY QUESTION TO YOU IS: WHAT SHOULD I BE DOING?
I'd like to stress that I don't want to be a software engineer (as a career); I'm mainly interested in entrepreneurship, and coding is but one skill I need to accomplish my goals.
I want to be able to design, build, and manage a web application on my own, and if/when it grows large enough, hire someone who is technically superior to me to manage it (while I then focus on the "business" aspects.)
- Does that curriculum align with my goals? I get the feeling that parts of it may be too low-level (Paradigms) or irrelevant to my goals (iPhone Development). Would I be better off jumping right into Rails after I get the fundamentals down? Or will the wide-variety of languages ultimately help me more?
- Should I try to get an internship at a startup? Or would I be better off just building my own little projects?
- Do you have any suggestions for learning materials?
-------------
Thank you very much for the help, and sorry for the length.