Before You Begin
Commit to a real process…
If you’re just getting started learning to code please do yourself a huge favor and plan out a course-of-action. It’s incredibly difficult to gauge your progress if you don’t know where you’re going. Planning out you course-of-action will force you to set daily, weekly, and long-term goals. Google Keep is great to create an actual todo list that you keep updated daily! Don’t stop there though. You should also be tracking your time spent on each item in your course-of-action plan as to hold yourself totally accountable. Tracking your time also helps train your mind to get into the routine of coding daily. So at the end of the week when you look at your hours tracking your amount of time spent practicing should always be increasing. I use a free super simple web app called Toggl which allows you to categorize where your time is being spent. Don’t get too granular with these descriptions though because they should be your high-level goals (such as finishing a new course).
Coding really means taking what is already broken then little-by-little fixing it. You’re like a detective solving one clue at a time till it works how you want it to.
If you’re completely new to coding and fairly unfamiliar with any CSS or HTML I recommend starting with the free Codecademy courses. While learning to code can seem daunting, just know that you too are perfectly capable. Everything worthwhile requires practice and the more practice it requires the more worthwhile it is. Be patient with yourself and don’t give up because what coding really teaches you is how to think and organize your thoughts. The biggest tip I have for you as a new programmer is to practice everything you learn at least two times so that you’re more likely to retain what you’ve learned and to ensure your 100% comprehension of the material. Completing these below free courses in this order will help you to retain what you’ve learned. Repetition and practice is key because consistency is everything in programming.
Be patient and embrace repetition…
- Codecademy Learn HTML
- Codecademy Learn CSS
- W3 School Learn HTML
- W3 School Learn CSS
- Make a Simple Website
- Codecademy Learn Responsiveness
- W3S Bootstrap
- FlatIron School Bootcamp Prep
- W3S JQuery
- Codecademy Ruby on Rails It’s a great introductory course but you still need to learn to get your projects setup on your own machine (computer).
- Getting Started with Rails Project This will be a challenge because everyone has a different computer and can run into different issues when setting up a new environment. Google and StackOverflow are going to be your best friends here.
Baby Steps Project
Venturing into the unknown…
- Oops! You didn’t see the link to the video you should have watched from FlatIron Bootcamp Prep? This is a must to watch and re-watch. Watch it here Intro to Object Orientation
- Okay. Awesome. Now you can start the front-end of your very own app. You’ve learned everything you need to start structuring your project but likely haven’t retained everything yet so this app will be an ideal way to practice everything you’ve learned thus far. So take the beset so-simple-its-dumb app idea you’ve ever had and actually start to build it. First thing is first. Build out a feature list and add in as many sub-bullet points as possible about the behavior of that feature but keep in mind that this should be an MVP (Minimum Viable Product). It’s better to have something that works rather than nothing so stage-gate your ideas into categories of MVP, Stage 1, and Wishlist. You’ll only be doing the MVP items to start.
- But first. Learn to write Psuedo code. and go ahead an write this out for your main feature. If your psuedocode is getting to complex you should reduce your desired features in your MVP list.
- Don’t know where to get started for that cool feature? Turn to RailsCasts for a clear screen share on how to build most of the things you’re likely considering.
Embrace error messages and failed tests because nothing is more powerful than knowing what not to do. Google is a devs best friend.