Bien que la sphère du développement Web ait beaucoup changé au fil des ans, embaucher un développeur Python est aussi gênant qu'il y a huit ans.

Python est l'un des langages de programmation les plus populaires. Mais chaque fois que vous souhaitez embaucher un développeur Python, choisir un candidat approprié peut être un défi.

Pour vous aider dans votre choix, nous aimerions partager notre expérience sur ce qu'il faut rechercher dans les portfolios, les compétences à vérifier et les questions à poser.

#1 Renseignez-vous sur leur éducation Python

L'éducation traditionnelle est-elle importante?

Selon le débordement de pile, environ 69 % des développeurs sont en partie autodidactes, tandis que 13 % sont exclusivement autodidactes. Seuls 2 % des développeurs sont titulaires d'un doctorat, et seulement la moitié ont un BS/BA en informatique ou dans un domaine connexe.

Seuls 2 % des développeurs sont titulaires d'un doctorat, et seulement la moitié ont un BS/BA en informatique ou dans un domaine connexe.

La source

La feuille de route pour devenir développeur Python n'inclut pas toujours l'obtention d'un diplôme en informatique. Un diplôme n'est rien d'autre que la preuve qu'un diplômé a mis de la sueur et des larmes dans ses études.

Et un diplôme n'est plus une exigence pour obtenir un emploi. Il existe des moyens d'acquérir les connaissances dont vous avez besoin pour démarrer en tant que développeur à la fois en ligne et hors ligne.

Lorsqu'un candidat est en partie autodidacte, vérifiez à quels cours Python, hackathons et programmes de stage il a participé.

Aussi, renseignez-vous sur les ateliers et les conférences. Cela vous aidera à évaluer leurs connaissances, leurs compétences et leurs intérêts et à décider s'ils correspondent à votre projet.

#2 Demandez à voir un portefeuille de projets liés à Python

Un portfolio est indispensable pour un développeur. Un développeur Python expérimenté devrait être en mesure de présenter aux clients potentiels un portefeuille à jour, facile à comprendre et accessible.

En vérifiant le portefeuille d'un développeur, vous pouvez déterminer si un candidat correspond à vos besoins.

  1. Rechercher des projets basés sur Python
  2. Identifiez des projets similaires au vôtre
  3. Découvrez les défis auxquels le développeur a été confronté et comment il les a surmontés

Si vous envisagez d'embaucher une agence, consultez leurs études de cas. Faites attention aux détails sur les exigences des clients et les piles technologiques.

Gardez à l'esprit que les freelances backend n'ont généralement pas d'études de cas ou de portfolio.

Vous pouvez cependant évaluer leurs compétences lors d'un entretien en posant des questions liées à Python, en leur demandant d'effectuer une tâche mineure en ligne et en leur demandant sur quels projets ils ont travaillé, quels problèmes ils ont rencontrés et comment ils ont fait face. .

# 3 Trouvez les commentaires des clients précédents

Un portfolio et des études de cas peuvent ne pas suffire à décider si un candidat est compatible, c'est pourquoi vous devriez demander aux candidats des commentaires d'anciens clients. Votre tâche principale est de savoir si les clients étaient satisfaits du développeur.

En moyenne, les agences fournissent des informations détaillées. Si vous cherchez à embaucher des développeurs indépendants, vous pouvez trouver plus d'informations à leur sujet sur les communautés de freelance :

  1. PersonnesParHeure offre une cote de rétroaction, qui est un indicateur de fiabilité basé sur les antécédents d'un entrepreneur. Consultez le profil d'un pigiste pour voir les scores de rétroaction sur divers projets. Il existe également une note globale de rétroaction qui indique le pourcentage de critiques positives.
  2. Upwork donne aux meilleurs indépendants un statut de premier ordre, qui est un indicateur d'un score de réussite au travail de 90% ou plus. La réputation des freelances les mieux notés est le reflet de leur succès auprès de multiples clients.
  3. Toptal est une plate-forme d'élite reliant les meilleurs développeurs aux meilleures entreprises. Il affiche les commentaires des clients précédents sur le profil d'un développeur.

Note de satisfaction client sur Upwork

La source

Lorsqu'il y a trop de développeurs parmi lesquels choisir, les évaluations et les commentaires sur ces plates-formes aident à filtrer les candidats inaptes.

#4 Préparez une liste de questions d'entrevue possibles

Préparez une liste de questions que vous souhaitez poser avant l'entretien.

Certaines questions potentielles peuvent inclure :

  1. Quels sont les principaux avantages de Python par rapport aux autres langages de programmation ?
  2. Qu'est-ce que le typage statique et dynamique en Python ?
  3. Qu'est-ce qu'une exception en Python et comment fonctionne la gestion des exceptions ?
  4. Expliquer la programmation orientée objet en Python.
  5. Comment gérer la mémoire en Python ?
  6. Quelles sont les différences entre un tuple et une liste ?
  7. Quels types de données Python prend-il en charge ?
  8. Comment créer un dictionnaire en Python ?
  9. Qu'est-ce que l'héritage et pouvez-vous en donner des exemples ?
  10. Qu'est-ce que la bibliothèque standard Python et quels sont certains de ses modules utiles ?
  11. Comment fonctionne Django/Flask/Pyramid ? (Renseignez-vous sur le cadre que vous souhaitez utiliser pour votre projet.)
  12. Comment pouvez-vous convertir : une liste en un tuple ? une liste dans un ensemble? une liste dans une chaîne?
  13. Qu'est-ce qu'un indice négatif ?
  14. Quels sont les types d'opérateurs en Python ?
  15. Quelles sont les variables d'environnement ?

