Comment passer au crible les compétences des développeurs Python

Publié : Dernière mise à jour :
Python : questions d'entretien avec un ingénieur en logiciel

Si vous cherchez une personne ayant des compétences de développeur Python, sachez que les trouver n'est que la moitié du chemin. Ainsi, même si vous pouvez les trouver, il vous faudra peut-être faire un effort supplémentaire pour vraiment comprendre ce que sont les compétences Python. Le véritable ensemble de compétences Python est une chose complexe à comprendre, mais nous vous présentons ici un expert dans le domaine, Wojtek Erbetowski, pour mettre le sujet en lumière.

1. Qu'est-ce que Python ?

Python est l'un des langages de programmation les plus populaires (il occupe la deuxième place selon le classement de l Index TIOBE à partir de septembre 2021). Il a été publié pour la première fois en 1991 et a gagné sa popularité en raison de sa simplicité d'apprentissage et de sa puissance dans la résolution de problèmes. La syntaxe est similaire à celle de la famille C++, mais elle est équipée d'une variété de solutions modernes.

Les principaux avantages de Python sont les suivants :

  • Courbe d'apprentissage plate. Il fait appel à des utilisateurs ayant peu d'expérience technique, comme les universitaires pour la recherche ou les entreprises pour l'automatisation.
  • Il appartient à une fondation indépendante, la Python Software Foundation (PSF), et est guidé par la communauté.
  • Des outils scientifiques puissants (par exemple SciPy).
  • Une bonne documentation et le soutien de la communauté. Cela inclut de nombreux groupes d'utilisateurs locaux et conférences.

2. Qu'est-ce qui est important pour un recruteur informatique de connaître Python ?

Puisque Python a des usages variés. Il est souvent difficile de distinguer les candidats des universitaires, de la programmation en réseau et des applications web au simple script. Pourtant, il est souvent plus facile pour un développeur d'apprendre un nouveau Python que de changer de domaine (par exemple, de la science des données aux applications web).

En 2007, Python 3.0 a été publié. Elle a été rejetée par la communauté pour cause d'incompatibilité rétroactive. Cela dit, en 2020, 94% des utilisateurs de Python sont passés à Python 3.

Python est typographié dynamiquement, ce qui facilite la création de scripts et l'écriture de petites applications. On dit souvent qu'il apporte des difficultés dans la construction de grandes applications durables.

3. Comment vérifier les compétences des développeurs Python lors de la phase de sélection ?

Le dépistage est fatiguant, ardu et long. En général, les recruteurs en informatique se tournent vers le filtrage des CV, le filtrage technique (tests de codage) et les entretiens pour évaluer les compétences en Python.

Vous trouverez ci-dessous quelques conseils utiles et pratiques pour le recrutement, qui vous permettront de vérifier les compétences en Python à l'aide de chaque méthode.

3.1. Examen technique des compétences de développeur Python sur la base du CV.

Heureusement (pour le recrutement), Python a moins de bibliothèques et de technologies à examiner que, par exemple, Java. Pourtant, un certain nombre de choses peuvent être déroutantes.

Le langage PythonVersion populaire 3.7, 3.8, 3.9, 3.10
Cadres web en PythonDjango, Flask, Bottle, Tornado, web2py, FastAPI
ORMSQLAlchemy, Django ORM, peewee
Construire des outilsOutils de préparation, pépins, toxines
Cadres d'essaiUnitTest, py.test
AsyncioPython 3.5, Tornade, Torsadé
Outils d'analyse des donnéesNumPy, SciPy, Pandas, PySpark

Points forts :

  • Python 2 et 3 sont très différents. Python 2.7 est la dernière version (et la dernière) de Python 2. La version de Python 3 évolue et la dernière version est la 3.10.
  • Asyncio n'est rencontré que dans Python 3.
  • Tornado, Twisted, Gevent sont toutes des bibliothèques pour la programmation asynchrone.
  • Django est de loin le cadre web le plus populaire.
  • La bibliothèque des tests unitaires est intégrée à la langue, et est donc rarement mentionnée séparément.

Certification

La communauté Python ne fournit aucun programme de certification. Il est donc rare de rencontrer des certificats (indépendants) pour le langage ou les bibliothèques Python.

Développeurs en série

Fullstack signifie souvent qu'un développeur Python peut également créer des pages HTML avec CSS et JavaScript. Les compétences frontales sont les bienvenues et la plupart des Connaissances en matière de filtrage JavaScript s'applique ici.

3.2. Examen des compétences techniques de Python lors d'un entretien téléphonique/vidéo

Comme il est assez difficile de tirer des conclusions fiables sur les compétences en programmation des candidats à partir du curriculum vitae lui-même, les recruteurs en informatique procèdent souvent à un entretien téléphonique ou vidéo. Un tel entretien donne l'occasion de poser des questions concernant leurs compétences en Python. Dans de nombreuses entreprises, un tel entretien technique par téléphone ou par vidéo permet de décider d'inviter ou non quelqu'un pour un entretien technique sur site avec l'équipe informatique.

