Web development, software engineering, games programming, mobile app development ...
- Summary
- Guides
- Get Job ready with 13 projects, 2 courses, and 10 books
- Job Ready Guide - JavaScript Edition 2.0
- Job Ready Guide - Python Edition
- Computer Science and Web Development - comprehensive
- Web Development with Computer Science Foundations - comprehensive
- Data Science - comprehensive
- Video Game Programming - comprehensive foundations
- 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
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
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 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
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
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
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.
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 Guide
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.