Since the Turing machine (1936), initially experimented in cryptology, the profession of computer developer has evolved in a considerable way from the diversification of the application contexts to the exploration of new areas of use of the computer.
Until the years 1990-1995, and despite the diversification, the computer developer remained a profession of specialists, and the computer scientist often looked like the geek, who manipulated in a complex but expert way the computer and its various secrets. During this period, the development was oriented low level (programming in languages close to the processor such as assembly language).
In this context, the computer development engineer handled computers with minimalist interfaces, very little ergonomic (e.g., black and white DOS interface). The development was based on programming dealing with complex file systems. As languages one can quote COBOL, C, ADA or even C ++ and D. The applications, which ensued, presented a high quality, in spite of a complexity of maintenance and a quite consequent heaviness.
The Web and the mobile, the era of abstraction
Nevertheless, a revolution has taken place in recent decades with the creation of the Web by CERN in 1980. With the boom of the web (1999-2001) the use of computers has radically changed. The era of pragmatism opened up in the computer development business. Languages have become less restrictive, lighter, and above all error-tolerant (HTML / CSS / SQL). We are talking about the emergence of a new profession, that of Web developers.
In addition, the evolution of storage systems into “relational” or “object” database management systems has led to more flexibility in content management. In the Web trades, a new taxonomy then appeared revealing a separation between the “Back End” Developers and the “Front End” Developers.
In a logical way a new profession bringing together these two universes appeared, that of Web architect . As the Web domain has become more and more mature, standards have emerged, and optimized frameworks (in PHP, .NET or JEE) have emerged for the happiness of back-end developers who only have to follow a predefined software architecture and clear programming rules to achieve the expected results. On the front-end side, “centralized” Wysiwyg design tools have made it much easier for developers.
Another innovation revolutionized the business of developer in computing, it was the boom of the mobile telephony and the democratization of the smartphones, towards the years 2010. New challenges appeared, the applications initially developed for the web working on conventional computers, had to be deployable on a mobile terminal. This resulted in the emergence of a new business, namely the development of mobile applications for smartphones and tablets. These developments, unlike the basic programming languages, have been standardized and guided by three manufacturers: IOS, Android, and Windows Mobile. The development engineer requires training on SDKs to contribute to this type of application. Nevertheless, new software platforms proposing Wysiwyg Design for the realization of mobile applications, disregarding the initial language, have facilitated the popularization of this type of development.
Cloud and Big Data, pragmatism and optimization
The arrival of the notion of Big Data and cloud virtualization have opened up huge possibilities the configuration of their machines, and the installation of their servers, because everything can be controlled directly via cloud platforms . This flexibility pushes developers to further elevate their level of pragmatism and focus directly on the use of their applications, and without worrying about technical constraints.
In this perspective, the Web development via an online software platform (on the cloud) can directly build its (dynamic) website by integrating existing “templates”, and put it into production even in the morning. We are talking about a non-expert web player. This type of job does not necessarily require a complete knowledge of programming (which was an obligation at the beginning of the air of computing), but just a training on the manipulation of online software for the integration of “templates” .
Artificial Intelligence, a revolution
To understand the future trend of the business of the developer, it must be realized that if specialization was an obligation for the practice of computing today and the majority of the panel of computer applications, it is clear that this is no longer the case. Thus the business of development will be limited to two types of profiles:
- Developers with a “high level” of abstraction: they do not write code, and their role is to gather optimized bricks, which they do not need to question and which they consider as black boxes.
- “Low/Intermediate” specialist developers: they are the ones who will set up these basic building blocks to fulfill the need of high-level developers.
Regarding the long-term evolution of the development business, we imagine autonomous software platforms revolutionized by the notion of Artificial Intelligence (AI) , which will further optimize the development stages. We imagine platforms to which the non-expert user will submit a request for the realization of a computer application.
The “robot software with integrated AI” via intelligent exchange would arrive in a few steps to produce a first version of what is requested. This first version would be improved by an interaction between non-expert user and robot software with integrated AI. After a few iteration cycles, the final version of the requested application would be made available.
In the meantime, rest assured, developer’s business in IT still has many years ahead of it, as these smart and futuristic platforms will need people who can develop, maintain and regulate them.