The aims of these years is to have a deep understanding of Web development while building projects along the way, get a good foundation in Math, Algorithms and Data Structures, and enough preparation to get a job on the field.
- Progress
- The rules
- Part One - Getting Job Ready
- Part Two - Depth dive into Computer Science.
- Resources
- Bonus List
- Frequently Asked Questions
Goal:Be comfortable with git by midway through Tier 1, and comfortable with Precalculus by midway through Tier 2.
Anything in Tier 0 can be studied before beginning Tier 1, or alongside the rest of the guide as you progress through the other Tiers.
- JavaScript Interview Prep. Sign up for this now and work through it alongside the rest of the plan.
- Read up on Gulp and try to incorporate it in your workflow
- Read up on Mocha and try to incorporate it in your workflow
- Read Project Specification Documents and get in the habit of including every bit of information it details that makes sense for a project in the README.md or other supporting documentation for your projects
- Course: Try Git and/or How to not f-up your local files with Git part1, part2 and part 3
- Read: A successful Git branching model
- DOING Read: The Ten Rules of a Zen Programmer
- Read: What Every Programmer Should Know About SEO
- Book: The Pragmatic Programmer this is a must-read
Goal: Become Proficient with HTML, CSS and JavaScript.
You should be able to get the FreeCodeCamp Frontend Certification after this tier
- DOING Book:
You Don't Know JS: Up & Goingor Eloquent JavaScript - FROZED Course - CS50 on edX
- Book: You Don't Know JS: Scope & Closures
- Course: Learn to Code HTML & CSS
- Project: Pick a template from here, here or here and implement the frontend of a website with it as your inspiration (do not use its assets)
- DOING Book: You Don't Know JS: this & Object Prototypes
- DOING Project: CSS Zen Garden - implement your own CSS design for the competition
- Course: Programming for the Web with JavaScript
- Project: Pick a template from here, here or here and implement the frontend of a website with it as your inspiration (do not use its assets)
- Book: DOM Enlightenment
- Project: Henceforth, finish one FreeCodeCamp Frontend Project every 7 to 10 days.
- Book: You Don't Know JS: Types & Grammar
- Project: Pick a template from here, here or here and implement the frontend of a website with it as your inspiration (do not use its assets)
- Book: You Don't Know JS: Async & Performance
- Project: Select an API from Todd Motto's API List and build a frontend-only application powered by data fetched from the API you chose.
- Course: Learn to Code Advanced HTML & CSS
- Project: Select an API from Todd Motto's API List and build a frontend-only application powered by data fetched from the API you chose.
- Course: Getting Sassy with CSS or Sass, or both why not?
- Project: 100 Days of CSS, scroll to the bottom of that page, beginning with #001, recreate the images, in CodePen. Start the first one now and set a goal of finishing as many as you can by the end of Tier 3. (Intent: Build a presence on CodePen as a proficient HTML/(S)CSS developer to add another online body of work alongside your growing GitHub profile.)
- Book: You Don't Know JS: ES6 & Beyond
- Project: Select an API from Todd Motto's API List and build a frontend-only application powered by data fetched from the API you chose.
Goal: Become familiar with D3.js and Node.js to strengthen your proficiency with JavaScript by exploring how it's used in a Full Stack application.
During this tier you should get the FreeCodeCamp Data Visualization Certification. Also, from now on this you'll Depth dive into Computer Science.
- Course: Software Architecture & Design
- FROZED Course: Databases
- Course: Data Visualization and D3.js
- Course: M101JS: MongoDB for Node.js Developers on MongoDB University (Sign up at the start of the Tier and then take the course when it becomes available)
- Project: Select an API from Todd Motto's API List and build a frontend-only application powered by data fetched from the API you chose.
- Project: Clone this Admin template using React, Angular, or Vue
- Book: JavaScript Allongé, the "Six" Edition
- Project: Clone this online resume template
- Project: Do a one week Speedrun of the FreeCodeCamp Backend Projects, finishing as many as you can in 7 days.
- Book: JavaScript Design Patterns
- Project: Do Javascript30
- Project: Clone this blog template - note that there are multiple pages
- Project: Revisit CSS Zen Garden - and implement a new design
- Project: Clone Twitter using Node.js on the backend, and your frontend framework/library of choice. Include all basic features: signup/login/logout, follow user, search, tweet, like/retweet, home page with stream of recent tweets.
Goal: Practice Frontend Development in greater depth and continue studying JavaScript, ensuring you understand the algorithms and data structures you're likely to encounter in interviews (and on the job).
During this tier you should get the FreeCodeCamp Backend Certification. Being the hardest tier, you should combine the projects carefully with the topics covered during the part two from of this guide.
- Project: Read these resources on how to contribute to Open Source - and make two contributions to open source projects (of your choice) by the end of this Tier.
- Book: Open Data Structures.
- Project: Finish all classic puzzles on CodinGame from easy through hard by the end of the Tier.
- Project: Clone Medium. Include: create account, create post, publish post, edit post, add topic to post, follow user, follow topic, cheer for post, and home page with feed of recent posts, followed users, and followed topics.
- Project: Pick a template from here, here or here and implement the frontend of a website with it as your inspiration (do not use its assets)
- Project: Select an API from Todd Motto's API List and build a frontend-only application powered by data fetched from the API you chose. Consider building it as a Chrome Extension, Mobile, or Electron App
- Project: Pick a template from here, here or here and implement the frontend of a website with it as your inspiration (do not use its assets)
- Project: Select an API from Todd Motto's API List and build a frontend-only application powered by data fetched from the API you chose. Consider building it as a Chrome Extension, Mobile, or Electron App
- Project: Full stack project of your choice (ideas: clone Facebook, Reddit, Netflix, Slack) - Consider building it as a Chrome Extension, Mobile, or Electron App.
- Project: Full stack project of your choice (make it grand) - or do a one month Speedrun of the FreeCodeCamp Projects.
Goal: Interview with confidence.
By the end of this tier, you should have completed at least 50% of the part two
- Project: Finish any questions you have remaining from JavaScript Interview Prep
- Project: Finish any of 100 Days of CSS you have yet to complete.
- Project: Create and polish your Portfolio site. and your portfolio.
- Project: Create and polish your Resume/CV.
- Project: Cracking the Coding Interview on HackerRank
- Project: Continue honing your skills as you interview. Prioritize contributing to open source.
- Book: College Algebra
- Course: Essence of Linear Algebra
- Book: Precalculus
- Course: Mathematics for Computer Science
- Read Algorithms and Flowcharts and then familiarize yourself with Pencil ... start flowcharting complex portions of your code logic as part of your documentation
- Book: Introduction to Algorithms by CLRS or Algorithms by DPV
- Course: Skiena's Algorithms Lectures - 2012. Also in Youtube
- Project: Complete all algorithms from FreeCodeCamp while working through the study plan, whenever you can and with at least one other language in addition to Javascript.
- Book: Algorithm Design by Jon K., Eva T.
- Project: Complete all challenges from the Code Jam Qualification Round 2015. Consider using another language besides of Javascript.
- Project: Finish all the Classic Puzzles from Coding Game
From soft-medium to advace topics This part is mostly personalized as I already have experience with Python and C++
- Book: Automate the Boring Stuff with Python
- Project: Complete or redo any of the backend projects from FCC with Python as the backend language
- Read: The Debugging Mindset
- Read: What every programmer should know about memory
- Book: Sams Teach Yourself C++ in One Hour a Day
- Project: Complete or redo any of the backend projects from FCC with C++ as the backend language
- Book: The Rust Programming Language
- Project: Complete or redo any of the backend projects from FCC with Rust as the backend language
- Course: Software Development Courses
- Course: Compilers
- Book: Professor Frisby's Mostly Adequate Guide to Functional Programming
- Course: Introduction to Software Product Management
- Course: Software Processes and Agile Practices
- Course: Client Needs and Software Requirements
- Course: Agile Planning for Software Products
- Course: Reviews & Metrics for Software Improvements
- Course: Software Product Management Capstone
Sidenote: Obviously, this isn't perfect. It is mostly an outgoing project.