Essential
Before diving into the following resources, you can first check "What they are about" from Essential Explanation.
Essential skills
How to ask questions?
- Dr. Mostafa's advice on how to ask (Arabic).
- Watch Coursera's "Getting Help" video.
- Read Stack Overflow "How to ask".
- Read FreeCodeCamp's "How to ask good questions" article.
- Read about XY Problem.
- Ask a binary question if possible. (I.e., True/false)
- If not, Ask the enclosed question if possible. (I.e., the question that has an expected answer; E.g., Which color? "Red", "Green", "Blue")
- If not, ask open questions and supply atomic information in an enumerated form. (E.g., "How to study Algorithms?" 1. I know math. 2. I know Programming Languages.)
- Note: Atomic information is the simplest form of information possible that can not be further broken down into even simpler data and can never hold more than a single meaning.
- Check the following question template:
// Template 1:
# How to do *X*?
## What I am trying to do (Heading is not a question)
I am trying to do *Z* via *W* & *Y*.
## What I tried
I tried *A*, *B*, *C*.
## Where did I reach
1. *A* can't be done because of Reason *D*
2. *B* can't be done because of *E*.
3. I am facing error *F* while doing option *C*.
// Template 2: (after greatly practicing template 1)
# How to do *X*?
1. I am trying to do *Z*.
2. Tried option *W* but can can't do it because of *A*.
3. Tried Option *Y* but I get error *E*.
4. Googled *E* and only found 1 2 3 links but couldn't solve it.
Who to ask before you ask?
- Only reliable person that is in charge, or has been in charge, or reached the end of the road you want to take.
- Never rely on an answer/course even if it is free before performing rule 1 above.
- Arabic shorts & videos:
How to study and not forget what you studied?
Use Obsidian (using Zettlekasten & Wikipedia styles)
What is your opinion about X/Y/Z Course?
Arabic
How do you plan and solve most of your problems (in life and the field or industry) smartly with the least thinking effort and minimize failures?
- Check "How to ask?" above.
- Check related records or background about who is giving you the advice. If he is advising on "How to work at Google?" he must have worked there at least.
- Avoid unaccountable advice or courses from unreliable people, even if they are free. Unless a person is accountable for what he says and has an active track record, treat every word with a grain of salt.
- For you to ask someone, you need to build a relationship with them. You also might need to show that you also help when you can, as this will increase the chances of getting help.
- Firmly believing that you are not exceptional by any means. 99.99% of your problems have faced others as well, and they developed a solution for them, but you just didn't research enough.
Essential tools
git-and-github (in ACU-English channel or ACU-Arabic channel) & Linux (in ACU-English channel or ACU-Arabic channel).
Knowledge Base
- @Student: recommended forum (in ACU-English or ACU-Arabic).
- For @Trusted: knowledge base forum (in ACU-English or ACU-Arabic).
Essential Explanation
- They are for everyone ($0\rightarrow \infty$ years of experience) to boost their productivity 10x-50x!
- They are divided into 3 categories as follows:
- Essential skills: (How to ask?), (How to search?), (How to study?), (How to pick your road map?).
- Essential tools: Git & GitHub, Linux, IDEs$\dots$.
- Knowledge Base: Stackoverflow-like for resources.
- It is a way for new people to catch up with old resources & discussions.
- It is searchable, tag-able and amendable.
- They do not contain educational resources, as these are included in README Courses.