Never Told… What a Software Engineer Should Be?

4
1 Never Told… What a Software Engineer Should Be? An entry into any electronics/computer course or for that matter any engineering course has been successful in throwing up software engineers to be picked up by Indian corporates and Multinationals alike. In the initial days, I presume the engineers were so bright that they could adapt themselves to the requirements or the requirements itself was minimal that gap did not look gaping at your face. The large human resource requirements, on which the dollars were to flow, brought corporates to institutions they had not thought of in the initial days of the onset of the digital age in this country. The ability of the corporate to bring in total transformation in the engineer through training and environment cannot be accepted to be total. The engineering colleges and in quite a few cases B-Schools as well end up imparting the technical expertise and skills certified to be sufficient enough to take on the world in all its complexity. The software engineer unlike any other engineering discipline would have to grapple with organisations, people and systems he would have never imagined of. Organisations are much more complex than the totality of human resources in it and also the totality of systems and processes put in place to achieve the desired goals. With skills/maturity/passion not matching the requirements, the task assigned turns out to be insurmountable. The task is the creation of softwares, totally new, in sectors, not familiar to the IT industry. Installation of a standard software, customisation and creation of new ERP solution and three different worlds with deep divisions in terms of all the parameters. A voracious reader is a person is person who can read, understand, analyse and if the professional dimension can be added to it, is also the person who can create a workable blueprint out of that knowledge garnered for a specific purpose, may be an business opportunity or otherwise. Despite the basics of software creation being the same, the software development cycle not changing, the domain knowledge and its seamless integration in the process of software

description

An entry into any electronics/computer course or for that matter any engineering course has been successful in throwing up software engineers to be picked up by Indian corporates and Multinationals alike. In the initial days, I presume the engineers were so bright that they could adapt themselves to the requirements or the requirements itself was minimal that gap did not look gaping at your face.

Transcript of Never Told… What a Software Engineer Should Be?

Page 1: Never Told… What a Software Engineer Should Be?

1

Never Told…

What a Software Engineer Should Be?

An entry into any electronics/computer course or for that matter any engineering course has been successful in throwing up software engineers to be picked up by Indian corporates and Multinationals alike. In the initial days, I presume the engineers were so bright that they could adapt themselves to the requirements or the requirements itself was minimal that gap did not look gaping at your face. The large human resource requirements, on which the dollars were to flow, brought corporates to institutions they had not thought of in the initial days of the onset of the digital age in this country. The ability of the corporate to bring in total transformation in the engineer through training and environment cannot be accepted to be total.

The engineering colleges and in quite a few cases B-Schools as well end up imparting the technical expertise and skills certified to be sufficient enough to take on the world in all its complexity. The software engineer unlike any other engineering discipline would have to grapple with organisations, people and systems he would have never imagined of. Organisations are much more complex than the totality of human resources in it and also the totality of systems and processes put in place to achieve the desired goals. With skills/maturity/passion not matching the requirements, the task assigned turns out to be insurmountable. The task is the creation of softwares, totally new, in sectors, not familiar to the IT industry. Installation of a standard software, customisation and creation of new ERP solution and three different worlds with deep divisions in terms of all the parameters.

A voracious reader is a person is person who can read, understand, analyse and if the professional dimension can be added to it, is also the person who can create a workable blueprint out of that knowledge garnered for a specific purpose, may be an business opportunity or otherwise. Despite the basics of software creation being the same, the software development cycle not changing, the domain knowledge and its seamless integration in the process of software

Page 2: Never Told… What a Software Engineer Should Be?

2

creation is then the pivot on which that software can be created and on which the organization would function for long many years.

Have you constructed a house with a saving of over 15/20 years and a loan which would take you another 10/15yeas to clear? What would be the product like? It would certainly not be a house, it would be sheer passion. This is precisely the job of the software engineer, get into the shoes of such a man and you would create the right software. An organization which has been buying hardware left, right and sundry for decade by now having no known rationale, not having the faintest idea as to how to finally get digital, hires a software company to create a software solution for the organization. The organization is not looking for Oxford Dictionary of Computing defined software engineers. They are looking for passion, as in the context they are in, bridging the gap of two different worlds cannot be done by software. Software can be created and be run on passion only at least in the initial days of its deployment, with the passage of time it becomes the order of the day.

Engineers are not famed for their communication skills. Management added the understanding of integration of tasks, language and communication packaging to the engineer. Unfortunately the day he gets a decent packaging he does not work at cutting edge of software creation, he gets into a supervisory role. You can only supervise the quality of human resource provided, you cannot create upgraded version clones. It’s not the job of the software company to create such resources for every single change in the business opportunity but the actual requirement demands the same. Quality of communication notwithstanding what happens to the project when the users and software developers cannot interact in a common language? Is professionalism limited to Service Level Agreements? When drivers learn English for foreigners visiting the city, the Call Center’s main requirement is the appropriate accent, the person and location hides behind the accent, can software engineers manage to work even in environments where they cannot interact with nearly all their end users? Quality communication is the basis of modern human existence. Barack Obama has convincingly proved it to the world.

Visit the remotest part of this far flung country and you will find doctors small and big, intelligent and not so intelligent, experienced and not so experienced eliciting information so professionally to the dminutest detail of the ailment of the patient who most of times is not in normal state of mind and body to

Page 3: Never Told… What a Software Engineer Should Be?

3

provide that information. Yet he gets the required information in a precise manner which is workable to say the least. He cannot afford to commit mistakes. Why is a software engineer unable to comprehend to the desired level, the facts, systems and processes when there are practicing professional domain experts to explain, large collection of relevant books and documents are there to assist him and there is unending knowledge of case studies available in the files? Does the developer read any of those files? In our instant case has the developer gone through the documentation of even one single successful tender or has bothered to go through the entire details of even one completed departmental enquiry. Reading and comprehension cannot be the responsibility of the customer.

A judge has no domain knowledge, as is his duty is judgmental and nearly always delivers a judgment with barely any contradictions in the higher echelons. He goes through a process which is well defined and is rigorously followed all throughout the process of the trial and end result is very empirical and objective. In case of software what fails that even going through the neatly defined software development cycle, the end result is very different from the goal defined. With best of brains working we still have issues with Windows Vista. Why different pieces don’t add up into a perfect bigger picture? Issues if any which would be affecting the final outcome should be in the knowledge of the customer so that he can respond to the context and can suggest ways and means to get over it. The Vendor should at the end day add value to the already existing process rather than replicate the same from the physical to the digital world.

The highest levels of comprehension, ability to translate it into reality, creativity, innovativeness, ability and agility for rectification at any stage in any and every manner and an overall involvement that the project in his own and not one of many he is destined to handle would certainly lead to the creation of a product which would be both utilitarian and lasting. Softwares should be built to last if the organization is to last in the manner it should. Technical expertise and experience is a well accepted valid presumption. Providing the framework functioning efficiently would be a worth satisfying experience for the sincere efforts made by the team of developers. May this breed increase!!!

Page 4: Never Told… What a Software Engineer Should Be?

4