Identify the greatest challenges facing software engineering in the next 20 years. Highlighting the challenges and problems that software engineers have dealt with in its short history. Discuss and analyse each of these challenges. Using technical terminology , and propose how such challenges might be overcome. *one page*
a.) As the technology is emerging day by day user’s expectaations are also booming.They rely on the thinking that every new technology coming is better and fast than previous one.This is a endlees chain of expectations and there might come a saturation level where users expectations can outwiegh the technologies .
Expectations are someting which can go out of scope from anyone’s hand but still we can overcome this by going step by step and not setting any false goals which engineers know that it is not achievable in near future
b) Another challaenge the software engineering is going to face is that in coming years the software will be expected to work on totally differenct scales without any restrictions.There would be a strong need to increase the scalibility of curren resources Like in history or current scenrios we can fit any software into two groups programming in small and programing in large but in the near future some other group has to be created to fit the vast lines of code .Actually it already has started diverging in few ways like rather than keeping data in single machine now a days distributed storage is used and rather than buying the actual servers now the processing is done on cloud itself.
As software enginnering is advacing ,parallely hardware industry also has to be in sync with it to meet the scalability needs of software enginnering.New servers are being developed and moreover cloude has taken over the market in recent years to bottledown the scalability issues.
c) Wastage: As the software engineering is reaching to lower nodes in it’s environment the wastage of resources is increasing.With the invent of cloud the cost of infrastructure for hosting data and software drops near zero which allows many instances of replicated software modules to create in very less time.For example a website can go live in just few hours .This lures many users initially but gets discareded in few days resulting in wastage of reources.
This wastage can be overcomed by putting some legal rules on the development to prevent any replicated modules to be created again and again which has no use.
d) Displacement of Engineers: As software engineering is swapping many skilled workers with robotics actually in some fileds it has almost sweeped the full man power and replaced it with robots. If this continues to happen in it’s own profession then many skilled engineers may seek to look for other opportunities than software engineering which in can turn to its own saturation point as there will be innovative minds left in the industry to push it to next level.For example as per the current trends the Testing field is being automated by softwares ,,and in near future a time may come when there will be no software tester left or no one will opt for software testimg
This displacement can be controlled by maintaing a proper ratio of manpower and robotics,becaubse in the end man power is the only thing that can create robots.If no man power is available then technology wont advance and we will be stuck to that level only.