8 doit avoir les qualités d'un grand développeur de logiciels

4 décembre 2018
10 points forts des ingénieurs super performants

Lorsque j'ai fondé DevSkiller il y a sept ans, l'objectif de mon équipe était d'aider les entreprises à trouver de bons développeurs. Depuis lors, j'ai eu l'occasion de travailler avec des entreprises du Fortune 500, ainsi qu'avec des entreprises plus petites dans le monde entier. J'ai parlé à des techniciens comme des directeurs techniques, des responsables informatiques, des chefs d'équipe, des membres d'équipe et des représentants des ressources humaines. Tous ces gens étaient chargés de trouver et d'embaucher les meilleurs talents dans le domaine de la technologie. Ils étaient tous confrontés à un problème universel : comment engager de bons programmeurs. Ils étaient également à la recherche des mêmes forces en matière de développement.

Tout commence par identifier un bon développeur lorsque vous en voyez un. Cela nous amène à la question cruciale : Quels sont les principaux atouts des développeurs ? Le sujet a fait l'objet de nombreuses discussions. Je vous recommande de lire ceci Fil de quora. Il est rempli d'informations provenant de quelques grands noms de l'industrie.

Sur la base de notre propre expérience, de centaines d'entretiens et de dizaines de pivots sur notre chemin, nous devrions participer à la discussion. Nous avons trouvé une liste des principales qualités d'un ingénieur en logiciel.

Qualités des développeurs de logiciels

1. Curiosité

La curiosité est, dans les grands esprits généreux, la première passion et la dernière", a déclaré Samuel Johnson. Cela est également vrai lorsqu'on considère les qualités d'un bon programmeur (et leurs grands et généreux esprits). Cherchons une référence plus contemporaine qui développe le point de vue de Johnson. Dan Pupius dit que "la curiosité est importante tout au long de la vie d'un ingénieur". Elle vous pousse à apprendre de nouvelles langues, expérimenter et chercher de nouvelles solutions. C'est exactement ce que vous voulez chez un ingénieur. Cela vous pousse aussi à étudier les choix architecturaux des autresainsi que remettre en question les hypothèses. Pupius affirme que de nombreuses qualités généralement associées à une grande ingénierie "découlent d'un riche sens de la curiosité".

John Allspaw, directeur de la technologie chez Etsy, fait valoir un bon point à son poste ".Sur le fait d'être un ingénieur senior”. Il dit que Les meilleurs développeurs sont curieux. Ils ont tendance à se poser des questions à eux-mêmes et à leurs pairs lorsqu'ils travaillent.

  • "Qu'est-ce que je pourrais manquer ?"
  • "Comment cela ne va-t-il pas fonctionner ?"
  • "Pouvez-vous me faire autant de trous que possible dans mon esprit à ce sujet ?"
  • "Même si elle est techniquement solide, est-elle suffisamment compréhensible pour que le reste de l'organisation puisse la faire fonctionner, la dépanner et l'étendre ?

Je ne pourrais pas être plus d'accord. A première vue, il peut sembler que ces questions soient posées par un pessimiste en série. Ce n'est pas le cas. Elles sont posées par un individu curieux et passionné d'écriture des systèmes élégants et cohérents. Ne confondez pas la rigueur avec une attitude "nous sommes tous condamnés".

le développeur est fort la curiosité la fin est proche

Source : Dossier de campagne

2. Compétences techniques

Rahul Varshneyadit que "les beaux-arts et la programmation sont similaires en ce sens que de grandes compétences techniques ne font pas un grand artiste ou un grand programmeur". La grandeur ne vient pas seulement des compétences techniques. Cependant, vous ne pouvez pas attendre des résultats exceptionnels de personnes qui n'ont pas les compétences requises pour ce travail. Vous devez considérer les compétences comme l'un des éléments du puzzle qui ne fait pas grand-chose en soi. Elles peuvent cependant faire des merveilles lorsqu'elles sont accompagnées d'autres points forts du développeur. Heureusement, la présence des points forts et des qualités clés d'un ingénieur logiciel est super facile à vérifier avec tests de codage.

N'oubliez pas que la connaissance des détails techniques est importante. Mais... Si vous rencontrez un candidat prometteur qui présente tous les points forts du développeur mais qui est encore en apprentissage, envisagez de l'embaucher pour un poste subalterne. Vous serez surpris de voir jusqu'où il peut aller.

Vitesse et productivité

A Étude de Sackman, Erikson et Grant a découvert une différence de productivité dix fois plus importante entre les programmeurs. La recherche n'est cependant pas sans faille. Elle ne "tient pas compte des différences de capacités individuelles". Elle combine également les résultats d'utilisateurs travaillant dans des langages de programmation de bas et haut niveau.

forces des développeurs recherche années 1960 graphique de la productivité

Source de l'image : Construx.com

Steve McConnell affirme que les recherches disponibles sur le sujet sur le sujet n'est pas exempt de limitations. Il est pas concluante, mais elle est définitivement suggestive. Et c'est exactement comme ça qu'il faut voir les choses.

Les salaires ne reflètent pas souvent cette situation différences d'ordre de grandeur entre développeurs. Existe-t-il un moyen de mesurer la productivité des développeurs et devriez-vous même essayer de le faire ?

Malheureusement, la mesure de la productivité des développeurs nous a échappé jusqu'à présent. Nous savons que les lignes de code (SLOC, ou Source Lines of Code) ne sont pas une mesure qui est synonyme de la valeur du développeur. En fait, moins est plus dans le monde du code (tant qu'il est cohérent et pleinement fonctionnel). D'après Phil Haack, à condition que un code concis, maintenable et compréhensible est supérieure à la perforation rapide de volumes de code. Pourquoi ? Pensez à ce qui se passe lorsque vous voulez ajouter de nouvelles fonctionnalités ou des mises à jour. Il faut généralement des heures pour déchiffrer un code fragile et le réparer. Le prix à payer est généralement élevé. Permettez-moi de le dire ainsi : ce que vous économisez sur un développeur rapide mais négligent, vous finissez par le dépenser dans l'équipe d'assurance qualité.

dessin animé de dilbert avec les forces du développeur blague

Source : Dilbert

Si vous vous intéressez à la productivité dans les TI, lisez "Le mythe de la productivité des développeurs" par Dustin Barnes.

Sensibilisation

Paul Haack dit que les meilleurs développeurs savoir quand il faut coder et quand il ne faut pas. Il affirme que réinventer la roue met inutilement le projet à rude épreuve. Il faut plutôt utiliser les bibliothèques existantes pour gagner du temps. Cela semble logique, n'est-ce pas ? Mais tout faire à partir de zéro reste l'un des plus grands voleurs de temps.

Sensibilisation également se manifeste par le seuil de tolérance au risque. C'est crucial, car il faut souvent remanier des systèmes vivants. C'est là que les choses peuvent mal tourner. Être capable d'évaluer le risque de manière réaliste sans que l'ego n'intervienne est certainement l'une des principales forces et qualités d'un ingénieur logiciel.

3. Intuition

Comme le soutient Varshneya, alors que certains développeurs luttent pour trouver une solution, celle-ci vient naturellement à d'autres. C'est "comme si une révélation les frappait au moment où ils s'assoient pour créer des programmes ou résoudre un problème".

doge meme very insightful developer strengths joke

De grands développeurs de logiciels comprendre intuitivement les algorithmes et les architectures. Cette capacité leur permet d'apprendre rapidement, ce qui nous amène à la qualité suivante.

4. L'amour de l'apprentissage

D'après John Krystynak, "un véritable engagement en faveur de l'apprentissage continu" est l'un des les points forts des développeurs. "Il faut aimer la pratique fondamentale qui consiste à passer de l'ignorance à la connaissance, tous les jours", sinon on n'y arrivera pas.

Cela est particulièrement vrai dans le monde des technologies de l'information. S'il est utile d'avoir sa propre façon de faire les choses, il est essentiel de s'aventurer hors de ce que l'on connaît. Trouvez des moyens plus rapides de faire les choses. L'une des façons d'y parvenir est de les schémas d'observation et tirer des conclusions.

Il existe de nombreuses façons de se développer quand on est un bon développeur (jeu de mots).

  • Participation à des événements de l'industrie, tels que des conférences et des hackathons. Thomas So d'AppLovin les appelle la formation préparatoire à l'emploi.
  • Trouver un mentor.
  • Travailler sur un projet parallèle.
  • Demander l'avis des pairs.

5. Adaptabilité

Le monde des technologies de l'information évolue rapidement et, en tant que bon développeur, vous devez rester adaptable. C'est un pari sûr que d'engager des personnes qui sont toujours à l'affût de nouveaux outils et des façons de faire. Souvent, ils suivre l'actualité de l'industrie et simplement se soucier de l'artisanat.

Plus vous en savez, même en dehors de votre technologie préférée, plus vous êtes un atout pour votre équipe et pour l'ensemble de l'organisation. Comme Marius Mazilu affirme que "la diversité des technologies est devenue si répandue qu'être spécialiste d'une technologie particulière n'est pas nécessairement une garantie de succès". Mazilu estime qu'il est essentiel d'être plus polyvalent. C'est parce que les technologies matures sont plus stables et ne peuvent pas suivre. Cela signifie que vos compétences deviennent rapidement obsolètes. D'autre part, les nouveaux cadres nécessitent généralement un investissement massif en temps parce qu'ils sont instables. Comme il l'affirme, "vous pourriez être choqué de découvrir un jour qu'ils ne vous aiment pas en retour".