Comme les questions elles-mêmes peuvent varier en fonction du poste pour lequel vous recrutez et des compétences spécifiques que vous souhaitez vérifier, sur la base de mon expérience, je vous recommande de suivre les questions générales pour en savoir plus sur les compétences Python du candidat :

A. Question d'entretien Python concernant l'expérience du développeur

  • Q1 : Avec quelles technologies mentionnées dans votre CV, avez-vous eu une expérience commerciale au cours des deux dernières années ? Quelles étaient vos responsabilités ? Quelle a été votre plus grande réussite ?
  • Pourquoi demander Q1 : En posant cette question, vous pouvez en savoir plus sur l'expérience, les responsabilités et les réalisations du candidat en Python. Ainsi, vous apprenez à mieux connaître votre candidat.

B. Question d'entretien Python concernant les connaissances et les opinions des développeurs

  • Q2 : Quelles sont les bibliothèques open source Python que vous considérez comme précieuses et pourquoi ?
  • Pourquoi demander Q2 : Cette question permet au candidat de démontrer sa connaissance de l'écosystème de Python. De plus, le candidat peut indiquer ce qu'il prend en compte lors du choix d'une certaine technologie. Comme questions de suivi, vous pouvez également lui demander quels sont, à son avis, les avantages des solutions commerciales par rapport à l'open source et vice versa. Cela montre comment le candidat pense.
  • Q3 : J'ai remarqué que vous avez inscrit le cadre X sur votre CV. Quelle est votre opinion à ce sujet ? Est-ce un bon choix ?
  • Pourquoi demander Q3 : Une telle question ouverte permet à un candidat de démontrer ses connaissances s'il les possède. Vous pouvez également jouer à l'avocat du diable en vous basant sur leurs réponses "Mais pourquoi ne pas utiliser le cadre Y pour cela ? Ainsi, vous pouvez voir comment les candidats choisissent une technologie, justifier leurs choix et si ses opinions sont en accord avec vos équipes informatiques.

C. Question d'entretien sur Python concernant la prise de décision du développeur concernant la technologie Python

  • Q4 : Sur quelle scène avez-vous rejoint des projets récents ? Avez-vous participé au choix de la technologie ou au montage du projet ? Si oui, quelle technologie avez-vous choisie ou recommandée pour le projet et pourquoi ?
  • Pourquoi demander Q4 : Une telle question montre non seulement comment un candidat fait des choix technologiques, mais aussi s'il a été inclus dans la prise de décision. C'est particulièrement important si vous recherchez une personne expérimentée.

D. Question comportementale pour un développeur python

  • Q5 : Pensez à la décision de programmer un projet que vous avez prise et qui a été un échec. Pourquoi pensez-vous que c'était une erreur ? Pourquoi est-ce arrivé ? Pourrait-on faire quelque chose de différent afin de le transformer en succès ? Quelles mesures avez-vous prises pour améliorer la situation ? Qu'avez-vous appris de cette expérience ?
  • Pourquoi demander Q5 : Ce type de question vous permettra de savoir comment le candidat perçoit ses décisions, tire des conclusions et tire des enseignements de son expérience antérieure.

3.3. Contrôle technique des compétences en Python avec un test de codage en ligne

Les tests de codage en ligne peuvent être un excellent moyen de vérifier les compétences en Python. Vous trouverez ci-dessous des informations sur la manière d'utiliser les tests de programmation et sur les tests à choisir.

Tests de codage Python en ligne - la méthode principale ou complémentaire de dépistage

Certaines entreprises utilisent le test de programmation comme complément à la sélection des candidats après l'analyse du CV et l'entretien téléphonique ou vidéo. Mais de plus en plus d'entreprises se tournent vers les tests de codage comme première méthode de sélection des programmeurs. De nos jours, les entreprises ont tendance à inviter tous les candidats qui postulent à un certain poste à passer un test. De cette façon, les recruteurs ne passent leur temps qu'avec les candidats qui ont réussi l'examen, prouvant ainsi qu'ils ont des compétences en programmation Python. D'autre part, les candidats ne sont pas invités à consacrer trop de temps au processus de recrutement dès le début - au contraire, ils passent rapidement le test (généralement en moins d'une heure) à leur convenance, tant en termes de temps que de lieu.

Dépistage des compétences de développeur Python avec un IDE PyCharm intégré

Chez DevSkiller, nous continuons à repousser les limites en matière de tests pour les développeurs.

Notre dernière innovation consiste à permettre aux candidats de résoudre nos tests de codage en Python à l'aide d'un outil d'aide à la décision. IDE PyCharm dans le navigateur à partir de JetBrains. Pas de téléchargement, pas d'attente et pas d'histoires.

Les candidats gagnent du temps pendant les tests en n'ayant pas à attendre l'installation des dépendances ou le chargement des programmes. Ils peuvent se mettre directement au travail en se concentrant sur leurs solutions à nos tests de codage Python au lieu d'apprendre comment faire fonctionner en leur faveur un IDE primitif qui ne leur est pas familier.

