Skip to content

“First do it, then do it right, then do it better.” - Addy Osmani

Notifications You must be signed in to change notification settings

mrtnrocks/Developer-Roadmap-with-Resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 

Repository files navigation

Developer-Roadmap-with-Resources

Goal: Filling my skill gaps to become a Fullstack Javascript Developer

I compiled this opinionated roadmap from the following sources:

The Roadmap is not 100% correct, but sufficient accurate for my purpose.

DevRoadmap

General Development Skills

-1x Engineer
-Getting a Gig

Learn to search for solutions

Git & Github

Agile Development

UX/UI Basics

Semantic Versioning

HTTP/HTTPS

-https://kamranahmed.info/blog/2017/03/14/quick-guide-to-http-caching/ -HTTP2
-HTTP3 https://kamranahmed.info/blog/2016/08/13/http-in-depth/

Web Security

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

SOLID, KISS, YAGNI

VS Code

Character Encodings

APIs

How Browsers work

https://github.com/vasanthk/how-web-works

DNS

Browser Dev Tools

Productivity & Soft Skills

Markdown

SSH

Licenses

JSON

Basic Terminal Usage

Regular Expressions

-Learn Regex

Frontend

Front-End Checklist
Can I use

HTML

CSS

SVG

Javascript Basics

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

=======

Package Managers

CSS Processors

CSS Frameworks

  • Tailwind CSS
  • Bootstrap
  • Semantic UI
  • Materialize CSS

CSS Architecture

  • BEM

Build Tools

https://github.com/verekia/js-stack-from-scratch https://github.com/wesbos/dotfiles https://github.com/lerna/lerna

React

https://reacttraining.com/blog/javascript-the-react-parts/

State Management

  • Redux
    • Redux-Saga
  • Apollo
  • Component State / Context + Hooks

CSS in JS

  • Styled Components

Testing

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

Type Checking

What is it?
Interpreted vs Compiled Languages

  • Proptypes
  • Typescript

Libraries

  • Routing
    • React-Router
  • i18n
    • React Int
  • Forms
    • Redux Form
    • Formik
  • Utility
    • Moment
    • Lodash
  • Data Viz
    • D3
  • Animations
    • React Spring
  • WebGL
    • Three.js

API CLients

  • REST
    • Fetch(native)
    • Axios
  • GraphQL
    • Apollo

Progressive Web Apps

Calculating, measuring & improving Performance

Learn different Web APIs used in PWAs https://whatwebcando.today/

  • Storage
  • Web Sockets
  • Service Workers
  • Location
  • Notifications
  • Pyments
  • Device Orientation
  • Credentials

Static Site Generators

Pros & Cons

  • Gatsby

Server Side Rendering

SPA vs SSR

  • Next.js

Platforms

  • Mobile
    • React Native
      • Expo
    • PWA
  • Desktop
    • Electron
    • Carlo
    • Progressive Desktop Apps
  • Virtual Reality
    • React 360
  • Browser Extensions

Advanced Javascript

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

Web Assembly

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

Backend

Node.js Basics

NVM Windows

Testing

At the moment learn Unit & Integration testing & learn testing terminologies, like Mocks, Stubs etc.

Frameworks

  • Express
    • Template Engines
      • Pug
  • Next.js

Databases

Pros & Cons & Use Cases: SQL vs NoSQL vs Graph vs In-Memory

  • SQL
    • PostgreSQL
    • MySQL
  • NoSQL
    • MongoDB
  • Graph Database
  • In-Memory Database
    • Redis (NoSQL)

RESTful APIs

Understand REST & how to make RESTful APIs (read ROY Fieldings original paper)

Authentication & Authorization

Learn about the differences & how to implement them

  • OAuth
  • OpenID
  • JWT
  • Basic AuthN
  • Token AuthN

Performance

  • CDN
  • Brotli or GZIP
  • DB Scaling
  • Load Balancing
  • Caching
    • node-cache
    • Distributed Cache
      • Redis

Practical Time

Write RESTful CRUD app with registration and login (e.g. blog) + testing + cache

WebSockets

What & how ?

  • Socket.io

Message-Broker

What & how ?

  • RabbitMQ

Search Engine

What & how ?

  • Elastic Search

GraphQL

  • Prisma
  • ?????

Useful Libraries

  • Nodemon
  • Nodemailer
  • PM2
  • Async.js
  • node-cron
  • Agenda
  • pkg
  • Puppeteer
  • Passport
  • Commander.js

Serverless

https://serverless.css-tricks.com/ https://3factor.app/

  • FaaS
    • AWS Lambda
  • Serviceful
    • Firebase
    • Stripe
    • Snipcart
    • Algolia
    • Contentful
    • Auth0
    • MUX
    • many more

DevOps

DevOps Guide

Understand different OS Concepts

Components of an OS

Learn about Managing Servers

Networking & Security

  • DNS
  • OSI Model
  • HTTP & HTTPS
  • FTP
  • SSL/TLS

What is and how to setup a ___

  • Reverse Proxy
  • Caching Server
  • Forward Proxy
  • Load Balancer
  • Firewall
  • Web Server
    • Nginx
    • Apache

Learn Infrastructure as Code

  • Containers
  • Configuration Management
    • Ansible
  • Container Orchestration
    • Kubernetes
  • Infrastructure Provisioning
    • Terraform
    • Cloud Formation

Learn some CI/CD Tool

What is CI/CD?

Learn how to monitor Software & Infrastructure

  • Log Management
    • ELK Stack
    • Graylog
    • Splunk
    • Papertrail
  • Application Monitoring
    • New Relic
    • Sentry?
    • AppDynamics
  • Infrastructure Monitoring
    • Datadog
    • Nagios
    • Icinga
    • Zabbix

Cloud Providers

  • AWS
  • Azure
  • Google Cloud
  • Heroku
  • Digital Ocean
  • Zeit
  • Netlify
  • Render

Keep Learning

Additional: Computer Science

Teach yourself CS
Udacity - Intro to Computer Science
Super Tiny Compiler
Software Design & Architecture Map
Software Architecture

About

“First do it, then do it right, then do it better.” - Addy Osmani

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published