Une maîtrise complète de l’intégration n’est plus possible

Lu chez James Hague, « Une compréhension complète n’est plus possible » :

Supposons que vous venez juste d’acheter un MacBook Air, et que votre objectif est de devenir maître de la machine, de comprendre comment elle fonctionne à tous les niveaux.

Le livre « Mac OS X Internals: A Systems Approach » d’Amit Singh est un bon début. Ça ne parle pas tant de programmation que de discours approfondis sur la façon dont toutes les parties du système d’exploitation fonctionnent entre elles : ce que fait le firmware, les séquences d’événements durant le démarrage, ce que les drivers font, et ainsi de suite. A 1680 pages, ce n’est pas une petite lecture.

Pour vraiment comprendre le matériel, Intel a gentiment mis à disposition une documentation gratuite en 7 volumes. Je vais rester simple en recommandant la lecture de Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture (550 pages) et les deux volumes décrivant les jeux d’instructions (respectivement 684 pages et 704 pages).

[…]

Le total de tout ça, c’est plus de 11 000 pages de lecture. J’ai omis d’inclure les pages man pour des centaines d’utilitaires système et la documentation d’Xcode. Et je n’ai même pas encore abordé les connaissances graphiques nécessaires pour faire quoi que ce soit d’intéressant avec OpenGL, ou comment écrire du bon C ou Objective-C ou quoi que ce soit concernant la conception orientée objet, et…

Son article touche un très bon point, et ça m’a rappelé cette vidéo de l’excellent Richard Feynman  (prix nobel de physique et joueur de bongo) qui remets un journaliste à sa place quand il lui demande comment fonctionnent des aimants. Si vous ne connaissez pas Richard Feynman, rendez-vous service et regardez cette vidéo.

Feynman: Magnets  FUN TO IMAGINE  4  But see NEW UPDATED file at https://tinyurl.com/ycphc432

Le journaliste : Quand vous tenez deux aimants, et que vous les poussez l’un contre l’autre, vous sentez cette pression entre les deux. Et quand vous les retournez, et ils se collent l’un avec l’autre. Qu’est-ce que c’est cette sensation entre deux aimants ?

Richard Feynman : Qu’entendez-vous par « qu’est-ce que c’est cette sensation ? »

Le journaliste : Et bien, il se passe quelque chose. Cette sensation, il y a quelque chose…  quand vous collez deux aimants l’un contre l’autre.

Richard Feynman : Ecoutez ma question : qu’entendez-vous par « quelle est cette sensation » ? Bien sûr qu’il y a quelque chose. Mais que voulez-vous savoir ?

Le journaliste : Ce que je veux savoir, c’est ce qui se passe, entre ces deux morceaux de métal.

Richard Feynman : Les aimants se repoussent l’un l’autre.

Le journaliste : Oui mais qu’est-ce que ça signifie ? Ou pourquoi est-ce qu’ils font ça ? Ou comment est-ce qu’ils font ça ? … J’estime que c’est une question parfaitement raisonnable.

Richard Feynman : Bien sûr ! C’est même une excellente question ! Mais le problème, c’est quand vous demandez « Pourquoi quelque chose se passe ». Comment quelqu’un réponds à une question comme ça ?

Par exemple, Tante Minny est à l’hôpital. Pourquoi ? Parce qu’elle a glissé sur la glace et qu’elle s’est cassée la hanche. Cette réponse satisfait les gens. Mais ça ne satisferait pas quelqu’un qui vient d’une autre planète et qui ne connaît rien de nous. Par exemple pourquoi quand on se casse la hanche on va à l’hôpital ? Comment vous rendez-vous à l’hôpital quand votre hanche est cassé ? Et bien son mari a vu qu’elle s’était cassé la hanche, il a appelé l’hôpital pour que quelqu’un vienne la chercher. Tout ceci est compris implicitement par les gens.

Quand vous expliquez « Pourquoi », vous devez être dans un cadre de travail qui permets à quelque chose d’être vrai. Sinon vous continuerez éternellement de demander pourquoi.

