Existe-t-il actuellement un test d'aptitude moderne et standardisé pour le génie logiciel? [fermé]

10

Contexte

Je suis un ingénieur logiciel qui travaille et qui est en train de chercher un nouveau contrat pour la prochaine année. Dans ma recherche, je subis plusieurs entretiens techniques absurdes comme l'indique cette question populaire que j'ai posée plus tôt dans la journée .

Même si les questions qui m'étaient posées n'étaient pas toujours absurdes, je serais néanmoins fatigué d'y répondre plusieurs fois pour différentes opportunités de contrat.

Donc, cela m'a fait penser que le fait d'avoir un examen standardisé que les professionnels du logiciel pourraient passer fournirait un tableau de bord commun qui pourrait être référencé par les enquêteurs au lieu de questions d'entrevue techniques absurdes (c.-à-d. Nerd bizutage).

Question

Existe-t-il un test d'aptitude normalisé en génie logiciel (SEAT ??) à la disposition des professionnels?

S'il n'y a pas un tel examen sur le marché, quelles questions ou quels sujets devraient être abordés?

Une pensée supplémentaire

S'il vous plaît gardez à l'esprit, si vous suggérez une question ou un sujet, de vous concentrer sur des questions ou des sujets qui seraient pertinents pour les pratiques de développement contemporaines et les besoins réalistes de la main-d'œuvre, car ce serait le point d'un test d'aptitude standard. En d'autres termes, aucune question de traversée de clown .

Matt Cashatt
la source
Bonne question, mais malheureusement, il ne semble pas possible d'éviter l'entretien technique incompétent. Les pires sont celles menées par des recruteurs sans expérience en programmation. J'en ai eu qui étaient terriblement mauvaises. J'ai donné ce que je pensais être une réponse adéquate à certaines questions pour me dire que c'était complètement faux parce que cela ne correspondait pas à la définition en conserve qu'ils avaient obtenue quelque part.
Antonio2011a

Réponses:

7

Jetez un oeil à la codilité .

Il s'agit d'un test de programmation en ligne qui prend en charge un certain nombre de langues différentes. Les questions sont bien définies et pas trop complexes bien qu'elles nécessitent une certaine réflexion, ainsi que de bonnes techniques de programmation (défensives) - non seulement vous devez écrire une solution de travail correcte, mais elles testeront des choses comme les conditions de bord et le débordement d'entier .

Je ne sais pas à quel point l'auto-certification est bien considérée, mais deux demandes d'emploi récentes ont utilisé ce site dans le cadre du processus de sélection.

Peregrine
la source
2
Site soigné! Les questions sont en fait assez difficiles. Je n'ai fini par le résoudre qu'à moitié et quelques tests extrêmes ont échoué aux tests de performances même s'ils ne sont jamais sortis et ont dit que mon code serait testé pour les performances.
maple_shaft
3

Les tests d'aptitude visent à mesurer la facilité innée d'une personne pour un sujet donné, et non pas ce que vous savez déjà sur un sujet. Je ne pense pas que ce soit ce que vous recherchez. Au lieu de cela, vous semblez vouloir un moyen standard de démontrer ce que vous savez afin de ne pas avoir à supporter les questions techniques lors d'une interview (ou au moins éviter les idiotes).

Bonne nouvelle: il existe de nombreuses façons de démontrer ce que vous savez. Les outils à votre disposition comprennent:

  • curriculum vitae: un curriculum vitae bien rédigé peut grandement contribuer à répondre aux questions sur ce que vous avez fait dans le passé et, par extension, sur ce que vous savez maintenant. Ne vous contentez pas d'énumérer où vous avez travaillé, dites ce que vous avez fait.

  • projets: Apportez quelque chose que vous avez créé avec vous et offrez une démo rapide. Montrez votre code et soyez prêt à l'expliquer. Cela vous permet de montrer votre capacité technique sur votre propre terrain. (Si c'est quelque chose auquel d'autres ont également contribué, soyez très clair sur ce que vous avez fait par rapport à ce que d'autres ont fait. Si vous le pouvez, il est préférable de montrer quelque chose qui vous appartient entièrement.)

  • rédaction: Si vous avez écrit des articles, un blog ou un livre ou un article de magazine, essayez de le présenter avant votre entretien afin que les enquêteurs aient la possibilité de le lire.

  • diplôme ou certification: ils sont à peu près aussi proches d'un examen standard que vous êtes susceptible de l'obtenir.

En bref, votre objectif est de fournir autant de preuves que possible que vous avez les connaissances que l'intervieweur recherche.

Mauvaise nouvelle: Quoi qu'il en soit, vous allez probablement toujours faire face à une ou deux questions techniques artificielles lorsque vous vous entretiendrez pour un emploi. Même si vous les impressionnez vraiment par votre expérience et que vous pouvez démontrer que vous êtes exactement le gars qu'ils recherchent, ils vous poseront encore quelques questions sur les structures de données ou autre chose. Il n'y a pas d'inconvénient pour l'entreprise - la personne qu'elle recherche devrait pouvoir répondre à ces questions dans son sommeil, et il y a apparemment beaucoup de gens qui ne le peuvent pas . De plus, certaines organisations ont des procédures d'embauche strictes qui les obligent à poser les mêmes questions à chaque candidat; les enquêteurs ne sont pas libres de décider que vous connaissez vos connaissances et ils peuvent simplement ignorer les questions techniques.

