Au travers de l’expression répandue de révolution numérique, apparaissent nombre de bouleversements techniques et sociétaux. Nouvelles technologies, nouvelles formes de communication et nouveaux métiers, pour résumer dans les grandes largeurs. Et au cœur de la transformation digitale, le développeur a évidemment vu sa profession et ses environnements évoluer.

 révolution numérique

Un peu d’histoire

Avant 1940, les développeurs étaient influencés par les restrictions matérielles. Ainsi, par exemple, les cartes perforées générées ne pouvaient avoir plus de 80 colonnes. C’est donc vers 1940 qu’on note l’apparition des premiers ordinateurs électriques. Les limitations en rapidité et en capacité mémoire ont alors imposé aux développeurs une écriture des programmes en langage machine (Assembleurs). Enfin, ce codage nécessitait un effort intellectuel important et générait beaucoup d’erreurs dans le code.

Dès 1948, on voit éclore la première évolution majeure des langages de programmation. En effet, appelés « haut niveau » comme le FORTAN, LISP, COBOL, ils ont contraint le développeur à obéir à une structuration de programme en blocs imbriqués (morceau de code logique) et à la notion de portée. Un bloc pouvant manipuler des variables qui lui sont propres.

Par la suite, à partir des années 1970, on assiste à un véritable foisonnement des langages de programmation. Celui-ci a donné naissance à la programmation structurée (essentiellement sans le GOTO dans le code), illustrée par les langages Pascal et SQL, entre autres.

Par ailleurs, les années 90 correspondent avec le début de l’ère Internet, et voient émerger la combinaison de quantité d’idées anciennes. Les enjeux ? Augmenter la productivité des développeurs, et la fiabilité du code produit. Aussi, des langages pour le développement rapide des applications, orientés objet, environnement de développement intégré se manifestent-ils. Ces nouveaux langages de scripts sont interprétés (Java, Python, PHP,…).

langage

Dès 2010 : de nouveaux enjeux

La période suivant 2010 marque une recherche accrue de sûreté. En outre, on observe une tendance vers des langages peu connus.  Et dans ces derniers, il n’y a plus de vérification lors de la compilation pour éviter les erreurs pendant que le programme tourne. C’est donc dans ce contexte que les valeurs null sont supprimées, et remplacées par des structures plus sécurisées, obligeant le développeur à rendre son code plus sûr (Langages RUST, CEYLON et ELM).

Et aujourd’hui ?

Les tendances actuelles font évoluer les  langages de programmation. Modularité, développement orienté composant, intégration des bases de données, généralisation du XML pour les interfaces graphiques, support de l’Unicode dans le code source, et sécurité et sureté bien entendu ; font partie de ces nouvelles orientations.

 

Développeur, programmeur… Quels métiers aujourd’hui :

  • Programmeur : Transcrire dans un langage de programmation une solution informatique.
  • Développeur spécialisé:   Partenaire du concepteur, il analyse la solution et propose des solutions.
  • Développeur-polyvalent: Conçoit des solutions informatiques, intègre et exploite ses solutions informatiques dans l’eco-système 360° en multi-devices.
  • Développeur dresseur ou coach: Les développeurs de l’avenir devront être en mesure de s’adapter à la demande, mais aussi se montrer créatifs et capables de fonctionner dans un monde en constante évolution. Avec l’arrivée de réseaux avec des ordinateurs plus puissants et dotés d’une intelligence acquise à base de connaissance, capable de générer des codes, de produire des solutions en tenant compte des contextes, situations et contraintes , le développeur coachera des machines pour leur transmettre son savoir faire avec l’arrivée de l’intelligence artificielle.

programmeur

Les qualités d’un développeur informatique dans le paysage actuel :

  • Rigueur et autonomie
  • Rapidité d’exécution et polyvalence
  • Sens de l’analyse et de la compréhension des nouveaux concepts
  • Facilité d’adaptation aux nouveaux langages et nouvelles technologiques
  • Sens de la compréhension des besoins en solutions informatiques et fonctionnelles
  • Capacité à innover dans la conception des solutions
  • Assurer une veille technologique (Actualiser constamment ses connaissances)

 

Pour aborder l’aspect de la vie professionnelle, depuis peu, Microsoft met à disposition un éditeur de code avec Skype, destiné à tester les développeurs en entretien d’embauche. Disponible uniquement sur la version Web de Skype, elle sera effectivement intégrée au logiciel de messagerie si les résultats sont concluants.

 

 

Article de Zouaoui, consultant Delane, pour Delane SI