Web development, software engineering, games programming, mobile app development ...
- Summary
- Guides
- Job Ready Guide - JavaScript Edition 3.0
- Job Ready Guide - Python Edition
- Computer Science and Backend Development - Java Focus
- Computer Science and Web Development - comprehensive
- Web Development with Computer Science Foundations - comprehensive
- Data Science - comprehensive
- Video Game Programming - comprehensive foundations 2.0
- Native Android Programming - comprehensive
- Topic Specific Guides
- regex
- Angular
- Vue
- React
- Practice/Speedrun Project lists - interview prep, portfolio building, practice for programming competitions
- Frequently Asked Questions
- Attribution
- Old versions which have been replaced by newer revisions to the guides (left here so as not to strand anyone already using them who doesn't want to swap to the newer version)
- Job Ready Guide - JavaScript Edition 1.0 - deprecated
- Job Ready Guide - JavaScript Edition 2.0 - deprecated
- Video Game Programming - comprehensive foundations - deprecated
Resources for learners who want to dive deeper on their journey to becoming web developers / software engineers. There are multiple guides, the first outlines the bare minimum to be successful as an entry-level junior web developer, two dive much more deeply to prepare you for "beyond junior", and one that focuses on game development.
If you're interested in seeing how much Computer Science you can learn in a year, the CS guide has been ported over to be one of the paths in my Speedstudy Challenge.
Additional guides added:
- Android Development - May, 2017
- Data Science - September, 2017
- Job Ready Python - September, 2017
- Job Ready JavaScript 2.0 - September, 2017
- Practice/Speedrun Project lists - October, 2017
- Topic Guide: Angular - January, 2018
- Topic Guide: Vue - January, 2018
- Topic Guide: React - January, 2018
- Computer Science and Backend Development - Java Focus - April 2018
- Job Ready JavaScript 3.0 - December, 2018
- Video Game Programming - comprehensive foundations 2.0 - December, 2018
A few people suggested making it possible to buy me a coffee as thanks - so please feel free but not obligated to
Do not click that button if you don't want to or can't afford to. I devote time to this project because I want to, in my free time, because I value helping others. Not for donations. The button is just there on a lark because a couple people asked for it and I'm, frankly, curious. Donations (or lack thereof) will not alter my dedication to this project either way.
A JavaScript-centric version of the Job Ready Guide, narrowly focused on building the skills likely necessary to beeline to "job ready" JavaScript Developer. This is a further update to the original guide and is designed to provide a gentler introduction plus far more hands-on practice throughout the course of the guide.
Goal: confident frontend web developer ready to apply for junior positions
go to the Job Ready Guide - JavaScript Edition 3.0
A Python-centric version of the Job Ready Guide, narrowly focused on building the skills likely necessary to beeline to "job ready" Python Developer.
go to the Job Ready Guide - Python Edition
Deep dive into Computer Science with a focus on Java
"not in a rush" plan, with resources to increase the depth of knowledge gained in general computer science topics plus sufficient implementation practice to confidently enter the industry as a Software Engineer
Goal: proficient software engineer, well versed in the Java Programming language in particular, and Computer Science in general
go to the Computer Science and Backend Development - Java Focus Guide
Get prepared, over the long haul, to be an established senior level software engineer, capable of architecting solutions for the web (and beyond it)
"not in a rush" plan, with resources to increase the depth of knowledge gained in general computer science topics plus sufficient implementation practice to confidently enter the industry as a Web Developer or a Software Engineer in non Web related positions
Goal: proficient web developer and software engineer (this option has more of a computer science focus, but also web development)
go to the Computer Science and Web Development Guide
Get prepared, over the long haul, to be an established senior level web developer, at the level where companies would be lucky to have you and people would be following your blog because you're an expert
"not in a rush" plan that focuses on pushing beyond beginner level, and intermediate level, to expert level as a web developer with a reasonable foundation in software engineering
Goal: confident web developer ready to apply for non-junior positions (this one primarily focuses on web development but includes enough computer science to lay a good foundation)
go to the Web Development with Computer Science Foundations Guide
Learn the mathematics, science, and programming skills necessary to tackle machine learning, bioinformatics, artificial intelligence and other data science tasks.
"not in a rush" plan that pushes from beginner to advanced, including a bonus tier to push even further.
Goal: accomplished and capable data scientist, proficient in Python, R, Mathematics, Science, and the algorithms standard to data science.
Note: the 2.0 version of this guide includes slightly more game programming practice, adds the excellent CS50 game programming course, and a general overall maintenance update to ensure links are current.
Develop a variety of games, first in JavaScript, then C++ while learning the computer science principles important in game development ... while having fun in the process.
Goal: learn how to code video games
go to the Video Game Programming Guide2.0
Learn native Android Programming, including Java at a rigorous level, including the math and computer science topics necessary to ensure you're prepared to tackle any Android development task.
Goal: Become a proficient and capable Android developer
go to the Android Programming Guide
Comprehensive review of narrow topics.
Topic specific practice, to build out a portfolio, gain additional experience in an area, or for a preset list of assignments to tackle for a hands-on boosting speedrun to drive your ability to the next level (check the Algorithms section for interview prep or practice for programming competitions in Python, Java, C++ or JavaScript):
- Algorithms and Data Structures
- Android
- Frontend Web Development
- Fullstack Web Development
- Game Development
see the FAQ
- Many of the courses listed closely mimic the list from Open Source Society University - Computer Science
- Many of the topics selected to augment were inspired by Google Interview University
- Many of the projects were inspired by (or are directly taken from) Free Code Camp, The Odin Project and Udacity
Although I took heavy inspiration from many resources when creating these guides, none of it is a cut and paste path from somewhere else. Often, I substituted courses (especially in the case of Coursera) to ensure that the entire course was available for free and required no purchases of any kind. Where possible, I tried to align projects to reinforce prior learning.
Note: This is an old version of the guide, left here so anyone already working through it may continute to do so - I highly recommend anyone new to the guides use the 3.0 version instead. This version is no longer maintained and may contain dead links.
A structured plan of resources and activities for learners who want to beeline to "job ready" and get there
reasonably prepared to be successful.
Goal: confident web developer ready to apply for junior positions
Note: This is an old version of the guide, left here so anyone already working through it may continute to do so - I highly recommend anyone new to the guides use the 3.0 version instead. This version is no longer maintained and may contain dead links.
A JavaScript-centric version of the Job Ready Guide, narrowly focused on building the skills likely necessary to beeline to "job ready" JavaScript Developer. This is an updated version of the original Job Ready guide which incorporates additional algorithms practice, additional projects, and a sequence that builds in additional activities to answer the "what should I be doing on the side" question.
Goal: confident frontend web developer ready to apply for junior positions
go to the Job Ready Guide - JavaScript Edition 2.0
Note: this version of the Game Programming Guide is deprecated in favor of the 2.0 version it is left here so as not to strand anyone who was in the middle of it and doesn't want to switch to the 2.0 version. No longer maintained - may contain dead links.
Develop a variety of games, first in JavaScript, then C++ while learning the computer science principles
important in game development ... while having fun in the process.
Goal: learn how to code video games