Caleb
la source
Caleb - J'apprécie votre commentaire et j'ai toutes les balles que vous avez mentionnées. De plus, le type de questions mentionnées sur le lien que vous avez fourni, ou les problèmes courants de structure de données en tant qu'encadré d'une interview plus large, conviennent parfaitement. Ce dont je suis personnellement un peu malade, c'est de courir comme un poulet sans tête vers plusieurs "projections techniques" différentes pour me poser des questions qui ne sont pas pertinentes pour le travail. Et encore une fois, je suis seulement après un emploi contractuel, il y a donc beaucoup d'itérations de ce processus de "filtrage technologique". Je crois simplement qu'un test standardisé peut éviter cela.
Matt Cashatt
2

Sans doute, c'est le rôle des certifications et des diplômes. Si vous voulez un test standardisé de la familiarité de quelqu'un avec un langage de programmation particulier, vous pouvez rechercher des personnes possédant une certification de langage particulière. Si vous voulez un test standardisé de connaissances générales en informatique, cherchez quelqu'un qui a un diplôme en informatique.

Le problème, bien sûr, est que nous savons tous que ces types de titres de compétences sont loin d'être parfaits. Il est trop facile pour les gens de s'entasser pour un examen de certification une fois que les sujets d'examen sont finalisés sans réellement apprendre quoi que ce soit ou être en mesure d'appliquer les connaissances. Une fraction assez importante de développeurs solides ne va pas se donner la peine de passer par le processus de certification. Et essayer d'être certifié sur tout ce qu'un employeur recherche (langages, processus et méthodologies de développement, etc.) serait assez onéreux. Les diplômes en informatique sont également faillibles - il y a des gens qui terminent leur diplôme sans jamais réussir à écrire du code utile et il y a des gens qui apprennent à écrire du bon code tout en se spécialisant dans autre chose.

Étant donné que les approches standardisées se sont révélées insuffisantes dans le monde réel, il est exceptionnellement peu probable qu'un examen standardisé réussisse mieux. Il finirait presque certainement par être joué comme les examens de certification existants. Les gens s'entassaient pour l'examen ou avaient accès aux questions des «décharges cérébrales». Les développeurs existants ne manqueraient pas tous de passer l'examen. Et les employeurs ne seraient pas disposés à s'appuyer fortement sur les résultats de l'examen. Ils voudront donc toujours poser des questions techniques lors d'une interview.

Au-delà de cela, cependant, un bon entretien technique (évidemment, il y a de mauvais enquêteurs et de mauvaises questions tout comme il y a de mauvais développeurs) devrait également viser à évaluer comment l'approche d'un candidat va s'intégrer à l'équipe actuelle. Un bon entretien doit évaluer les compétences en communication d'un candidat et ses compétences générales tout autant qu'il évalue ses compétences techniques. Je suis beaucoup plus intéressé par un candidat qui pose de bonnes questions pour clarifier les exigences et qui explique bien son processus de réflexion même s'il ne propose pas immédiatement le meilleur algorithme par rapport à quelqu'un qui propose un excellent algorithme mais ne peut pas expliquer sa réponse de manière efficace ou discuter efficacement des compromis.

Justin Cave
la source
Merci Justin Cave, vos points ont été bien pris - en particulier le dernier paragraphe avec lequel je suis entièrement d'accord. Le truc, c'est que dans ces entrevues «technologiques» qui ont été une mauvaise expérience pour moi, il semble que l'intervieweur soit toujours tombé dans la catégorie de ne pas avoir les compétences générales que vous mentionnez et il était souvent difficile de comprendre les mots qu'ils disaient ( sans parler de ce qu'ils demandaient).
Matt Cashatt
Je me considère comme dépassant les compétences générales que vous mentionnez et je suis un programmeur solide et je l'ai prouvé au fil des ans, il me semble donc malheureux que ces gardiens se tiennent entre moi et mon prochain contrat. Je pense qu'une approche standardisée compenserait ce problème.
Matt Cashatt
@MatthewPatrickCashatt - Mais en même temps, ne voudriez-vous pas savoir que vous allez avoir des problèmes de communication avec l'équipe pendant l'entretien avant de commencer le travail? Si vous ne comprenez pas ce qu'ils demandent, même si la faute est entièrement la leur, vous ne réussirez pas à travailler avec eux.
Justin Cave
Je pense que nous parlons de deux contextes différents (ma faute). Vous voyez, j'ai affaire à plusieurs agences de recrutement qui se tiennent entre moi et, disons, à obtenir un contrat de 6 mois chez Amazon ou Microsoft. Je n'ai pas d'autre choix que de passer par ces agences, mais je ne travaillerai pas avec les personnes qui les emploient. Donc, invariablement, je rencontre un filtreur employé par l'agence qui a une pile de livres C #, Java, C ++ ou d'algorithmes sur son bureau, nous allons dans une salle de conférence, et ils me posent des questions qui montrent clairement qu'ils n'ont pas 'ai pas été dans la population active depuis un certain temps.
Matt Cashatt
@MatthewPatrickCashatt - Eh bien, il y a sans aucun doute des enquêteurs pauvres. Mais s'ils sont incompétents, il est peu probable qu'ils utilisent les résultats d'un bon test standardisé même s'il existe pour les mêmes raisons qu'ils n'exigent pas simplement un diplôme et des certifications appropriées aujourd'hui.
Justin Cave
0

Le test d'aptitude de programmeur / analyste sans langue fournit une mesure objective du potentiel d'un candidat à un emploi pour comprendre et appliquer le raisonnement, la logique, les mathématiques informatiques et les règles de procédure. Le LPAT ne teste pas le candidat dans un langage informatique spécifique. Voir http://www.aprtestingservices.com/business/lpat/

Joel W.
la source