Three Main Questions You Should Always Ask Yourself
When you study and work, always ask yourself questions. Try to give very honest and clear answers.
Here are my three favorite questions.
What for?
This is the first and most important question I ask regularly. I ask it to myself and to other people. I even ask it directly to clients. This question often surprises people. But when we find the answer, things become clear: we will either drop the task completely or solve it in a totally different way.
What for? What is the main goal?
The answer decides not only how we solve the problem, but also if we should do it at all. Every line of code must have a clear purpose. If you have no clear answer to “What for?”, just drop the idea and save your time.
Why?
I like a more specific version of this question: “Why this way?”
You can almost always solve the same problem in ten different ways. Your choice should not be an accident. You must easily explain your choice to yourself, a teammate, or a client. Explain why you picked this exact algorithm, framework, or data structure.
The answer “because I do not know other options” is honest for a beginner. But it shows where you need to grow. It should make you want to learn other tools and see their pros and cons.
In team discussions or code reviews, you can flip this question around: “Why not [another option]?”
This helps both sides:
- If your teammate did not know about that option, you show a new idea kindly and without lecturing.
- If your teammate already checked it and said no, they will explain hidden problems you did not see before.
What if?
This question tests how strong your solution is. It pushes your imagination as far as possible.
Always ask yourself: what can go wrong? You can imagine extreme situations. In real life, strange things happen all the time:
- What if a user clicks the “Buy” button ten times in one second?
- What if a user sends an empty text or emojis instead of a phone number?
- What if the database server freezes right during a transaction write?
Beginners often ignore rare edge cases and think, “Nobody will ever do that!” Yes, they will. Users do unexpected things, the internet cuts off, and servers crash.
These three filters cover the main steps of any task:
- “What for?” — checks if the action has a real purpose and value.
- “Why this way?” — makes sure you made a conscious choice, not a random guess.
- “What if?” — makes sure your work does not break under real-world pressure.