Thursday 20 October 2011

A Successful Software Engineer ...

It's appraisal time in my company and as usual we (as appraisers) try to remember the tasks performed by the appraisees and evaluate them on their performance - an exercise where the appraiser compares the performance of an appraisee against the expectations set.

In this context, I attempt to find an answer to a question that's lingering in my mind for quite some time now - "who is a successful software engineer" ?

One version is that a hardworking guy is more successful than someone that gets solutions working by magic / luck. Another version is that a smart way to succeed is to google for solutions all the time 'coz there is always someone else in the world that might have run into a problem that you have. Another version is that a mix of both the qualities - hardwork + smart googling is a good combination.

Here is my version - sofware, to me, in the first place is not an original science - it's a derivative. Software engineers take the best ideas from all other sciences and real-world situations and try to model solutions. This inference mandates that a software engineer should be "observant". A software engineer should be able to think at a very basic level 'coz at the end we are going to feed the approach to a machine that has zero intelligence. The moral - "get your basics right".

As I told you, software is a derivative field - I always try to mandate a s/w engineer to be up-to-date like a doctor. Now, the reason why I draw a similarity here is 'coz a doctor should be aware of latest drugs that are effective for the diseases in town. Similarly a s/w engineer that has to keep abreast of latest technologies (ofcourse in a given specialization) in order to be an effective solution provider and I don't think it's tough as we have Google (our best friend) that ensures that all the required information is just a click away.

Last and the most important quality that I think a s/w engineer should have is "perserverance". We are dealing with machines and trying to teach a machine requires a lot of patience. When talent fails, patience prevails and this is true atleast in s/w industry.

To summarize, a s/w engineer should be "observant", "up-to-date" and "persistent" inorder to be successful.

2 comments:

Vidhyashankar K said...

This is applicable to any field. Innovation of the self and contribution to an organization come from the self motivated and thinkers.

Most people slowly assume that doing their job is sufficient for praise. But as you've rightly put it, its about constant progress of the self.

Neeru's Corner said...

Constant learning is important for any job.

Very aptly written.