
1. Ne pas leur reprocher de grosses erreurs :
Les clients auront tôt fait de s’en charger. Dans son article, Paul Ford explique « j’ai commencé à programmer il y a près de 20 ans, étudiant oraperl, une version spéciale du langage Perl qui a été modifiée pour fonctionner avec la base de données Oracle. Un mois s’était à peine écoulé tandis que je travaillais que j’avais déjà endommagé les comptes de 30 000 joueurs de basketball. Ils m’ont envoyé des courriels plein de colère après quoi j’ai décidé de m’améliorer ».
2. Prendre en considération l’expérience des vétérans (et pas uniquement se focaliser sur les jeunes diplômés) :
Ford précise que coder pour lui n’est pas « naturel » : « j’aime les ordinateurs, mais ils n’ont jamais eu aucun sens pour moi ». Pourtant, « après deux décennies pendant lesquelles j’ai engrangé des informations dans mon cerveau résistant au code, j’ai obtenu suffisamment de connaissances que l’ordinateur m’a révélé derechef. Sa magie a été extirpée, je peux soutenir une conversation avec quelqu’un qui a travaillé à Amazon.com ou Microsoft sans une once de honte ».
3. Engager quelqu'un qui a travaillé pour le compte de Google ou Apple - si vous en avez l’opportunité :
Ford lance une petite boutade lorsqu’il partage son expérience qui a permis de forger le développeur qu’il est aujourd’hui. « Je peux soutenir une conversation avec quelqu’un qui a travaillé à Amazon.com ou Microsoft sans une once de honte » écrit-il avant de continuer en avançant que « je serais heureux de parler à des gens de chez Google et Apple aussi, mais ils réintègrent si rarement la population générale ».
4. Essayer de catégoriser les développeurs est une approche assez erronée :
Les emplois proposés aux développeurs peuvent s’avérer radicalement différents. « Le World Wide Web est ce que je connais le mieux (j’ai codé pour de l'argent dans les langages de programmation Java, JavaScript, Python, Perl, PHP, Clojure, et XSLT), mais le Web est seulement une petite partie du monde plus large de développement logiciels. Il y a 11 millions de développeurs logiciels professionnels sur la terre, selon le cabinet d'études IDC (un montant supplémentaire de 7 millions regroupe des amateurs). Ce qui représente à peu près la population de la grande région de Los Angeles métro. Imaginez que tout L.A se mettait à la programmation. East Hollywood serait pour les programmeurs Mac, West Los Angeles pour les développeurs mobile, Beverly Hills pour les programmeurs de financement, et de tout le comté d'Orange pour Windows ».
« Il y a encore plein de voisinage : il y a des gens qui écrivent des codes pour des ordinateurs embarqués plus petits que vos pouces, il y a des gens qui écrivent le code qui s’exécute sur votre TV. Il y a des programmeurs pour tout. Ils ont des cultures différentes, des rites qu'ils utilisent pour organiser leur vie de travail. Si vous me disiez qu’un administrateur système prenait une classe de jonglerie, cela aurait un sens, et je m’attends à ce qu’un chef de produit prenne une classe de trapèze. J'ai rencontré des architectes de l'information, qui répertorient et classent leurs amitiés dans des tableurs, des spécialistes de la recherche de la sécurité qui aiment faire la fête ».
5. Traitez-les comme des artistes ou des scientifiques, bien que vous puissiez être tenté de les traiter comme les machines qu'ils programment :
« L’une des choses que j’ai mis une éternité à comprendre est que les ordinateurs ne sont pas ‘bons en maths’. Ils peuvent être programmés pour exécuter certaines opérations à certains degrés de précision, si bien que cela semble être ‘faire des mathématiques’ pour les humains ». Et de citer l’informaticien hollandais Edsger Wybe Dijkstra Dijkstra en disant « les sciences Informatique ne concernent pas plus les ordinateurs que l'astronomie ne concerne les télescopes ».
6. Abandonnez la pensée selon laquelle les machines peuvent faire quelque chose – par exemple, par l'entremise de Siri ou Cortana, votre téléphone serait en mesure de vous écouter - :
« Le travail le plus dur dans la programmation c’est être en présence de choses qui ne sont pas calculables, dans la recherche des moyens de diviser des tâches impossibles en petits éléments possibles, puis créer l'impression que l'ordinateur est en train de faire quelque chose qu’il ne fait pas en réalité, comme avoir une conversation humaine . Ceci est connu comme étant "la recherche de l'intelligence artificielle" même si, maintenant, il est plus probable d'entendre l’appelation "machine learning" ou "data mining." Lorsque vous parlez à Siri ou Cortana et qu’ils répondent, ce n’est pas parce que ces services vous comprennent ; ils convertissent vos paroles en texte, transforment ce texte en symboles, font alors correspondre ces symboles aux symboles dans leur base de données de termes, avant de produire une réponse. Des tonnes d'algorithmes, emmitouflés et appliquées, vous font croire que les ordinateurs peuvent simuler une écoute ».
7. Rappelez-vous qu'ils ont également leurs propres principes :
Par exemple, le soi-disant principe DRY -Do not Repeat Yourself - est « l'un des principes familiers de la programmation», écrit Ford. « Autrement dit, vous devez nommer les choses une fois, faire les choses une fois, créer une fonction une fois et laissez le soin à l’ordinateur d’effectuer lui-même la répétition » explique Ford. « Cela ne fonctionne pas toujours. Les programmeurs se répètent constamment. J'ai écrit certains types de code une centaine de fois. Voilà pourquoi DRY est un principe ».
8. Prenez en considération les avantages de l'uniformité linguistique :
« Il est possible pour un développeur C et un développeur Java de lire le code de l’un et l’autre, mais il sera plus épineux de faire fonctionner ensemble un code C et un code Java. C et Java représentent le monde de différentes manières, structurent les données de différentes manières, et conversent avec les ressources d’un ordinateur de différentes manière. Il y a donc un véritable avantage à ce que tous dans une même équipe utilisent le même langage. Ils penseront alors de la même façon sur comment intimer à l’ordinateur de traiter les données ».
9. Prenez en considération les avantages de la diversité linguistique :
« Il n’est pas nécessaire pour chaque équipe dans une grande organisation d’utiliser le même langage», poursuit-il. « En fait, cette stratégie s’avère souvent contre-productive. Les grandes organisations ont beaucoup de besoins et utilisent de nombreuses langages et services pour les résoudre. Par exemple, Etsy a été conçu sur PHP mais son service de recherche de produits utilise des bibliothèques Java, parce que les solutions disponibles pour la recherche en Java sont bonnes. Certain langage de programmation, comme le C, feront de leur mieux pour faire exactement ce que vous voulez, même si cela signifie faire planter votre ordinateur ».
10 Dites le fort et fièrement et développez une cuirasse :
« Un discours franc est considéré comme une bonne qualité chez un développeur, un signe de ‘mentalité d'ingénieur'- n’hésitez pas à partager toute opinion aussi rapidement que possible, afin de parvenir au plus tôt à un consensus technique. Attendez-vous à ce que les autres vous disent que vous vous trompiez, attendez-vous à faire comprendre aux autres qu’ils se trompent. (…) Cela peut mener à des décisions rapides mais pénaliser ceux qui ont besoin de composer tranquillement leur pensée » estime-t-il.
11 Modifiez vos processus d’interview :
Ford a noté que « les entrevues d’emploi de développeur, qui comprennent souvent des questions abstraites et dénuées de sens qui doivent pourtant avoir une réponse sur le tableau blanc, caractérise cette culture ».
12. Méfiez-vous des tendances lors de vos développements (et de vos embauches) :
« La culture du code est extrêmement répandue même si géographiquement et culturellement parlant elle est au cœur du moteur de progrès de la Sillicon Valley. Cette dernière magnifie les jeunes prodiges qui ont une large base de connaissance. Le plus, cette culture fonctionne, le moins, elle ne fonctionne pas avec tout le monde. A tout moment quelque chose de nouveau pourrait avoir le vent en poupe et perturber votre flux. Instagram a été écrit en Python et vendu 700 millions de dollars, alors Python a eu son moment de gloire, » a expliqué Ford. « La prochaine application marquante pourrait apparaître, écrite dans un nouveau langage - et faire en sorte que tout le monde commence à le prendre plus au sérieux - ».

13. Réalisez que le monde, tel que vous y êtes confronté, pourrait changer en un clin d'œil :
« Une fois, pendant que j’assistais à une réunion, quelqu’un a demandé ‘combien de temps cela prendra-t-il pour résoudre ce problème ?’. Une personne, qui a été dans l’entreprise depuis des années déjà, a répondu ‘trois mois’. Une autre personne, qui a été issue d’un monde où les micro-services Cloud sont rapidement fournis, a dit ‘trois minutes’. Tous les deux avaient raison. C’est ainsi que le changement arrive dans ce monde, au début il vient lentement, puis il apparaît sur la page d’accueil de Hacker News ».
14. Il arrive que les développeurs soient sur la défensive :
« Les programmeurs se frayent un chemin dans un territoire cognitif et assistent à des conférences, et pourtant ils savent leur position est vulnérable. Ils sont sur la défensive quand ils entendent quelqu'un suggérer que Python est meilleur que Ruby, parce que [insérer un fil de messages de 500 commentaires ici]. Est la prochaine grande vague arrive et va balayer Java au passage? Est-ce que Go va conquérir Python? Dois-je apprendre JavaScript afin de rester rentable? Les programmeurs sont souvent en colère parce qu'ils ont souvent peur. Nous nous sommes surpris, la plupart d'entre nous, à trébucher avec seulement quelques bougies pour éclairer notre chemin. Nous ne pouvons pas toujours voir l'ensemble du système, nous avons donc besoin de le déchiffrer, peu à peu, dans l'obscurité » estime Ford.
15. Oubliez le fantasme sur l’embauche de la crème de la crème :
« L’industrie attire indéniablement de brillants penseurs. J’en ai rencontré quelques-uns. Vous pouvez les considérer comme brillants...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.