Goal: Filling my skill gaps to become a Fullstack Javascript Developer
I compiled this opinionated roadmap from the following sources:
- Developer Roadmap
- Freecodecamp
- State of JS 2018
- The Complete Web Developer in 2018 Zero to Mastery
- The Complete Junior to Senior Web Developer Roadmap
- React Developer Roadmap
- Node Developer Roadmap
- Front-end Developer Handbook 2019
- Developer Survey Results 2019
- State of CSS 2019
The Roadmap is not 100% correct, but sufficient accurate for my purpose.
- JAMstack Conf Git
- Gitflow Workflow
- Learn git concepts, not commands
- How to callaborate on GitHub
- Git Standup
- Trunk based Dev vs Git Flow
- .gitignore CLI
- Git Explorer
- https://github.com/nvie/gitflow
- https://nvie.com/posts/a-successful-git-branching-model/
- https://github.com/tiimgreen/github-cheat-sheet#readme
- https://learngitbranching.js.org/
- https://github.com/UnseenWizzard/git_training
- https://rachelcarmena.github.io/2018/12/12/how-to-teach-git.html
- https://dev.to/chrisachard/confused-by-git-here-s-a-git-crash-course-to-fix-that-4cmi
-
Roadmap
-
Colors
-
Font
-
Inspiration
- Resources & Tools
- uplabs.com
- https://mailgo.js.org/
- https://www.designcurated.io/
- http://www.uigoodies.com/
- https://github.com/LisaDziuba/Awesome-Design-Tools
- Illustrations ManyPixel
- Beautiful Screenshot Mockups
- Evernote.Design
- SVG Porn
- https://www.invisionapp.com/inside-design/design-resources/design-system-dashboard-ui-kit/
- https://icons8.com/vector-creator/
- SemVer
- [Primer on SemVer](https://nodesource.com/blog/semver-a-primer/]
- Semantic Release
-https://kamranahmed.info/blog/2017/03/14/quick-guide-to-http-caching/ -HTTP2
-HTTP3
https://kamranahmed.info/blog/2016/08/13/http-in-depth/
https://www.freecodecamp.org/news/a-quick-introduction-to-web-security-f90beaf4dd41/ https://github.com/vasanthk/web-security-basics https://martinfowler.com/bliki/CQRS.html
- Awesome VS Code
- Microsoft - VS Code Tips and Tricks
- Setup VS Code + ES Lint + Prettier
- https://coder.com/
- Settings Sync
- EnvInfo
- Full Stack VS Code
https://github.com/vasanthk/how-web-works
- Learn in public
- I am a mediocre Developer
- 8 am
- https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/en/
- https://github.com/elsewhencode/project-guidelines
- Resources:
Cheatsheet
Emojis
-
Basics
-
Semantics HTML
-
Basic SEO
-
Accessebility
-
CSS Basics
-
CSS3
- freefrontend.com
- Clip Path Maker
- CSS FX
- Blend Mode
- Gradient Borders
- Codyhouse
- Codrops
- Multi Line
- Stripe Background Gradient
- Shapes
- general http://animista.net general https://daneden.github.io/animate.css/ general https://ianlunn.github.io/Hover/ Buttons, hover, inputs, and loaders https://cssfx.dev Spinners https://tobiasahlin.com/spinkit/ Burgers https://march08.github.io/animated-burgers/ Burgers http://negomi.github.io/react-burger-menu/ Layout https://github.com/aholachek/react-flip-toolkit Hover and loaders: https://www.csswand.dev/
-
Media Queries
-
Media Layout https://every-layout.dev/
- Display
- Positioning
- Floats
- CSS Flexbox
- CSS Grid
http://javascript.info/
https://github.com/getify/You-Dont-Know-JS/
https://github.com/leonardomso/33-js-concepts
https://eloquentjavascript.net/
https://github.com/goldbergyoni/javascript-testing-best-practices
=======
-
Syntax & Basic Constructs
-
DOM Manipulation
https://blog.garstasio.com/you-dont-need-jquery/dom-manipulation/
http://youmightnotneedjquery.com/ -
Scope
-
ES6
-
Hoisting
-
Fetch API / Ajax(XHR)
-
Modular JS
-
Event Bubbling
- NPM
- Yarn
- PNPM
- SASS
- PostCSS
- Tailwind CSS
- Bootstrap
- Semantic UI
- Materialize CSS
- BEM
https://github.com/verekia/js-stack-from-scratch https://github.com/wesbos/dotfiles https://github.com/lerna/lerna
- Task Runner
- NPM Script
- Module Bundler
- Webpack
- Parcel
- Linter
- Formatter
- React Interview Questions
- Learn React in 10 Tweets (with hooks)
- What are SPAs?
- Pros & Cons of SPAs?
https://reacttraining.com/blog/javascript-the-react-parts/
- Redux
- Redux-Saga
- Apollo
- Component State / Context + Hooks
- Styled Components
https://github.com/goldbergyoni/javascript-testing-best-practices
Testing Javascript
-
Learn the different types of testing & how to write these with tools below
- Unit
- Integration
- Functional
-
You can fulfill all your testing needs with the following 3 tools
- Jest
- Enzyme
- Cypress
- Storybook
What is it?
Interpreted vs Compiled Languages
- Proptypes
- Typescript
- Routing
- React-Router
- i18n
- React Int
- Forms
- Redux Form
- Formik
- Utility
- Moment
- Lodash
- Data Viz
- D3
- Animations
- React Spring
- WebGL
- Three.js
- REST
- Fetch(native)
- Axios
- GraphQL
- Apollo
Calculating, measuring & improving Performance
- REPL Pattern
- Performance
- RAIL Model
- Using Light House
- Critical Rendering Path
- Using Dev Tools
Learn different Web APIs used in PWAs https://whatwebcando.today/
- Storage
- Web Sockets
- Service Workers
- Location
- Notifications
- Pyments
- Device Orientation
- Credentials
Pros & Cons
- Gatsby
SPA vs SSR
- Next.js
- Mobile
- React Native
- Expo
- PWA
- React Native
- Desktop
- Electron
- Carlo
- Progressive Desktop Apps
- Virtual Reality
- React 360
- Browser Extensions
Constantly improve your JS Skills along the way
https://github.com/getify/You-Dont-Know-JS/
https://developers.google.com/search/docs/guides/javascript-seo-basics
leetcode.com
https://github.com/azl397985856/leetcode/tree/master/daily
- OOP
- Inheritance
- Functional Programming
- Closures
- Typescript
- Debugging
- Algorithms & Data Structures
- ES7+
- Design Patterns
Web Assembly or WASM is the binary instructions generated from high level languages such as C, C++, Rust, Go.
It is faster than JS and has already shipped in all major browsers
NVM Windows
- Basics
- Event Emitters
- Callbacks
- Filesystem
- Webhook
- REST
- Buffer
- Process Object
- Module System
- NPM
- Create + Publish Package
- Contribute to Open Source
- Security
- OWASP / NodeGoat
- Community Standards & Best Practices
At the moment learn Unit & Integration testing & learn testing terminologies, like Mocks, Stubs etc.
- Express
- Template Engines
- Pug
- Template Engines
- Next.js
Pros & Cons & Use Cases: SQL vs NoSQL vs Graph vs In-Memory
- SQL
- PostgreSQL
- MySQL
- NoSQL
- MongoDB
- Graph Database
- In-Memory Database
- Redis (NoSQL)
Understand REST & how to make RESTful APIs (read ROY Fieldings original paper)
Learn about the differences & how to implement them
- OAuth
- OpenID
- JWT
- Basic AuthN
- Token AuthN
- CDN
- Brotli or GZIP
- DB Scaling
- Load Balancing
- Caching
- node-cache
- Distributed Cache
- Redis
Write RESTful CRUD app with registration and login (e.g. blog) + testing + cache
What & how ?
- Socket.io
What & how ?
- RabbitMQ
What & how ?
- Elastic Search
- Prisma
- ?????
- Nodemon
- Nodemailer
- PM2
- Async.js
- node-cron
- Agenda
- pkg
- Puppeteer
- Passport
- Commander.js
https://serverless.css-tricks.com/ https://3factor.app/
- FaaS
- AWS Lambda
- Serviceful
- Firebase
- Stripe
- Snipcart
- Algolia
- Contentful
- Auth0
- MUX
- many more
-
Process Management
-
Threads & Concurrency
-
Sockets
-
File Systems
-
I/O Management
-
Virtualization
-
Memory / Storage
- Learn to live in the Terminal
- Operation System
- DNS
- OSI Model
- HTTP & HTTPS
- FTP
- SSL/TLS
- Reverse Proxy
- Caching Server
- Forward Proxy
- Load Balancer
- Firewall
- Web Server
- Nginx
- Apache
- Containers
- Docker
- Configuration Management
- Ansible
- Container Orchestration
- Kubernetes
- Infrastructure Provisioning
- Terraform
- Cloud Formation
What is CI/CD?
- TravisCI -> Linux, OSX, Windows
- Jenkins
- CircleCI
- Appveyor (Win)
- Log Management
- ELK Stack
- Graylog
- Splunk
- Papertrail
- Application Monitoring
- New Relic
- Sentry?
- AppDynamics
- Infrastructure Monitoring
- Datadog
- Nagios
- Icinga
- Zabbix
- AWS
- Azure
- Google Cloud
- Heroku
- Digital Ocean
- Zeit
- Netlify
- Render
Teach yourself CS
Udacity - Intro to Computer Science
Super Tiny Compiler
Software Design & Architecture Map
Software Architecture