The moment you see a problem and you envision a plethora of solutions to it. You pick a solution that is elegant, concise and coherent. It follows many of the best practices that you have learnt to value through your journey as a software developer. You know where to begin and where to stop. You know precisely what it’s going to affect. You know what other implications it will have.

Most of my professional life, I have written CRUD software. Contrary to popular opinion, it’s not devoid of challenges. I have faced a lot of challenges, some due to lack of expertise and some due to lack of context. However, having a high level of solution to the problem in my mind was the ultimate thing that led me across all such hurdles.