February 11, 2011

Instinctive Software Engineering

When I stepped into the profession of software engineering, a good 1.5 years back, I had a feeling that my habit of relying on gut feelings, trial-and-error and happy-go-lucky would help me excel in my job.

But after 1.7 years of working in different environments and with different people in the same organization, I feel that though I was not completely wrong, I was not completely right either.

Instincts and creative sparks help you in some tight spots or spur you to new domains. But more than those, it is the tried and tested principles of Software Engineering which will keep your ass away from the fire for a longer period of time.

Simple processes like always doubting every single piece of word in every document, every line of code and every test case, go a long way in keeping you on the safe side. Having said this, I can't still stop thinking about the amount of time 'wasted' on such processes in cases where you 'know' what has to be done.

But time and again, it has been proved to me that the benefits of such habits are valuable beyond what they are generally believed to be.

So my new mantra which I am trying to tell to myself and my colleagues is: "Trust your instincts, but trust your test cases more".

No comments: