Logo DevSkillerLogo TalentBoostLogo TalentScore

Comment évaluer les compétences des développeurs de Groovy

Publié : Dernière mise à jour :
Comment évaluer les compétences des développeurs de Groovy

Le langage de programmation Apache Groovy est l'un des plus anciens langages de programmation alternatifs fonctionnant sur JVM (Java Virtual Machine). Le script Groovy, compatible avec la syntaxe Java, fête son 17e anniversaire en 2020. On pourrait penser que le développement ou le buzz qui entoure des langages JVM plus récents comme Kotlin ont rendu Groovy superflu.

Eh bien, cela ne pourrait pas être plus éloigné de la vérité !

La communauté Groovy est plus que bien vivante et la syntaxe Groovy est toujours développée par un groupe de contributeurs. La langue est l'une des bibliothèques les plus téléchargées dans le L'écosystème de Java et il est soutenu par un large éventail de cadres. Une des raisons de sa popularité est que Groovy facilite les tests unitaires et automatisés. Ce qui est clair, c'est que lorsqu'il est utilisé correctement, Apache Groovy peut donner à votre technologie un énorme coup de pouce en termes de productivité.

Vous trouverez dans ce guide :

Un guide pour évaluer les compétences des développeurs de Groovy

Si vous ne connaissez pas Groovy, n'ayez pas peur. Nous avons établi une liste de choses à savoir avant de commencer à sélectionner votre prochain développeur Groovy.

Qu'est-ce qu'un développeur Groovy ?1. Qu'est-ce que Groovy ?

Groovy ou Apache Groovy est un langage de programmation basé sur la JVM. Il est de nature dynamique, avec des capacités de typage et de compilation statiques. Le langage de programmation Groovy vise à améliorer la productivité des développeurs grâce à une syntaxe concise, familière et facile à apprendre. Groovy est un enrichisseur Java car il offre une plus grande flexibilité et introduit même des fonctionnalités spéciales aux applications (celles qui ont déjà été développées peuvent être améliorées ou elles peuvent être réalisées à partir de zéro).

Groovy a des méthodes de commodité qui le font ressembler quelque peu à Python ou Ruby. La beauté du langage Groovy est qu'il peut réduire considérablement votre code Java standard. Ce qui est vraiment génial avec Groovy, c'est qu'il peut être utilisé très facilement avec Java dans le même projet.

1.1 Quelle est la différence entre Groovy et Java ?

Groovy est un langage de programmation orienté objet qui supporte également le scripting, tandis que Java est un langage de programmation orienté objet. La syntaxe de Groovy s'appuie sur Java, ce qui signifie que le code Java peut être copié et collé dans Groovy (à quelques exceptions près), mais pas l'inverse.

Groovy est connu comme un langage de script JVM et beaucoup de développeurs Groovy profitent de sa nature flexible. Il existe un certain nombre de cas d'utilisation où Groovy est un meilleur choix que Java.

En ce qui concerne la syntaxe, Groovy s'appuie sur Java. Groovy offre des alternatives syntaxiques plus flexibles que Java, qui doit s'appuyer sur un code passe-partout. Groovy ajoute de nombreuses améliorations qui réduisent la quantité de code standard, tout en supportant la syntaxe Java. C'est un grand avantage, car il contribue à rendre le code plus lisible.

Groovy offre un support plus complet que Java pour la programmation fonctionnelle. Il offre de solides capacités d'exécution et de méta-programmation en temps de compilation, une forte prise en charge de la création de DSL et des capacités de script.

Pour un débutant, Groovy est aussi probablement plus facile à apprendre que Java, car de nombreux éléments de base peuvent être codés de manière plus intuitive.

1.2 Quelles sont les similitudes entre Groovy et Java ?

Pour un programmeur ayant une connaissance préalable de Java, il est extrêmement facile de commencer à travailler avec du code Groovy. La courbe d'apprentissage est pratiquement plate. Groovy vous permet de faire des choses qui étaient trop complexes en Java, mais de façon beaucoup plus soignée. C'est en soi une expérience joyeuse.

La syntaxe est assez similaire pour les deux, mais grâce aux améliorations apportées par Groovy, son code est beaucoup plus facile à lire. Le meilleur, c'est que les deux peuvent vivre ensemble dans le même projet. Le populaire cadre de test Spock est également basé sur Groovy.

À quelques exceptions près, vous pouvez copier/coller du code d'un fichier .java vers un fichier .groovy. Groovy fournit des importations Java populaires prêtes à l'emploi, telles que java.io.*, java.lang.*, java.math.BigDecimal, java.math.BigInteger, java.net.*, java.util.*. Ces éléments peuvent être utilisés dans le code Groovy sans avoir à ajouter des déclarations d'importation.

Il est également facile d'utiliser Java et Groovy dans le cadre d'un seul projet Maven ou Gradle.

2. À quoi sert Groovy ?

Groovy peut être utilisé comme un langage de projet indépendant ainsi qu'un langage supplémentaire dans les projets Java. Il existe des applications de production entièrement construites sur Groovy, y compris de nombreuses applications web construites sur le framework Grails (un framework basé sur Groovy similaire à Ruby on Rails). Beaucoup de Les frameworks JVM les plus répandus, dont Spring, supportent Groovy. De plus, un grand nombre d'outils et de "logiciels de collage" sont écrits en Groovy.

En tant que langage compagnon des projets Java, il est fréquemment utilisé pour les tests (y compris l'exquis cadre de test Spock), pour travailler avec des chaînes de caractères, des collections et des fichiers JSON ou XML, ainsi que pour créer des DSL (Domain Specific Languages) et des scripts. Il est toutefois important de préciser que, parmi toutes les fonctionnalités énumérées ci-dessus, seul le scripting ne peut être réalisé en Java.

Groovy est également utilisé pour créer des plugins et des scripts d'outils de construction et comme un puissant langage de script dans le processus de déploiement (par exemple, Groovy DSL pour Jenkins CI/CD).

Présenter un développeur Groovy : que doit savoir un recruteur informatique sur Groovy ?3. Qu'est-ce qui est important pour un recruteur en TI de savoir sur Groovy ?

Groovy s'intègre de manière transparente au vaste écosystème Java. Il peut être utilisé en conjonction avec un nombre important d'outils et de cadres de travail qui fonctionnent avec Java, notamment Maven et Gradle. Le langage offre des cadres de test de pointe (Spock, Geb) et des cadres de développement Web faciles à utiliser (tels que Grails et Ratpack). Groovy est pris en charge par divers cadres d'application basés sur Java, dont le célèbre cadre Spring. Il possède même son propre cadre pour le développement d'applications de bureau (Griffon).

3.1 Quels sont les outils et les techniques qu'un développeur Groovy doit connaître ?

Comme pour Java, la connaissance des outils de construction, tels que Maven et/ou Gradle, sera essentielle. En outre, une bonne connaissance pratique d'un IDE tel qu'IntelliJ est importante. Un autre élément à prendre en compte est qu'un développeur Groovy devra être familiarisé avec au moins un cadre d'application.

Projection d'un développeur de Groovy : Vérifier les compétences de Groovy4. Comment vérifier les compétences de Groovy lors de la phase de sélection ?

Pour évaluer les compétences Groovy d'un candidat, un recruteur peut utiliser l'un des supports suivants :

  • Tâches de programmation
  • QCM (questions à choix multiples),
  • MAQ (questions à réponses multiples)
  • Remplir les blancs, questions sur le tableau blanc
  • Questions audio / vidéo
  • LogicBox (plate-forme de pseudo-codage basée sur l'IA)
  • Simulateurs de codage
  • Questions vraies ou fausses, etc.

4.1 Sélection d'un développeur Groovy à l'aide de son CV

Un candidat ayant de l'expérience dans le développement d'applications, d'outils ou de bibliothèques dans Groovy serait clairement un avantage.

Toutefois, comme l'apprentissage de Groovy est fonctionnellement simple pour les développeurs Java, l'embauche de développeurs Java pour des postes Groovy peut également être une bonne idée. Bien sûr, à condition qu'ils soient intéressés par l'apprentissage et l'utilisation de Groovy dans le cadre de leur travail.

Les deux technologies nécessitent la compréhension du même moteur sous-jacent, ce qui semble être un bon point de départ.

4.2 Quel type d'expérience est-il important de rechercher chez un développeur Groovy ?

Cela dépend davantage du type de projet que de la technologie elle-même.

Il peut être judicieux de rechercher des développeurs ayant une expérience dans des domaines similaires. Toutefois, il ne s'agit pas d'une condition nécessaire.

Une expérience dans le domaine des logiciels libres a souvent l'avantage de vous permettre de voir les contributions que le candidat a déjà apportées. Cette connaissance peut vous donner un aperçu de ses compétences et de ses capacités.

Projection d'un développeur de Groovy : Glossaire de Groovy4.3 Un glossaire Groovy pour les recruteurs techniques

Versions groovy
  • 2.5.x - l'AG la plus récente
  • 2.6.x - toujours alpha
  • 3.0.x - maintenant disponible RC 2
Cadres d'application
  • Printemps (AG la plus récente : 5.2.2.RELEASE) - le plus populaire,
  • Spring Boot (AG la plus récente : 2.2.2.RELEASE) - le plus populaire,
  • Grails (maintenant disponible 4.0.x) - pertinent si utilisé dans le projet pour lequel le recrutement est effectué,
  • Ratpack (AG le plus récent : 1.7.x) - pertinent s'il est utilisé dans le projet pour lequel le recrutement est effectué,
  • Micronaute (AG la plus récente : 1.2.x) - pertinent si utilisé dans le projet pour lequel le recrutement est effectué,
  • Quarkus (maintenant disponible 1.1.x) - pertinent s'il est utilisé dans le projet pour lequel le recrutement est effectué.
Construire des outils
  • Maven
  • Gradle
IDEs
  • IntelliJ IDEA (probablement le plus populaire)
  • Eclipse

4.4 Les différentes versions de Groovy

Il y a eu de nombreuses révisions d'Apache Groovy, mais les versions les plus populaires sont les suivantes :

  • Groovy 1.0
  • Groovy 1,5
  • Groovy 1,6
  • Groovy 1,7
  • Groovy 1,8
  • Groovy 2.0
  • Groovy 2.1
  • Groovy 2.2
  • Groovy 2.3
  • Groovy 2.4
  • Groovy 2.5
  • Groovy 2.6
  • Groovy 3.0

4.5 Quelles sont les versions qui se ressemblent ? Quelles sont les versions différentes ?

Groovy 2.0 a été pendant longtemps la ligne la plus récente avec les sorties de GA et c'est la plus largement utilisée.

Cette version offre un vaste soutien en ce qui concerne la prise en charge de la syntaxe Java. Un avantage est que vous pouvez simplement copier/coller de grandes quantités de code Java dans les classes Groovy et que cela se compile et s'exécute sans aucun problème.

L'analyseur Groovy Parrot (disponible par défaut dans la version 3.0 et en option à partir de la version 2.6) constitue une mise à jour importante du langage. Cette mise à jour prend en charge davantage de syntaxe Java, y compris les boucles Java, les initialisateurs de tableaux, les méthodes d'interface par défaut, les lambdas et les références de méthodes, offrant ainsi une parité syntaxique presque égale à celle de Java.

Une autre différence est que Groovy 3.0 inclut quelques changements dans les noms des classes/paquets par rapport aux versions précédentes.

4.6 Quelle est l'importance des certificats Groovy pour évaluer les compétences de codage d'un candidat ?

Il n'existe pas de certifications réputées pour le langage Groovy. Les certifications Oracle Java peuvent toutefois constituer un avantage, mais nous ne les considérons absolument pas comme indispensables.

4.7 Autres éléments à rechercher sur le CV d'un développeur Groovy

Un diplôme en informatique indique généralement une connaissance plus large du domaine et pourrait certainement être considéré comme un avantage.

Vérifiez si le candidat :

  • A travaillé sur un projet Groovy typique
  • A participé à des projets de grande envergure, répondant à des exigences uniques et strictes (si vous cherchez quelqu'un pour travailler sur un système d'entreprise complexe). Si vous cherchez quelqu'un pour écrire des bibliothèques en Groovy ou pour travailler sur les outils de CI/CD, ce n'est peut-être pas un critère important.
  • A participé à un projet similaire à celui pour lequel vous recrutez

En outre, si les éléments suivants sont mentionnés, ces types d'activité peuvent être examinés sur la base de l'historique publiquement visible du candidat :

  • Interventions lors de conférences
  • Assister à des conférences
  • Rédaction d'articles pour des magazines techniques
  • Rédaction d'un blog technique
  • Contribuer à l'OSS
  • Contribuer à répondre aux sites (par exemple, débordement de cheminée)

Projection d'un développeur de Groovy : Questions de l'interview de Groovy 5. Questions d'entretien intéressantes à poser lors d'un entretien technique téléphonique/vidéo

Il est difficile de se fier aux seuls mots d'un CV. Après tout, il est important de mettre le candidat au défi de déterminer s'il possède réellement les compétences qu'il prétend posséder. Même s'il ne s'agit que d'un entretien téléphonique, il peut vous aider à comprendre comment le candidat pense et s'y prend pour résoudre les problèmes liés à son métier.

5.1 Questions sur l'expérience du candidat

  • Depuis combien de temps le développeur travaille-t-il avec Groovy et/ou Java ?
  • Quels types de projets ont-ils créés avec Groovy et/ou Java ? Combien (applications web, systèmes distribués, outils, DSLs, etc.) ?
  • Sur quelle version de Groovy ont-ils travaillé ?
  • Plus généralement, sur quels projets de développement de logiciels ont-ils travaillé (également dans d'autres technologies) ?

Ces questions vous aideront à déterminer le niveau d'expérience professionnelle du développeur avec Groovy et/ou Java. Une plus grande expérience, ainsi qu'une expérience dans des projets similaires à celui pour lequel vous recrutez, doit être considérée comme un avantage.

Si une personne n'a pas d'expérience de travail avec Groovy mais qu'elle a une grande expérience d'autres technologies, elle peut aussi être un bon candidat, à condition qu'elle ait fait ses preuves en matière d'apprentissage rapide.

5.2 Questions sur les connaissances et les opinions du candidat

  • Quelles sont les caractéristiques les plus importantes de Groovy ?
  • Quelles sont les principales différences entre Groovy et Java ?
  • Quelles sont les bonnes pratiques de Groovy dans l'utilisation de la langue ?
  • A quoi dois-je faire attention lorsque je travaille avec Groovy ?

Ces questions vous permettront de comprendre dans quelle mesure le candidat connaît la technologie et s'il est conscient des problèmes et des pièges les plus courants.

5.3 Questions comportementales à poser pour comprendre comment le candidat a agi dans le passé

  • Quelle est votre plus grande réussite en matière de programmation ? Pourquoi ? Comment pouvez-vous le répéter ?

Cette question permettra au candidat de présenter un cas de réussite et pourra indiquer au recruteur si le candidat est plus intéressé à résoudre le problème ou à recevoir des éloges.

  • Quel a été votre plus gros problème dans la programmation ? Pourquoi ? Comment pouvez-vous éviter de le répéter à l'avenir ?

Cette question incitera le candidat à décrire un point faible personnel et montrera au recruteur si le candidat est à l'aise pour en parler. Elle peut en outre révéler si le candidat souhaite résoudre le problème ou rejeter la faute sur quelqu'un d'autre.

  • Vous souhaitez encadrer un jeune développeur ? Pourquoi ? Comment vous y prendriez-vous ? Avez-vous de l'expérience en matière de mentorat ?

Cela permettra au recruteur d'évaluer l'intérêt du candidat et les compétences relationnelles nécessaires au partage des connaissances.

Découvrez d'autres qualités d'un bon développeur.

Auteur - Olga Maciaszek-Sharma

Comment filtrer les compétences de l'auteur Olga Maciaszek-Sharma, développeur de GroovyOlga Maciaszek-Sharma est ingénieur logiciel senior au sein de l'équipe Spring Cloud de Pivotaloù elle travaille principalement sur Spring Cloud Commons (Spring Cloud LoadBalancer), Spring Cloud Contract, Spring Cloud Netflix et Spring Cloud Gateway. Elle a acquis de l'expérience en travaillant avec des microservices où des solutions de pointe ont été utilisées ainsi qu'avec des systèmes patrimoniaux complexes, en mettant en œuvre à la fois de nouvelles fonctionnalités et des solutions visant à améliorer le processus de déploiement et de configuration continus des applications. Olga contribue également à divers autres projets OSS, notamment JFairy, Jenkins Pipeline Plugin, Jenkins Stash Pull Request Builder Plugin et Java Gitlab Client. Avant de passer au développement, elle a travaillé pendant plus de 3 ans comme ingénieur en assurance qualité, spécialisé dans l'automatisation des tests.

Projection d'un développeur de Groovy : Tests de codage de Groovy6. Examen technique des compétences d'un développeur Groovy à l'aide d'un test de codage en ligne

Le premier souci que vous devez avoir en recrutant un développeur Groovy est de savoir s'il possède des compétences de codage irréprochables. Groovy est un langage simple qui facilite le codage, mais comme toutes les langues, il nécessite de bonnes compétences de codage. Ce qui est sûr, c'est qu'un écran de CV et un écran de téléphone vous aideront à filtrer certains de vos candidats. Cela dit, la dernière chose que vous souhaitez est d'inviter un candidat à un entretien technique pour découvrir qu'il n'a jamais eu les compétences de codage requises. C'est un cauchemar.

6.1 Quel test de programmation en ligne Groovy devriez-vous choisir ?

Lorsque l'on cherche le bon Un test de programmation en ligne très intéressant vous devez vous assurer qu'il répond aux critères suivants :

  • Le test reflète la qualité du travail professionnel effectué
  • La durée n'est pas trop longue, une à deux heures maximum
  • Le test peut être envoyé automatiquement et est de nature simple
  • Le niveau de difficulté correspond aux capacités du candidat
  • Le test va au-delà de la vérification du bon fonctionnement de la solution : il vérifie la qualité du code et son bon fonctionnement dans les cas limites
  • Il est aussi proche que possible de l'environnement naturel de programmation et permet au candidat d'accéder aux ressources pertinentes
  • Il donne au candidat la possibilité d'utiliser toutes les bibliothèques, cadres et autres outils qu'il rencontre régulièrement

6.2 DevSkiller : tests d'évaluation en ligne prêts à l'emploi pour le codage des développeurs Groovy

Les tests de codage DevSkiller utilisent notre méthodologie RealLifeTesting™ pour refléter l'environnement de codage réel dans lequel travaille votre candidat. Plutôt que d'utiliser des algorithmes obscurs, les tests DevSkiller exigent des candidats qu'ils créent des applications ou des fonctionnalités. Ils sont notés de manière entièrement automatique et peuvent être passés partout dans le monde. En même temps, le candidat a accès à toutes les ressources qu'il utiliserait normalement, y compris les bibliothèques, les cadres de travail, StackOverflow et même Google.

Les entreprises utilisent DevSkiller pour tester les candidats à l'aide de leur propre base de données de codes, où qu'ils se trouvent dans le monde. Pour faciliter la tâche, DevSkiller propose également un certain nombre de tests de codage Groovy pré-établis, comme ceux que nous proposons ici :

Botte de printemps
JUNIOR
Des compétences éprouvées
Durée
54 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Java, Botte de printemps

Lacunes dans les codes

l'évaluation de la connaissance des Java

Tâche de programmation - Niveau : Facile

Java | Spring Boot | HATEOAS Bike Station - Terminer l'implémentation de HATEOAS à l'API REST.

Groovy
JUNIOR
Des compétences éprouvées
Durée
50 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Groovy

Tâche de programmation - Niveau : Facile

Java | Groovy | Méthode d'opération - Implémente une méthode pour additionner les nombres d'une liste donnée de chaînes de caractères dans Groovy.

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

Questions sur le choix

l'évaluation de la connaissance des Groovy, Java

Tâche de programmation - Niveau : Moyen :

Java | Groovy | Flight manager app | Réservation de sièges et analyse des vols - Implémente les fonctionnalités manquantes de l'application de gestion des données des vols comme la réservation de sièges et l'analyse des vols.

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

Tâche de programmation - Niveau : Moyen :

Java | Gestionnaire de vols | Mettre en place une application responsable de la gestion des données des vols

Tâche de programmation - Niveau : Moyen :

JavaScript | Réagir | Formulaire de contact - Optimiser le formulaire à remplir pour les utilisateurs du site

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

Questions sur le choix

l'évaluation de la connaissance des Java API standard

Tâche de programmation

Le candidat doit mettre en œuvre deux méthodes commerciales pour trouver des vols entre deux villes et générer une liste de sièges pour un avion. Nécessite Java la connaissance.

Java
JUNIOR
Des compétences éprouvées
Durée
45 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Java API standard

Tâche de programmation

Candidature au poste de directeur des vols, le candidat doit mettre en œuvre deux méthodes commerciales pour trouver des vols et réserver une place, ce qui nécessite des connaissances de base sur Java

Partager le poste

C'est plus qu'un simple bulletin d'information

Recevez des informations utiles directement dans votre boîte de réception et apprenez-en davantage sur l'embauche des techniciens.

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.