They feed off each other.
Why am i writing this?
This post is a result of me getting tired of convincing people that there is value beyond just conceptualizing solutions for problems; that there is a sense of fulfillment behind rolling up your sleeves and getting your hands dirty while actually engineering an implementation that gives form to your ideas; that ideas when implemented show whats wrong with them and the extra work needed to make them better.
Too often i have seen people just talk. Let me come clean: i am guilty of this as well. For every ten ideas i have voice, i typically implement two. But even with the two implementations that i do end up getting done, i get an immense sense of satisfaction, a well defined notion of how my thoughts play out in the real world, the flaws within them and new directions that i can take with the ideas in general.
Ideas matter: they hint at solutions.
Let me state that i am not someone who is against thinking through problems and coming up with ideas and solutions on the whiteboard before hitting up my workstation. This is how my whiteboard looks like on an average day:

In fact, let me confess that i cannot work out an actual solution till i have thought through at least one idea for solving the problem at hand and i am never comfortable till i have another pair of ideas for solving the same problem in different manners.
If there is one thing i have learnt from writing code and working on my research, is that you need to sit down every once in a while, far away from your tool set, and come up with ideas for solving the actual problem at hand. There is something human about that moment.
So ideas matter, there is no doubt about that. They are useful to solve problems already recognized and more importantly they are useful to identify new problems that do not have solutions yet.
However, it is easy to get carried away with over-thinking. That is where execution is so important.
Executions matter: they reveal flaws and new ideas.
Any good solution, no matter how seemingly simple, typically has a substantial amount of detail that reflects not just the fundamental idea, but more importantly the challenges that were faced in realizing the idea to begin with. These challenges are simply not apparent before the dirty details of an implementation takes over. The phrase, “Looks good on paper,” should ring through your mind at this point.
Have you found yourself saying, “Oh! We can do this, and that. And even that.” You should have probably stopped at the first “that” and actually starting doing the “this”. I am still new to professional programming and software engineering, but even i know that no matter how simple a solution to a problem might seem, it is almost always not the case. And i surmise this to be true for other walks of life as well, not just software engineering.
“Vision without execution is hallucination.” — Thomas Edison
Visionaries do not get labelled as such because their thoughts were examined by peeking into their brains which left us all mesmerized. People become visionaries when they give form to their visions with words and more importantly actions.
It really is that simple.

Leave a comment