Je comprends que pour mesurer un projet ou un code, nous pouvons utiliser le test Joel , mais existe-t-il un test standard simple (comme le test Joel) capable de mesurer et de filtrer la qualité d'un programmeur?
Mon plan est d’avoir ce test comme un filtre rapide d’abord avant de passer à un test plus détaillé.
Réponses:
Il y a la matrice de compétences du programmeur .
Comme pour le test de Joël, ce n’est qu’un guide vague. Le seul moyen d'évaluer correctement un programmeur est de demander aux bons programmeurs qui ont travaillé avec eux.
la source
Je retournerais le test de Joël autour de moi:
Ont-ils utilisé le contrôle de source?
Savent-ils automatiser une construction en une étape?
...
Le seul qui ne semble pas particulièrement applicable est la question sur les testeurs. Voici ce que nous pensons des autres (nous traitons ainsi le maintien de notre calendrier. Comment avez-vous géré votre calendrier dans le passé?) .
modifier:
Essentiellement, le test de Joel ne comporte pas les éléments gratuitement, vous devez embaucher des personnes capables de les réaliser. Vous voulez établir leur capacité à y arriver.
la source
Le test Joel est simplement une vérification informelle de base permettant de déterminer rapidement si un lieu offre de bonnes conditions de travail aux programmeurs. Même s'il marque un 10 parfait, il peut encore s'agir d'un enfer qui va faire faillite six mois plus tard. Un score faible indique que quelque chose ne va pas, et donne lieu à d'excellentes questions d'entrevue ("Vous n'utilisez pas de contrôle de source à l'heure actuelle; envisagez-vous de le faire à l'avenir?"), Et les réponses pourraient être telles que vous accepteriez le travail malgré un faible score de Joël.
Le test Joel n'est pas non plus un test «standard»; Joel Spolsky a publié une liste de contrôle sur son blog.
En ce qui concerne la «mesure» de la qualité d'un programmeur, Malheureusement, les compétences et les qualités vraiment importantes d'un bon programmeur sont difficiles, voire impossibles à quantifier. Il n'y a donc pas de solution de rechange à une évaluation humaine approfondie. Cependant, vous pouvez facilement éliminer les candidats complètement désemparés, en utilisant une tâche de programmation très simple - idéalement, quelque chose impliquant de la récursivité, des arborescences ou des pointeurs (un programmeur qui ne les comprend pas aura peu de chances d'être très utiles). Pour ceux qui réussissent ce test, vous devrez évaluer les compétences manuellement: lisez le code qu'ils ont écrit, testez les applications qu'ils ont écrites, attribuez-leur davantage de tâches de programmation (conception et implémentation), regardez-les travailler, discutez-en, voyez si vous le souhaitez. peut déclencher une discussion professionnelle. Si vous cherchez un spécialiste / gourou de la langue,
la source
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
Vous feriez erreur d'accepter le travail en passant. En fin de compte, chaque développeur apprend que lesPlans to do so in the future
enquêteurs disent que cela vous trompe, mais qu’ils n’agissent jamais en raison d’une gestion épouvantable. Combien de fois avons-nous entendu quelque chose à l'effet deOh, we are moving towards Agile...
et il s'avère être un autre magasin de cascade microgéré?Ouais:
D'après toute mon expérience, cette seule question est le meilleur indicateur de la qualité d'un programmeur. S'ils l'apprécient; s'ils ont la passion de faire la tâche, alors ils vont être bons à la tâche.
Et franchement, beaucoup de 9 à 5 emplois ne nécessitent pas beaucoup de codage . Ils n'impliquent pas beaucoup d'itérations tout au long du cycle de vie consistant à concevoir de nouveaux programmes et à voir comment cette conception fonctionne / échoue. Sans cette itération, les programmeurs n'ont tout simplement pas la pratique nécessaire pour acquérir des compétences de base en matière de conception de programmes.
Et ils ne nécessitent pas beaucoup d'apprentissage. Les programmeurs qui ne font même que pirater des objets chez eux vont explorer de nouvelles solutions intéressantes sans les contraintes des grandes entreprises.
la source
Ce n'est pas aussi détaillé que le test Joel, mais leur demander d'écrire un programme fizz buzz sera une bonne indication pour savoir s'ils peuvent coder du tout.
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html et http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- Who-Grok-coding /
Cela ne vous parlera pas de la maturité de l'ingénierie logicielle de l'individu, mais il filtrera le pire.
la source
Euh, je me moque de la formulation au début. Ce n'est pas "avez-vous utilisé X" ou "Connaissez-vous Y"? Il s'agit simplement d'utiliser et de faire. Tout programmeur qui n'a pas touché ou entendu parler des éléments du test Joel est simplement déconnecté et doit obtenir un indice. Mais vous avez raison, les magasins de code échouent au test de Joel parce que les employés dans les magasins le laissent échouer. Le seul moyen de défense que je puisse voir est le suivant: "J'ai essayé, mais je n'avais pas le pouvoir. Et maintenant, je présente une demande ici".
la source
Oui mais
Oui, mais je ne l'ai pas configuré et je ne l'administre pas, je l'utilise simplement.
Non, ce n'est pas mon travail.
On me donne une spécification, je l’analyse et produis les documents pertinents.
Vous ne savez pas quels sont les meilleurs outils et si vous pensez le faire, il y aura toujours quelqu'un pour faire valoir votre point.
Oui. En fait, oui et ils ne sont pas très bons, mais ce n'était pas dans la question.
Oui et ils échouent. Oui et ils passent. Qu'est-ce que cela vous dit?
Non, mais si on faisait mieux?
De conclure:
Ce n'est pas un diatribe, mais je serais très intéressé de savoir quel type de développeur vous pensez que je suis basé sur les réponses que j'ai fournies. J'espère que cela prouvera mon point.
la source
How do you know whether I pull changes before pushing?
Eh bien, je ne sais pas quel contrôle de source vous utilisez, mais dans SVN au moins, si vous essayez de valider dans un dossier avec des modifications que vous n'avez pas encore, la validation échouera jusqu'à ce que vous exécutiez Update.