The pace at which technology is advancing and tools are being built I think in future the role of software engineer will go through a major change. Smart tools will ensure that you need not know the syntax of a language or the inner workings of how it will interact with the database server etc etc. All you would need to be a good software programmer are tons of aptitude and a thorough understanding of the business for which the application is being built.
A typical developer would not necessarily be someone who has worked on a particular technology for 5-6 years rather it would be someone who has worked in a particular business domain for 4-5 years. Unlike at present where we need people to learn and keep themselves updated about the technology they work in, say someone who claims to be an expert in .Net should know what new features .Net framework 4.0 has , going forward a software developer would need to be updated on all the applications of every technology that are in the market and which one has what good feature – from usage in business point of view. He would not be required to learn the nitty-gritty of a technology rather he would be required to learn and be updated on the features that any technology has and should have the aptitude to use the one that suits the requirement best. Every company would have only a handful of network/IT support guys to take care of the system configuration needs.
In such a scenario the role of a typical tester (in terms of the work that she does at present) gets blurred somewhere. Since the developer’s scope of work would encroach upon the testers work she has to innovate to be of good use in the software development process. In fact the future would be more favorable for testers because of their expertise on application knowledge, of course only those who have build a thorough expertise on the domain they work in and have kept themselves updated on all the different technologies that are available in the market will excel. The fact is there would not be separate roles of developers and testers – we will have only system and application specialists. Anyone who is abreast of new technologies and has a strong knowledge on 1-2 business area will rule.
Keeping such a scenario in mind I think the current testers should start preparing themselves for the future by focusing on broad system knowledge rather than knowing the syntax of only one language. Someone at present who is into testing a banking application which is built in .Net might think she has to learn about banking domain as well as something about .Net to be an expert tester but that need will no more be there in future. She would need to know about banking domain and in addition should know what the system architecture demands and which technology in the market caters to it. Development of tools and addition of developer friendly features ensure that you need not be an expert syntactically to write your application using their language rather all you need is aptitude and awareness of the features of the technology itself – so learning about these things would help.
Author – Atma Prakash Ojha