Les candidats ne doivent plus cloner le code - ils peuvent littéralement commencer à coder dès qu'ils ouvrent leur invitation à tester. Les candidats peuvent exécuter des tests unitaires, prévisualiser et jouer leurs solutions, tout comme dans leur travail habituel.


Pour votre entreprise, cela signifie offrir une meilleure expérience aux candidats que jamais auparavant. Cela signifie également qu'il y a moins d'abandons de candidats au cours du processus. Plus le processus est rapide, plus vos candidats ont de chances d'aller jusqu'au bout. Cela signifie que vous ne laisserez pas les meilleurs candidats vous filer entre les doigts.

Test de codage en ligne Python - lequel choisir ?

Il existe de nombreux tests de codage Python en ligne sur le marché, mais en général, ils vérifient les connaissances d'un candidat plutôt que ses compétences en programmation et ses capacités à résoudre des problèmes de codage réels. C'est pourquoi beaucoup de programmeurs expérimentés n'aiment pas ce type d'évaluation et, de plus, ils ne sont pas en mesure d'obtenir un bon score car ils ne peuvent pas montrer leur expérience et leurs compétences dans la résolution de problèmes de programmation réels.

Quelles sont donc les caractéristiques d'un bon test de codage ? Vous trouverez ci-dessous mon top 5 des caractéristiques que vous devriez rechercher :

  1. Les tests de programmation en Python devraient vérifier non seulement les compétences en Python en ce qui concerne la technologie en général, mais aussi les cadres et les bibliothèques ;
  2. Les tests de codage Python doivent comporter quelques tâches, non seulement des tests à choix multiples, mais surtout des tâches de programmation dont la difficulté doit correspondre aux responsabilités que les candidats auront s'ils obtiennent le poste (les tests ne doivent pas être basés sur des tâches algorithmiques, car on ne peut donc pas vérifier si un candidat peut résoudre des problèmes de codage réels) ;
  3. Il est préférable que les tâches de programmation en Python soient préparées sur la base du code de l'entreprise, car c'est la meilleure façon d'imiter les défis que le candidat devra relever une fois qu'il aura obtenu le poste ;
  4. Il est inutile d'interdire au programmeur d'utiliser des sources externes. Le meilleur moyen est de créer un environnement similaire à celui qu'il aurait au travail, un examen à livre ouvert est donc beaucoup plus approprié. De plus, le candidat doit pouvoir utiliser son EDI préféré, comme il le fait au quotidien.
  5. Les tests de codage peuvent également inclure une tâche avec des défis de révision de code pour tester les compétences en Python. Cela donne des informations très précises sur l'expérience du candidat, son approche de la qualité du code et l'efficacité du débogage et de la recherche de pièges. Une telle évaluation devrait être obligatoire lors du recrutement de développeurs seniors Python.

Note de l'éditeur : Ce billet a été publié initialement le 28 février 2016. Il a été largement mis à jour pour représenter les dernières informations techniques et les meilleures pratiques.

Auteur - Wojtek Erbetowski

Wojtek_Erbetowski Compétences techniques du développeur Pyhton

Wojtek est un leader pratique avec ~10 ans d'expérience en API / applications web en Python et Java. Il a travaillé en tant que responsable de l'ingénierie chez Polidea, directeur technique chez GrowBots et participe activement en tant que responsable de la communauté du groupe d'utilisateurs Java de Varsovie et de Varsovie mobile et organisateur de la conférence MCE. Contributeur à la bibliothèque open source, développeur de logiciels, défenseur de l'agilité. Il a travaillé dans plusieurs domaines d'activité, par exemple la vente, la publicité à l'ancienne et aux nouveaux médias, le marketing par courrier électronique, l'industrie pharmaceutique, les portails financés par l'UE, la librairie en gros et bien d'autres) et a transformé les besoins des entreprises en applications spécialisées.

DevSkiller : des tests d'évaluation en ligne du codage Python prêts à l'emploi

DevSkiller aide les entreprises dans leur processus de recrutement en leur fournissant une infrastructure qui leur permet de tester les compétences en programmation des candidats dans un environnement qui imite l'expérience du premier jour de travail. Nous permettons aux entreprises d'utiliser leur propre base de code, des projets informatiques entiers utilisant des cadres et des bibliothèques, pour tester les programmeurs en ligne. Toutefois, nous disposons également de tests de codage Python prêts à l'emploi que vous pouvez utiliser dans votre campagne de recrutement technique.

Python
MIDDLE
Des compétences éprouvées
Durée
120 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Python

Tâche de programmation - Niveau : Moyen :

Python | Rapport sur les ventes de véhicules - Mise en place d'une application permettant de créer des rapports basés sur l'entrepôt de données des ventes de véhicules.

Partager le poste

En savoir plus sur le recrutement dans le secteur des technologies

Abonnez-vous à notre Learning Hub pour recevoir des informations utiles directement dans votre boîte aux lettres électronique.

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.

Logo DevSkiller Logo TalentBoost Logo TalentScore