Skip to content
This repository has been archived by the owner on Dec 9, 2024. It is now read-only.

Latest commit

 

History

History
85 lines (59 loc) · 4.8 KB

web_roadmap.md

File metadata and controls

85 lines (59 loc) · 4.8 KB

Technologies to learn to become a Web Developer (Python/Django)

  • HTML - Understand what HTML and how to create a web page
  • CSS - Use it to style HTML Pages and understand selectors, media-queries for responsive design, and common used styles
  • JavaScript - Understand its basics and learn about the DOM manipulation
  • Angular/React/Vue - Learn about SPAs using only one of these frameworks, don't overwhelm yourself with more than one

Note: Don't dive deeply in the previous tech unless you want to be become a front-end developer, mainly

  • Linux - be proficient using Ubuntu for example and the CLI and understand how the shell works, what are environment variables, subshells, processes/tasks, etc...
  • Docker (and docker-compose) - what are containers and how they work (conceptually) and how to create and run ones
  • Git - what does version control system mean and how to use Git
  • RDB (relational databases) - what are relational databases, and understand tables, how to create them and make relations between them as needed... also understand that through SQLite and PostgreSQL (preferred) or MySQL
  • Python - how to write python very well and understand its OOP implementation...
  • Virtualenv - And how to create virtual environments for python to isolate it from the system's installed version...
  • Pyenv - to manage python versions globally for your user on the system, instead of using the system's installed python
  • Poetry - for python packaging and dependency management
  • Django - to build the back-end part of a website. Be proficient using Models, Views, Templates, Class-Based-Views.
  • DRF (Django Rest Framework) - to create REST APIs for mobile apps and SPAs

Note: Learn the previous tech thoroughly if you want to be become a good back end developer, mainly

All that isn't learned in one day, of course. Take your time. You can learn those skills through online courses as I did before. It will seem intimidating to learn all that at once, but try to grasp as much as you can, and you'll revisit what you learned in the future to refine your knowledge and understand better.

Here are some resources to learn such skills

You're not limited to the resources I mention, Google whatever you don't understand event while studying the mentioned resources.

HTML/CSS/JS:

Ubuntu:

Docker:

Git:

RDB:

Python, Virtualenv, Pyenv, Poetry:

Optional:

Django and DRF (Django-REST-Framework):

These two courses are important to learn TDD with DRF

You can get mentioned books for free from this website https://b-ok.africa/