Senior

Childs: Quiz

################################
LEARNING FOR WORKING (every day)
################################
Laravel
################################
Vue
################################
LEARNING FREE TIME  (1 subject/ 1 week and return)
################################
Linux
- Know basic command line such as: create, edit, delete, chmod, chown folder, file, group, user: 
https://www.youtube.com/watch?v=ZtqBQ68cfJc 
https://www.freecodecamp.org/news/the-linux-commands-handbook/#the-linux-diff-command
- Know bash script: https://viblo.asia/p/cach-tao-va-su-dung-bash-script-co-ban-trong-ubuntu-Qbq5QpAJlD8
- Know systemd, upstart, auto manage process"
+ Systemd: https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-the-journal
- Know apt, dpkg: https://www.digitalocean.com/community/tutorials/package-management-basics-apt-yum-dnf-pkg
- Know ssh
- Know Ansible: 
+ guide: https://www.youtube.com/watch?v=3RiVKs8GHYQ&list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70&index=1
https://blog.vietnamlab.vn/phan-1-ansible-khai-niem-co-ban/ 
https://blog.vietnamlab.vn/phan-2-ansible-cai-dat/
https://news.cloud365.vn/10-phut-ansible-co-ban-phan-4-viet-playbook-tren-ansible/
- Know ansible, capistrano và jenkin: 
- Know terraform

################################
Git
- Know git checkout, git clone, git push, git pull
- Know gitflow, checkout branch, merge branch, revert branch
- Review pull request, merge pull request, tag version
- Git fork

################################
Docker
- Know docker image, container, pull, push, Dockerfile, docker compose
- Run docker on AWS&GCloud

################################
AWS
Know VPC, Subnet, NACL, Gateway, ELB, Group Security, IAM, EC2 Container

################################
Security
- Know sql injection
- Xss
- Csrf
- Hijacking
- Ssl
- Backdoor
- Disable some php extensions, php methods

################################
Database (SQL&NoSQL&GraphDB)
- Know transaction, left join, right join, outer join, index, unique
- Understand ACID
- Know difference between sql and nosql and graph database
- Know to use sql and nosql together
- Tunning database
- Replica set DB
- Sharding database"

################################
CI&CD
- Know flow from Git -> Jenkins -> Integration test -> Test server -> Production server
- Know capistrano or similar tool

################################
Performance
- Know optimize query, how to know index column
- Load balancing
- Using PHP in the right way

################################
Contribute/Certificate
- Contribute open source on github
- Get certificate PHP/AWS

################################
PHP
- PHP 7, PHP Advanced
- Know magic method
- Refactoring code"

################################
OOP
- Namespace
- Class Abstraction
- Object Interfaces
- Traits
- Anonymous classes
- Magic method

################################
Design Pattern
- MVC/MSVC
- Singleton pattern
- Factory pattern
- Repository Pattern
- Strategy Pattern
- Provider Pattern
- Facade Pattern

################################
Test
- Know unit test
- Know integration test
- Know automation test
- Know performance test

################################
Authentication
- Sessions
- Cookies
- JWT, OAuth 1, OAuth 2

################################
Error Handling
- Using status code in the right way
- How to know when return false or thrown exception

################################
Apache/Nginx
- Know configure proxy, htaccess, nginx config
- Know configure load balacing, ssl"

################################
Cronjob
- Know to use
- Config cronjob redundancy

################################
Queue
Know Gearman, RabbitMQ, SQS, Beanstalkd

################################
Cache
Know memcached, redis

################################
Log
- Log file
- Log database

################################
Others
- Leading and Managing Technical Projects
- Know other server language such as nodejs, go, python