Pourquoi est-ce que le mari a appelé l’hôpital ? Parce que le mari est intéressé par le bien être de sa femme. Mais tous les maris ne sont pas toujours intéressés dans le bien être de leur femme, quand ils sont soûls et en colère. Et donc vous commencez à avoir une compréhension très intéressante du monde et toutes ses complications. Si vous essayez de poursuivre la moindre branche, vous irez de plus en plus loin dans différentes directions.

Je pense que c’est vrai également pour le métier d’intégrateur. Avec toutes les nouveautés techniques apparues rapidement ces dernières années (HTML5, CSS3, Canvas, WebGL, …), et la mise en avant massive des technologies côté client en dehors du web (applications mobile, Windows 8, …), il n’est plus possible pour un intégrateur de maîtriser l’ensemble des technologies mises à sa disposition. Le métier d’intégrateur et plus largement de développeur front-end va alors se diviser en de nouvelles branches, tout comme il y a 10 ans le métier d’intégrateur s’était détaché du métier de webdesigner.

On en arrive alors à ce que vous aimez faire. Qu’est-ce que vous préférez ? Est-ce l’organisation de contenus basés sur la sémantique HTML ? Ou la mise en page en CSS ? Ou le développement d’interactions en JavaScript ? Est-ce que vous souhaitez continuer à faire des sites web ? Ou est-ce que vous voulez vous spécialiser dans le développement d’applications web (pour mobiles ou pour les OS dédiés) ?

Peu importe la réponse, trouvez ce que vous aimez, et creusez le sujet à fond. Car peu importe votre spécialité, ça deviendra votre plus grand atout.

  1. LJ44, le

    Tres interressant cet article car je me faisais la meme refexion avec le metier dinfographiste en general…maitrise de l’essentiel de la suite d’adobe (photoshop, illustrator,flash) et en plus des langages tel que html/css (jusqu’ici ca va). Mais le probleme c’est que les entreprises cherche un « trois en un » c’est a dire quelqu’un qui gere le design, l’integration et parfois a la limite du dev. ce qui pousse a la concurrence extreme et aussi a un manque de specialisation. Alors vaut il mieux quelqu’un de polyvalent mais moyen partout ou quelqu’un de specialise mais qui sera exellent dans son domaine? Comme ca ete dit dans cet article, il y a l’arrivee de nouvelles technologies mais aussi la poussee des entreprises. Bref c’est effectivement quelque chose a prendre en consideration, car ce qui est bon aujourd’hui ne sera peut etre plus bon demain…

  2. Gaël, le

    Ca me semble être « utopique », dans le sens ou ça aura lieu dans un univers parallèle dans lequel les clients se souciraient de la qualité de la production, les intégrateurs seraient assez nombreux pour que toutes les compétences soient présentes, et les employeurs laisseraient l’employé se spécialiser.

    J’aimerais pouvoir vivre uniquement de la spécialité qui me passionne dans mon travail, mais actuellement c’est impossible et ça le sera difficilement.

    C’est envisageable dans une grande structure, disposant de plusieurs intégrateurs et chacun complétant l’ensemble avec sa spécialité. Une équipe, en somme. Dans le présent comme dans le futur, la plupart des intégrateurs sont seuls, ou peut-être à deux ou trois.

    De plus, le métier d’intégrateur ne s’est pas encore véritablement détaché de celui de webdesigner : je travaille dans une agence d’une dizaine de personnes, et je reste le seul graphiste & intégrateur. Non sens, ou réalité ? Il y a deux ans, quasiment aucune offre d’emploi ne parlait d’intégrateur html/css, ni même de front-end dev comme c’est la mode en ce moment. Et dans les annonces actuelles, on demande encore à un intégrateur une « maîtrise de Photoshop », entre autres.

    Mais ce phénomène s’inscrit dans une évolution naturelle déjà éprouvée : la division cellulaire. on y arrivera sûrement un jour, mais ça ne sera jamais généralisé puisqu’il existera toujours de petites structures dans laquelle chaque employé se doit d’être complet.