Teach: Try to develop a fast-learning process to help others grasp programming as quickly as possible. Focuses on speedrun so it does not guarantee insightful knowledge and is by no means comprehensive. However, some interesting stuff would be provided marked optional.
Teach Myself: Should be able to review or preview many important topics in our industry.
Improve: Since we are working in a fast-changing industry, the ability of fast-learning, or revolutionizing ourselves, is the most valuable asset in ourselves. Hopefully, a system of fast-learning could be established within this project.
Pick any topic you want. But I would recommend (with bias):
For data scientists or anyone who wishes to learn AI (Trending): Python -> Big Data -> Machine Learning
For those who want to build a website: LNMP
For those who want to have some fun and see immediate feedback: Frontend
For students or those who wish to find jobs: Java -> LeetCode
For architects: PowerPoint
For architects who want to write some real code besides PowerPoints: C++/Java -> Search Engine/Distributed Systems
A few tips and tools to boost development effectiveness.
Environment: Instead of working as root with too much privilege and too many folders, I prefer creating several linux users to seperately manage projects when I get my hands on a new machine.
sudo adduser ocean
# Then add line `ocean ALL=(ALL) ALL` in `/etc/sudoers` to enable `sudo` command
Next time log in as 'ocean' and start messing around.
Command Line: The simplest way to improve command line usability is to modify the ~/.bashrc file. Always add your working directory as aliases or use bashmarks.