evgomes / developer-roadmap

Roadmap to becoming a web developer in 2018

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Web Developer Roadmap

Roadmap to becoming a web developer in 2018

Disclaimer

This roadmap was originally created with the intent of guiding developers through the hard and slow process of becoming a good software developer, showing paths that they can follow to learn what they need to know to be good professionals. I forked this repository to structure my own study plan based on the roadmaps presented here and to adapt it to my reality structuring the content according to what I want and what I have to learn.

πŸš€ Introduction

🎨 Frontend Roadmap

πŸ‘½ Back-end Roadmap

πŸ‘· DevOps Roadmap

β˜‘ Personal Study Plan

Here is my personal study plan based on the above roadmaps, ordered by the subjects I have to study and which subjects I already have studied. Some subjects I already have a good knowledge, but I'm placing it here to review the important concepts.

Common topics

Version control

  • Learn Git
    • git config
    • git init
    • git status
    • git add
    • git commit
    • git diff
    • git pull
    • git push
    • git remote
    • git branch
    • git checkout
    • git tag
      • git show
    • git fetch
    • git reset
    • git merge
    • git rebase
    • git stash
  • Learn Github workflow
    • Creating and deleting repositories
    • Managing repositories
    • Creating and managing branchs
    • Opening pull requests
    • Discussing and reviewing code
    • Mergind and deploying code
    • Reverting changes

Protocols

  • HTTP - HTTPS
  • FTP - SFTP
  • TCP

Frontend roadmap

  • CSS
    • SASS
    • Bootstrap
  • JavaScript
    • Syntax
    • Basic concepts
      • Hoisting
      • Event bubbling
      • Prototype
    • Manipulating the DOM
    • ES6
    • Advanced concepts
      • Scope and call / apply
      • Proxies and Reflection
      • Garbage collection
    • Common APIs
      • Geolocation
      • Web storage
      • Cache
      • Canvas
      • Web workers
      • File API
      • Drag and Drop
    • CORS (Reviewing)
    • Object oriented programming concepts
      • Common patterns and architecture
    • Functional programming concepts
      • Common patterns and architecture
    • Architecture
      • Redux / Flux
    • Testing
      • Jest
    • Common frameworks and libraries
      • jQuery
      • React.js
      • Angular 2+
      • Moment.js
      • Lodash
      • Babel.js
    • Tooling / Development
      • NodeJS
        • NPM
        • Node scripts and tasks
        • Express.js
      • Yarn
      • Webpack
      • ES Lint

Backend roadmap

  • Data structures
    • Arrays
    • Lists
    • Queues
    • Stacks
    • Sets
    • Graphs (I started studying this, I still need to implement some algorithm to find the smallest paths in a graph)
  • Algorithms
    • Sorting
    • Search
      • Binary search
  • Regular expressions
  • Standards and best practices
  • Architecture and concepts
    • DDD
    • CQRS
    • Event sourcing
  • Distributed Application development and concepts
    • Source and Round Robing algorithms
    • Distributed caching strategies
    • How to work with session management in distributed applications
      • Cookies usage
    • File system management and FTP usage
    • Healthchecks
  • Tests
    • Unit testing
    • Integration testing
    • TDD
    • BDD
    • Calculate test coverage
  • Application types
    • REST API
    • Web application
  • Performance
    • Caching strategies
      • Memory cache
      • Disk cache
      • Distributed cache
        • Redis
    • Threading
  • Authentication and Authorization
    • OAuth
    • Basic authentication
    • JSON Web Token authentication
    • OpenID
  • NoSQL
    • MongoDB
  • Message brokers
    • RabbitMQ
  • Web sockets
  • Web scraping
  • Logging
    • File system log
    • Email log
    • Database log
    • Logging libraries
  • GraphQL (just the basics)
  • Data analytics
    • Google Analytics integration
  • Databases
    • SQL Server
    • MySQL
    • PostgreSQL
    • MongoDB

DevOps skills

  • OS Concepts
    • Threads and Concurrency
    • Sockets
    • Process management
    • Memory / storage
  • Web Server
    • Configure IIS (I learned the basics)
    • Configure Nginx
  • Containers
    • Docker (I'm still learning)
      • Use Docker with a programming language
  • CI / CD Tools
    • Jenkins
    • Travis CI

I will be adding new subjects as I finish to study previous topics and according to necessity.

License

License: CC BY-NC-SA 4.0

About

Roadmap to becoming a web developer in 2018