- 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.
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:
- Just learn from its documentation, and through any course that uses it while building a project
- also learn about docker-compose
Git:
RDB:
Python, Virtualenv, Pyenv, Poetry:
Optional:
- continuously read articles from these websites:
- Listen to podcasts like (you can find them on Google Podcasts App on android):
Django and DRF (Django-REST-Framework):
These two courses are important to learn TDD with DRF
- https://www.londonappdeveloper.com/product/build-a-backend-rest-api-with-python-django-beginner/
- https://www.londonappdeveloper.com/product/build-a-backend-rest-api-with-python-django-advanced/
You can get mentioned books for free from this website https://b-ok.africa/