À quel stade peut-on commencer à se déclarer expert dans une compétence ?

Le , par la.lune, Membre Expert
La question parait banale, mais au fond, elle ne l’est pas. Un peu plus de précision est nécessaire pour se fixer dans un contexte. Parmi les sujets de recherche actuels en génie logiciel, c'est la mise en place des jeux sérieux qui visent à permettre de jouer et perfectionner ses compétences sur la mise en place d'un processus de développement, le management d'équipe au sein du processus et l'évolution des collaborateurs.

Ce n'est pas facile de bien mesurer et cadrer le niveau d'un collaborateur. La notion d'expert peut être assez suggestive. Par là, on voit que c'est intéressant de discuter et débattre un peu sur des sujets pareils.

Le but de ce débat nait de la récente intégration du profil professionnel sur Developpez.com. Chacun peut mentionner ses compétences, ce qu'il sait faire selon son niveau. Ce n'est pas pour décorer le site que cette nouveauté a été intégrée, mais pour des objectifs dont le besoin des recruteurs pourrait faire partie. Alors, est-ce que chacun sait comment bien le remplir ? Personnellement, je veux bien apprendre des idées des autres.

En effet, quelles sont les bornes des niveaux : débutant, intermédiaire, confirmé et expert pour une compétence donnée ? Certes, ce n'est pas comme des maths où l'on peut se référer à des intervalles [0,1], [1,3], etc. mais, ce qui est sûr est que celui qui est normalement de niveau confirmé n'allait pas douter qu'il est déjà intermédiaire. Mais quand peut-il se dire à 100% confirmé dans une compétence ? Là, il peut rester comme ça sans pouvoir décider alors que d'autres disent des mensonges. C'est ça qui est grave.

Sans oublier que dans nos CV, on ne mentionne pas toujours qu’on est de tel niveau avec telle compétence. Même s'il y en a beaucoup qui le font. Mais durant l'entretien, on exprime notre niveau dans telle compétence ou on mesure nos compétences et nos performances au cours du temps. Mais j'ai mentionné le cas d'expert, le titre, parce que la question reste un peu délicate, mais la discussion concerne le tout.

Pour le cas d'expert, on ne va pas parler de ceux qui sont experts sans discussion, avec aussi des témoignages des autres, mais les experts pour une technologie ne sont pas tous égaux. Il y a plusieurs niveaux à mon avis. Alors, comment se déclarer expert pour une compétence donnée ? Sans qu'une personne conteste l'évaluation.

Est-ce parce que je sais faire des bons produits avec un langage que je peux me déclarer expert ? Est-ce que la maîtrise de toutes les API standards d'un langage (pas aussi simple que ça), et avoir passé beaucoup de temps avec peut suffire pour permettre de nous déclarer expert ? Ou bien l'API de base suffit-elle ?

Est-ce qu'avoir une très bonne maîtrise dans un domaine précis d'un langage qui répond à un besoin donné suffit de dire qu'on est expert dans le langage ?

Par exemple, on peut trouver une personne qui est très forte en PHP, il fait tout ce qu'il faut avant même le délai imparti. Pourtant, il est incapable de coder en PHP une application pour la couche TCP/IP, ou coder son propre serveur websocket au cas où il le voudrait ou qu'on l'exige. Certains peuvent le considérer expert vu ses capacités. L'est-il ou pas ? Pareil pour une autre techno .NET, Java, C/C++... En Java par exemple, un développeur peut ignorer comment créer des sockets multipoints ou utiliser l'API Reflection : grandement utilisé par le JDK. Il a une expertise en JavaEE : bâti des API de base du langage qu'au fond un développeur peut ignorer. Est-ce que cela suffit pour être appelé expert en Java ? Les exemples sont très nombreux.

Et comment peut-on aussi juger une personne qui a passé beaucoup de temps à développer dans un langage, mais ne se met pas à jour, est-il un expert ou pas ? Ou bien il suffit de pouvoir toujours relever les défis avec perfection dans un temps plus court que la normale pour mériter le titre ?

Tu peux trouver des personnes qui sont très fortes dans un langage, mais quand il s'agit de parler des API de base d'un langage qui gèrent la sécurité, là ils sont bloqués. Et pourtant, ils se disent experts. Alors, quoi ?

Quel est votre avis sur la question ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de jab jab
http://www.developpez.com
Rédacteur
le 27/04/2014 8:51
La notion d'expert est effectivement complexe et est souvent usurpée dans le domaine de la consultance. Sur une nouvelle technologie par exemple j'ai souvent entendu qu'un expert est quelqu'un qui a 15 jours d'avance sur les autres. Évidemment il n'est pas expert mais sera vendu comme tel.

