LEARNING FROM MISTAKES (2 Part Series)
Translating the problem statement into working software is not a magic. It is a journey and the very first step is to understand the requirements. Often the details of the problem statement aren't clear and as a developer you start making assumptions and build a working solution. This is a good quality of a software developer; however, things go wrong when you start making too many assumptions.
This is a common mistake I noticed in entry level programmers and one of the reasons I found is they are afraid of asking questions. Maybe they are not comfortable to reach out to their colleagues or they feel their questions are not important.
If you are just making a start of your career as a software developer, I would like to tell you that your questions are important! While training new members of the team, I deliberately keep some details missing from the assignments. This is to help me understand whether those individuals are coming back with questions. It may be the case that you have too many questions to ask and you are not sure where to start? I suggest ask question with an answer and validate whether your understanding is correct.
I personally believe asking questions is a way better than making "too many" assumptions.
What are your thoughts?
There is a small exercise at end of embedded video which you may want to try to test your ability of asking questions.