Cette liste n'est qu'une ligne directrice, mais ces questions aideront un intervieweur à se faire une idée des compétences d'un développeur.

#5 Sachez quelles compétences techniques et générales vous recherchez

Deux catégories de compétences sont également importantes : les compétences techniques et les compétences générales.

Jetez un œil aux compétences que nous pensons que chaque candidat devrait avoir.

Compétences techniques

  • Python: Solide connaissance du langage de programmation, de sa sémantique, de sa syntaxe, des limitations des threads, des structures de données, etc.
  • Cadres: Connaissance du framework requis pour le projet (les frameworks populaires incluent Django, CherryPy, web2py, Pyramid, Flask, Bottle et TurboGears.)
  • Bibliothèques ORM: Expertise dans les bibliothèques Python populaires telles que Django ORM, Tryton, SQLAlchemy, web2py et Orator
  • Écosystème: Connaissance de l'écosystème Python et des principaux outils de développement (débogueurs et éditeurs)
  • Technologies frontales: Connaissance de base des technologies de développement Web frontend telles que JavaScript, CSS et HTML
  • Systèmes de contrôle de version: Expérience de travail avec des systèmes de contrôle de données et capacité à suivre les diverses modifications de code
  • Architecture multi-processus: La possibilité d'écrire des threads et de les gérer pour créer des applications hautes performances
  • API Web RESTful: Connaissance de la façon de développer des API RESTful avec Python pour intégrer des applications avec d'autres éléments

Une compétence technique agréable à avoir est une présence dans la communauté de codage. C'est bien quand un développeur acquiert de nouvelles informations relatives à Python auprès des communautés de codage. Les communautés Python aident les développeurs à rester connectés avec les codeurs de différents pays.

Les communautés Python actives incluent DevShed, Stack Overflow, Python.org et CodingForums.

Compétences non techniques

  • la communication: La capacité d'interagir efficacement avec ses collègues, de transmettre clairement des idées, de discuter des détails techniques du projet et de partager la vision du projet
  • Travail en équipe: Le désir de contribuer à l'atteinte d'objectifs communs, la volonté de faire passer les intérêts de l'équipe avant les intérêts personnels et la capacité à gérer les conflits
  • Gestion du temps: La capacité d'établir des priorités, de gérer son temps et de respecter des délais serrés
  • Motivation: La motivation à bien travailler et la volonté d'accepter des conseils, d'améliorer ses compétences et d'apprendre de nouvelles technologies
  • Pensée critique : Intérêt à tester différents scénarios et à choisir le plus efficace face à de nombreuses solutions possibles
  • Manque d'ego: Une volonté d'accepter les critiques, d'apprendre des commentaires et d'être humble

Les soft skills sont difficiles à apprendre. Certains enquêteurs pensent qu'une fois qu'un développeur possède les compétences non techniques requises, les compétences techniques viennent naturellement.

#6 Donnez des tests de codage

Enfin, il existe des tests de codage en direct. Ils sont une partie importante de la sélection d'un développeur.

Penser et communiquer tout en codant devant un intervieweur est stressant. Mais un test de codage en direct fournit les informations les plus fiables sur les compétences d'un candidat.

Un candidat doit coder son chemin à travers de vrais problèmes pendant 15 minutes à une heure. Cela peut se faire via le partage d'écran : le développeur rédige un brief pendant que l'intervieweur observe et évalue les compétences en programmation.

Vous pouvez mettre en place des tests de programmation à l'aide d'une plateforme comme CodinGamequi vous permet de tester un candidat en Python ou diverses autres technologies.

Vous pouvez mettre en place des tests de programmation à l'aide d'une plateforme comme CodinGame, qui vous permet de tester un candidat en Python ou diverses autres technologies.

La source

La plateforme CodinGame analyse automatiquement le code d'un développeur. Ensuite, vous pouvez télécharger un rapport ou le partager. De tels défis de codage permettent de gagner du temps.

Choisissez le bon développeur pour votre entreprise

Les compétences d'un développeur Python entrent en jeu à toutes les étapes du développement d'un projet. Il est donc indispensable d'avoir un développeur expérimenté dans votre équipe.

Chez Steelkiwi, nous interviewons des développeurs depuis huit ans et fournissons des services de développement Web depuis tout aussi longtemps. Toujours, recruter un développeur Python est quelque chose que nous considérons comme difficile.

Pour réussir, vérifiez la candidature et le portfolio du candidat pour les projets connexes. Demandez des avis d'anciens clients et faites une recherche approfondie sur les communautés de freelances. Interviewez le candidat, évaluez les compétences requises et mettez en place des tests de programmation. Ces étapes vous mèneront au développeur dont votre projet a besoin.