L'expertise est-elle dans la connaissance approfondie des API ? Pour moi la réponse est clairement non. L'expert est celui qui a une connaissance suffisante des outils mis à sa disposition pour trouver une bonne solution à la résolution d'un problème complexe même si après il doit fouiller dans la documentation des API pour les détails d'implémentation. Un développeur qui a une excellente connaissance des API mais pas cette capacité à appréhender un problème sera juste un bon technicien. Il sera très utile dans une équipe mais à mon avis ne pourra pas être qualifié d'expert.

Vu la complexité des différents domaines qui composent aujourd'hui l'informatique, un développeur .NET peut parfaitement être expert en sécurité sans être un bon développeur d'application business Windows et inversement. Les experts sur l'ensemble des domaines existent mais sont rares.

Mais ce n'est que mon avis. Le débat reste ouvert.
Avatar de grunk grunk
http://www.developpez.com
Modérateur
le 28/04/2014 11:14
Pour moi le niveau expert est quelque chose de très particulier. On est pas expert -placer ici votre langage favoris- tout court , on est expert dans une utilisation bien particulière du langage.
Par exemple un développeur qui travail tous les jours avec des sockets et des threads pourrait être considéré comme expert car il connait tous les pièges et les bonnes pratiques de cet aspect particulier du langage.

N'importe quel développeur sait ouvrir une socket sur un thread et envoyer un packet. Ceux qui savent le faire de manière efficace (comprendre : optimisée), savent éviter les problème ou les corriger rapidement sont déjà moins nombreux et c'est ceux ci qui peuvent être qualifiés d'experts.

Bref connaitre le langage et son API c'est du ressort du développeur lambda. Je peux faire du php pendant 10 ans , si je fais que des formulaire à longueur de journée je serait expert de rien du tout.
L'expert c'est aussi celui qui comprend ce qu'il fait , ce qu'une commande implique. Connaitre toutes les API c'est juste du bourrage de crane sans intérêt si on ne comprend pas les subtilités des fonctions utilisées.

Dans tous les cas le niveau d'expert n'est pour moi attribuable que par des tiers personnes. J'ai trop souvent vu des soit disant experts (auto proclamés) qui finalement ne sont au mieux que de bons développeurs.
Avatar de Sodium Sodium
http://www.developpez.com
Membre éclairé
le 28/04/2014 11:19
Pour moi, un confirmé est quelqu'un qui ne sait pas tout d'une technologie mais qui sait ce dont elle est capable et comment trouver les informations nécessaires pour accomplir son objectif.
Un expert lui connaît de A à Z un langage ou une technologie et est capable d'anticiper tous les cas particuliers. Les vrais experts sont probablement rares.

Le post aurait mérité une sérieuse relecture avant publication. Les tournures de phrases sont capilotractées, s'agit-t-il d'une traduction automatique ?
Avatar de Zefling Zefling
http://www.developpez.com
Membre Expert
le 28/04/2014 11:33
Citation Envoyé par Sodium Voir le message
Un expert lui connaît de A à Z un langage ou une technologie
Pour certains langages, est-ce aujourd’hui possible ? Puis connaitre un langage de A à Z à quel niveau ? Structure, API de base ?
Avatar de dk dk
http://www.developpez.com
Membre habitué
le 28/04/2014 11:37
Pour moi un expert est une personne capable de proposer une solution réaliste et pragmatique pour résoudre un problème donné. Pour se faire elle doit avoir plusieurs expériences différentes dans ce domaine, expériences pratiques et concrètes qui lui ont permis d'éprouver la théorie et de bien appréhender les limites & points forts du domaine (méthode/techno/framework/etc.).
Donc de manière réaliste je dirai au moins 4 ou 5 ans d'expérience pour une grosse techno
Avatar de SylvainPV SylvainPV
http://www.developpez.com
Expert Confirmé
le 28/04/2014 11:38
Effectivement c'est une question très pertinente. Je pense que tout le monde se l'est déjà posée personnellement. Il y a toujours des gens au dessus et des gens au dessous sur le plan des compétences, ce n'est pas facile de se positionner sur la pyramide. Il faut un élément de comparaison. Ceci dit, je pense que ni l'expérience, ni le positionnement en entreprise et ni les études/formations sont des critères totalement objectifs. A la rigueur, des tests de compétences, mais il faut qu'ils soient assez longs et exhaustifs. Ou alors des certifications peut-être, mais là encore leur qualité varie beaucoup.
Avatar de Sodium Sodium
http://www.developpez.com
Membre éclairé
le 28/04/2014 12:16
Citation Envoyé par Zefling Voir le message
Pour certains langages, est-ce aujourd’hui possible ? Puis connaitre un langage de A à Z à quel niveau ? Structure, API de base ?
C'est pourquoi je dis que les véritables experts sont rares. Ce sont probablement des gens ayant peu ou pas de loisirs et dont l'essentiel du temps libre se focalise sur l’acquisition de connaissance.
Un confirmé apprendra de ses erreurs là ou l'expert ne commet pas ces erreurs car il sait exactement comment vont se comporter ses lignes de codes pour avoir étudié toutes les subtilités de chaque méthode, chaque type de variable, etc.
Avatar de Marco46 Marco46
http://www.developpez.com
Expert Confirmé Sénior
le 28/04/2014 12:30
J'ai fait ce petit travail pour mon cv et mes entretiens je prends de mémoire ces repères :

