While solving a problem during Codechef’s December Long Challenge 2018, I happened to notice a drastic improvement in my mood on getting stuck at problems; a minor change in the perspective which helped me navigate through problems more peacefully.
This blog-post will list the two differences in my viewpoint from when I left competitive coding in December 2017 and now, December 2018, when I’m trying to start again with it. In the end, I would also be talking about why I’m restarting with competitive coding.
Not My Mistake!
Around last year, whenever I used to get stuck at a problem, the first thing I would say to anyone would be,
It’s solving all the test cases, I’ve done everything right and still, it is not getting “AC”!
I regret saying that statement since that single statement made a lot of difference in how I took the wrong answer: not my mistake, but others.
So, it is called the power of affirmations and it works the “evil” way as well. When I used to say the statement to myself and others, I was blaming others instead of myself in the scenario and hence getting frustrated since, in that way, I had no control over the outcome.
Now, after so many errors and bug-fixes, I’ve realized…
wrong code is nothing but improper sketching of what we have in mind
So, by this statement I put no blames on anyone but try to update my “sketching” (or idea if it’s wrong). This way assures me that the outcome is in my reach and I can change it (same was the case earlier as well, but wrong affirmation ruined it).
This Is Impossible!
A tough problem comes up, and we instantly think,
this is impossible
Now, I say out loud (in response to above thought) to myself in my mind, “No! THIS IS TOTALLY POSSIBLE”. Again, this is not always true, but if someone has been able to solve the problem, it is not impossible. It could be out of our reach at the moment, but impossible? NAH!
I tested this process in the challenge and, very honestly, I stayed with two problems for around 8 hours and was able to solve them. I would have left them otherwise, and lost on the learning opportunity.
We are wrong to call it a problem if it can be solved within minutes!
These two new amendments to my mindset while solving problems has helped me a lot, and the best part is that these are applicable in other scenarios as well, not just programming.
You said you’d tell us why you begin competitive programming again! What about that??
Coming to that question; I’ve noticed in the intern experience that no matter what all technologies we’ve been working on, only the problem-solving abilities and software designing ethics are carried forward — not the specific language knowledge. I’ll be trying to shift focus just towards good projects and problem-solving, from my current approach of just learning new technologies every then and now.
This article was originally posted on my own site.