The world of software development is unrecognizable if we compare it with what it was 20 years ago, and in 10 years the future of software development outsourcing will also be totally different. Soon all the new incorporations to the companies will know how to program something (regardless of their position or role in the company), and, as everybody knows, the robots are capable of carrying out increasingly complex tasks that will put in check the positions of work in an unprecedented way.
First, let’s take a look at the current context: the United Kingdom has introduced programming into the school curriculum , the first G20 country to take this step. This means that in 10 years, all the graduates of the UK schools will know some code . In the US, organizations are trying to get a similar through programs aimed time code. I believe that more and more countries will adopt this type of programs that will forever change the future of software development and industry in general.
The fact that all employees will know how to program in the future is important. But does this mean that they will be software developers? Of course not. What it will imply is that the software user of the future will be more trained in software technology , and therefore will expect (and demand) more software that he uses every day, whether at home or at work.
The user of the future will demand customization and will be increasingly able to customize the software themselves. We do not just talk about changing the color of a button or the font of a text. We talk about adding new fields to a form, validations, modifying or adding new rules for addressing workflows or even integration with other applications.
Knowledge of the code of future generations will be used mainly to program the configuration of software applications of the future , and not so much that everyone starts programming software applications from scratch. If in the future an application can not be customized, users will look for other alternatives or look for ways to hack into software that will compromise the integrity and security of an application that is designed to be too rigid.
Fellow software developers, if we want our profession to flourish, we need to provide future generations with applications and developments that can benefit users who know how to program things. Why does adding a new field to a form in a business application involve both custom code and so many changes in the database? Why can not the user add a new field without having to involve a developer or change a business rule without BPEL? Why can not a user decide how to validate a field? After all, the user usually knows more about the business needs and requirements than the developer of the business application itself.
This scenario is a great opportunity for the development of new development environments and tools that allow software developers to easily incorporate customizations into their applications. The most successful applications of the future will be those that offer configuration and personalization options via programming to the users themselves. There will be no market for very rigid applications.