Débutant
Je passe + de temps dans la documentation que dans le code. (Profil : Dev en sortie d'école ou nouvelle techno pour le dev)

Intermédiaire
Je passe + de temps dans le code que dans la documentation. (Profil : Dev avec quelques mois à quelques années d'xp sur la techno, une partie des concepts de la techno sont encore obscurs ou mal compris)

Confirmé
Je passe rarement du temps dans la doc, seulement pour des points spécifiques, je suis capable de répondre à 90% des questions sur les forums/mailings lists sur le sujet.
(Profil : Dev sénior avec plusieurs années d'xp)

Expert
Je suis l'auteur de la techno ou un contributeur important. Je comprends parfaitement tous les concepts de la techno, j'en connais les avantages et inconvénients, les bonnes et les mauvaises pratiques. Me faire travailler sur autre chose que le développement de la techno ou de la formation pour dev confirmé est une perte de temps.
Je peux répondre à toutes les questions sur les forums/mailings lists mais je préfère écrire des livres

Globalement les SS2I/entreprises qui demandent des experts ne comprennent pas ce qu'elles demandent. Au mieux elles ont besoin de dev confirmés.
Avatar de Kropernic Kropernic
http://www.developpez.com
Expert Confirmé
le 28/04/2014 12:52
J'aime beaucoup tes points de repères et je vais probablement me les approprier pour mettre à jour mon CV.

Par contre, il reste une incertitude. Je vais prendre mon cas pour exemple.

Je code en VB.NET depuis maintenant plus de 7 ans et ne fourre quasi plus mon nez dans la doc sauf pour un point assez spécifique s'il y a lieu. Mais je code des softs de gestion en interne pour la boite où je bosse. Si demain on me demande de faire une application client-server (genre un "bête" chat par exemple), je vais forcément devoir passer pas mal de temps dans la doc car je n'ai aucune idée de comment fonctionne les communications réseaux pour l'envoi des messages entre utilisateurs en transitant par le serveur. Je sais qu'il y a une histoire avec des sockets mais ça s'arrête là ^^. Du coup, dans un cas, je tombe dans la catégorie confirmé et, dans l'autre, dans la catégorie intermédiaire.
Avatar de deusyss deusyss
http://www.developpez.com
Membre Expert
le 28/04/2014 13:04
Le terme expert est effectivement tres vague. C'est pourquoi personnellement, je me présente plutôt comme "spécialiste" que comme "expert" quand je le peux. Ce terme me parait mieux refléter la réalité.

Après, effectivement, dans le milieu du travail, "expert" est en quelque sorte le mot à la mode, le sésame permettant de négocier du travail de façon plus assurée.

Après, connaitre un langage par coeur, il y a quelques années (beaucoup ) c'était possible (là je pense à l'ASM type RISC) sans problème. De nos jours, avec les multiples évolutions, toutes les APIs, les contributeurs Open Source, ... je considère qu'il est impossible de tout connaitre. Et j'en revient au terme de "spécialiste" qui pour moi désigne des connaissances et compétences poussée, tout en indiquant également qu'on est pas censé tout connaitre par coeur.
Offres d'emploi IT
Consultant Expérimenté CRM H/F
CDI
CSC - Ile de France - La Defense
Parue le 20/09/2014
Ingénieur telecom réseau mobilité h/f
CDI
CTS - Midi Pyrénées - Toulouse (31000)
Parue le 26/08/2014
Développeur java cloud messagerie asynchrone h/f
CDI
Dassault Systèmes SA - Ile de France - Vélizy-Villacoublay (78140)
Parue le 27/08/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula