Coding Bootcamps are an incredible resource for accelerating the learning of beginning programmers.
It is, however, important to remember that the courses are only a few months long. It would be unrealistic to expect to learn everything you need to know to be a Junior Developer in just 2 or 3 months.
The biggest piece of advice I could give to any person who is planning on attending a Coding Bootcamp is this:
Teach yourself first.’
If you start the course with a basic understanding of the fundamental concepts, you will struggle less and learn more than the students who do not have that strong foundation.
First, here are the top free and paid resources you should use:
- Codecademy: Well-designed introductory courses on multiple common programming languages.
- Learn Code The Hard Way: Less fancy, but more in-depth courses on several common programming languages. Note: You may have to dig for the link, but there is a “Free HTML version” of each course.
- Coursera: Courses offered for free by major universities. The content and availability of the courses varies.
- EdX: Similar to Coursera
- Hartl’s Rails Tutorial: The definitive introduction to Ruby on Rails. Like “Learn Code the Hard Way,” the same content is offered for free online or as a paid PDF download. ***Note: The recently-released 3rd edition is much more beginner-friendly than the previous edition, but the 2nd edition does teach one important skill: setting up a development environment. Going through the first chapter of the 2nd edition to would be a good exercise once you have more experience.
- Google: (Yes, Google.) Never underestimate the power of Googling the error messages you see. 90% of the time, you will find the answer in Stack Overflow
- Stack Overflow: A website that allows programmers to post questions and get answers from other programmers. As a newbie, it will be very rare for you to encounter a problem that has not already been documented on Stack Overflow. Be warned: you are expected to check that the question has not already been asked, and make a reasonable effort to troubleshoot the problem before you ask a question. (The penalty for not doing so is death by humiliation.)
Paid Resources (each worth their price):
- Lynda.com: $25/month. An extensive library of high-quality videos on a wide range of topics. Programming videos range from Introduction to Programming through advanced, language-specific courses.
- Treehouse: $25/month (Basic account, which has all the features you need) Interactive courses that include videos, quizzes and code exercises. The topics are more limited than on Lynda.com, but the interactive exercises and well-moderated forum make these courses especially helpful.
- Codeschool: $29/month Similar to Treehouse, though possibly a bit more advanced. Has more up-to-date Rails courses than Treehouse.
Here are the concepts and technologies you should have a basic familiarity with before starting a Ruby on Rails bootcamp.
- Fundamentals of Object Oriented Programming: This will give you the basic understanding of programming and the vocabulary that you will need. Lynda.com is my top choice for this. Second choice would be a free open course on Coursera or EdX (the courses offered vary, so I can’t point out a particular one).
- Command Line Proficiency: (You know that black box labeled “Terminal”? Stop double-clicking on things and start using that instead.) Learn CLI The Hard Way is an excellent resource, but you will only become truly proficient if you use the command line (aka bash) regularly…so read that and then stop double-clicking.
- Basic Text Editor Familiarity: (This is where you will write the code that you will run in the terminal). Sublime Text or Atom are great text editors to download. Both are free-ish, but Sublime will bug you to buy a license. You may hear that Vim is the best text editor, and that is true for experienced programmers, but is not worth fighting with if you are just starting out.
Pretty Darn Critical Knowledge:
- Basic Ruby: Codecademy is a great starting place. If you have time, try “Learn Ruby the Hard Way” as well. If you have time and money, try Treehouse and Lynda.com.
- Basic HTML and CSS: Again, start with Codecademy, then try Treehouse or Lynda.com, or just build some sites for practice.
- Basic Rails Knowledge: You MUST go through Hartl’s Rails Tutorial, but don’t be surprised if you have to spend a significant amount of time googling error messages. For additional practice: Lynda.com can give you better explanations of the Rails concepts, Treehouse can walk you through more projects, or Codeschool has an excellent series called Rails for Zombies with videos and exercises.
- Git and Github: Git is a version control system that you will be using to save your work. It is very complex, and very important to understand. Lynda.com has an excellent course on this, but if you cannot do that, here is a very poor second-best: http://git-scm.com/book/en/Getting-Started-Git-Basics . Github is the website where you will back up your work remotely. They have their own usage guides: https://github.com/.
Slightly Less Critical Knowledge:
Other Things to Learn (or at least become familiar with):
- How the Internet Works: this is an article that explains a lot of terms you will hear thrown around, such as “node”, “client”, and “server”
- Regular Expressions: At a minimum, know what a regular expression is. Learning how to use them can be saved for later.
- JSON, XML, and API: 3 terms worth googling, but I would not try to dive into learning much about them before bootcamp.