Mazilu a 7 règles simples que vous devez suivre pour suivre le rythme de la technologie.

  1. Faites confiance à votre intuition.
  2. Revenez toujours à l'essentiel.
  3. Attention aux balles en argent. Il s'agit notamment de technologies bien commercialisées qui sont largement utilisées car, bien qu'elles ne conviennent pas au projet.
  4. Apprendre à déboguer.
  5. Apprendre à écrire.
  6. Ne soyez pas obsédé par votre code.
  7. Suivez la foule.

6. Une attitude positive

Une attitude positive est l'une des principales qualités d'un grand développeur de logiciels. Une des qualités d'un bon programmeur est qu'il résout les problèmes jour après jour, mais cela ne veut pas dire qu'il doit s'y attarder. Une attitude de "faire ce qu'il faut" est indispensable, en partie parce que les tâches et les billets ont tendance à s'accumuler. Il est important de décider quand il est temps de mettre en place une solution suffisamment bonne et de passer à l'étape suivante de la liste. Il convient de ne pas inonder vos développeurs de tâches qu'ils ne peuvent pas gérer et de rester réaliste.

Damien Filiatrault place l'"attitude positive" en tête de sa liste des qualités essentielles que possèdent les bons développeurs. Il dit que vous pouvez tester les eaux et poser quelques questions apparemment simples de type "small talk" pour voir si les réponses se concentrent sur les points positifs ou négatifs. Ces questions sont les suivantes :

  • "Vous considérez-vous chanceux ? (arrogant ou humble).
  • Comment s'est passé votre trajet pour vous rendre à l'entretien ? (se plaindre ou ne pas s'inquiéter)".

7. Adopter le mentorat

John Krystynak dit que "les grands programmeurs ne deviennent pas grands dans l'isolement". Je le salue pour avoir dit cela. L'une des raisons pour lesquelles le modèle de mentorat fonctionne si bien dans le domaine des TI est que certains bons développeurs apprennent plus efficacement par l'apprentissage. Il faut simplement moins de temps pour comprendre les choses si vous pouvez observer un collègue plus expérimenté au travail. Une autre raison pour laquelle les techniciens de pointe préconisent le mentorat est qu'il vous oblige à exposer vos points forts et vos points faibles. Cela vous apprend des volumes sur maîtriser son ego.

L'une des meilleures choses que vous puissiez faire en tant qu'employeur pour encourager ce genre d'attitude dans votre organisation est de jumeler des programmeurs chevronnés avec des étudiants de première année. Vous pensez peut-être que cela va mettre à rude épreuve le mentor qui est probablement déjà trop occupé. Gardez à l'esprit que tant le Le mentoré et le mentor tirent des enseignements de cet arrangement. Si vous ne pouvez pas expliquer quelque chose à votre protégé, cela signifie que vous ne le comprenez pas assez bien. Ou que vous ne pouvez pas le communiquer suffisamment bien. Cela signifie qu'il y a des possibilités d'apprentissage pour les deux parties dans cette relation.

8. Compétences en matière de communication

Damien Filiatrault déclare que "une bonne aptitude à la communication est directement liée à de bonnes compétences en matière de développement.” Voilà pourquoi.. :

  • Vous devez savoir quelles sont les questions à poser lorsque vous ne comprenez pas ou que vous avez besoin de revérifier.
  • Il est possible de comprendre les choses en se basant sur la communication avec les collègues. Cela signifie vous n'avez pas besoin de vous fier à des spécifications écrites.
  • Les concepts sont compris et communiqués rapidement dans une équipe de développeurs qui ont réussi.
  • L'une des qualités d'un bon programmeur est qu'il peut communiquer de manière convaincante avec le personnel technique et non technique.

Points forts des développeurs : conclusion

Il est de plus en plus difficile de trouver d'excellents programmeurs. L'industrie technologique est en situation de pénurie de talents. Cela signifie que nous avons besoin d'un plus grand nombre de développeurs que nous pouvons trouver, et les entreprises sont en faisant tout leur possible pour attirer les talents de la haute technologie.

une publicité sur google qui aborde les points forts des développeurs

Il est indispensable d'identifier les points forts des développeurs, qui sont essentiels à la croissance de votre entreprise. Mais soyez rapide ! Lorsque vous rencontrez un candidat prometteur, agissez rapidement. En situation de pénurie, les recruteurs se battent pour les mêmes candidats.

Quels sont les principaux atouts des développeurs ? Nous sommes impatients de connaître votre avis !

Note de l'éditeur : Ce billet a été publié pour la première fois en avril 2017 et a été mis à jour pour en assurer l'exactitude et l'exhaustivité.

Partager le poste

C'est plus qu'un simple bulletin d'information

Recevez des informations utiles directement dans votre boîte de réception et apprenez-en davantage sur l'embauche des techniciens.

Vérifier et développer les compétences de codage de manière transparente.

Voir les produits DevSkiller en action.

Certifications de sécurité et conformité. Nous veillons à ce que vos données soient sûres et sécurisées.