Hoe Groovy ontwikkelaarsvaardigheden te screenen

Gepubliceerd: Laatst bijgewerkt:
Hoe Groovy ontwikkelaarsvaardigheden te screenen

De programmeertaal Apache Groovy is een van de oudste alternatieve programmeertalen die op JVM (Java Virtual Machine) draait. Het Java-syntax compatibele Groovy script viert zijn 17e verjaardag in 2020. Mensen zouden kunnen denken dat de ontwikkeling of de buzz omgeving van recentere JVM talen zoals Kotlin Groovy overbodig hebben gemaakt.

Nou, dat kon niet verder van de waarheid zijn!

De Groovy-gemeenschap is meer dan springlevend en de Groovy-syntaxis wordt nog steeds ontwikkeld door een groep bijdragers. De taal is een van de meest gedownloade bibliotheken in de Java-ecosysteem en het wordt ondersteund door een breed scala aan frameworks. Een van de redenen voor zijn populariteit is dat Groovy unit en geautomatiseerd testen makkelijker maakt. Wat duidelijk is, is dat wanneer het correct wordt gebruikt - Apache Groovy het potentieel heeft om uw tech een enorme productiviteitsimpuls te geven.

In deze gids zul je vinden:

Een gids voor het screenen van Groovy ontwikkelaarsvaardigheden

Als u niet bekend bent met Groovy, wees dan niet bang. We hebben een lijst gemaakt van dingen die u moet weten voordat u begint met het screenen van uw volgende Groovy-ontwikkelaar.

Wat is een Groovy ontwikkelaar?1. Wat is Groovy?

Groovy of Apache Groovy is een op JVM gebaseerde programmeertaal. Het is dynamisch van aard, met statische typering en statische compilatiemogelijkheden. De programmeertaal Groovy is bedoeld om de productiviteit van ontwikkelaars te verbeteren dankzij een beknopte, bekende en gemakkelijk te leren syntaxis. Groovy is een Java-verbeteraar omdat het een grotere flexibiliteit biedt en zelfs speciale functies introduceert in toepassingen (toepassingen die al zijn ontwikkeld kunnen worden verbeterd of ze kunnen vanaf nul worden gemaakt).

Groovy heeft "convenience methods" die het enigszins doen lijken op Python of Ruby. Het mooie van de Groovy taal is dat het je boilerplate Java code met een aanzienlijke hoeveelheid kan verminderen. Wat echt geweldig is aan Groovy is dat het heel gemakkelijk kan worden gebruikt naast Java in hetzelfde project.

1.1 Wat is het verschil tussen Groovy en Java?

Groovy is een objectgeoriënteerde programmeertaal die ook scripting ondersteunt, terwijl Java een objectgeoriënteerde programmeertaal is. De syntaxis van Groovy bouwt voort op Java, wat betekent dat Java-code meestal kan worden gekopieerd en geplakt in Groovy (met enkele uitzonderingen), maar niet vice-versa.

Groovy staat bekend als een JVM scripttaal en veel Groovy ontwikkelaars maken gebruik van het flexibele karakter ervan. Er zijn een aantal use-cases waarin Groovy een betere keuze is dan Java.

Wat de syntaxis betreft, bouwt Groovy voort op Java. Groovy biedt flexibelere syntaxalternatieven dan Java, dat veel gebruik moet maken van boilerplate-code. Groovy voegt veel verbeteringen toe die de hoeveelheid boilerplate-code verminderen, terwijl de Java-syntaxis toch wordt ondersteund. Dit is een groot voordeel omdat het de code leesbaarder helpt maken.

Groovy biedt uitgebreidere ondersteuning voor functioneel programmeren dan Java. Het biedt robuuste runtime en compile-time meta-programmeer mogelijkheden, sterke ondersteuning voor het maken van DSL's en scripting mogelijkheden.

Voor een beginner is Groovy waarschijnlijk ook gemakkelijker te leren dan Java, omdat veel basisdingen intuïtiever kunnen worden gecodeerd.

1.2 Wat is gelijkaardig tussen Groovy en Java?

Voor een programmeur met voorkennis van Java is het bijzonder gemakkelijk om met Groovy-code te beginnen werken. De leercurve is praktisch vlak. Met Groovy kun je dingen doen die in Java te ingewikkeld waren, maar dan op een veel nettere manier. Dit op zich is al een plezierige ervaring.

De syntaxis is voor beide vrij gelijkaardig, maar door de verbeteringen in Groovy is de code veel gemakkelijker te lezen. Het beste deel is dat beide samen kunnen leven in hetzelfde project. Het populaire Spock test framework is ook gebouwd op Groovy.

Op enkele uitzonderingen na, kan je code kopiëren/plakken van een .java naar een .groovy bestand. Groovy biedt out-of-the-box populaire Java-imports zoals java.io.*, java.lang.*, java.math.BigDecimal, java.math.BigInteger, java.net.*, java.util.*. Deze kunnen binnen Groovy code gebruikt worden zonder import statements te moeten toevoegen.

Het is ook gemakkelijk om zowel Java als Groovy binnen één Maven of Gradle project te gebruiken.

2. Waar wordt Groovy voor gebruikt?

Groovy kan worden gebruikt als een zelfstandige projecttaal, maar ook als een extra taal in Java-projecten. Er zijn productietoepassingen die volledig bovenop Groovy zijn gebouwd, waaronder veel webtoepassingen die bovenop het Grails-framework zijn gebouwd (een op Groovy gebaseerd framework dat lijkt op Ruby on Rails). Een heleboel Overheersende JVM frameworks, waaronder Spring, ondersteunen Groovy. Ook wordt veel tooling en "lijmsoftware" in Groovy geschreven.

Als een metgezel taal in Java projecten, wordt het vaak gebruikt voor testen (inclusief het uitstekende Spock test framework), werken met Strings, Collections, en JSON of XML bestanden, en ook voor het maken van DSLs (Domain Specific Languages) en scripting. Het is echter belangrijk te zeggen dat van alle bovengenoemde mogelijkheden alleen scripting niet in Java kan worden gedaan.

Groovy wordt ook gebruikt voor het bouwen van plugins en scripts voor bouwprogramma's en als krachtige scripttaal binnen het implementatieproces (bijvoorbeeld Groovy DSL voor Jenkins CI/CD).

Screen een Groovy ontwikkelaar: wat moet een IT recruiter weten over Groovy?3. Wat is belangrijk voor een IT Recruiter om te weten over Groovy?

Groovy integreert naadloos met het uitgebreide Java ecosysteem. Het kan worden gebruikt in combinatie met een aanzienlijk aantal van de tools en frameworks die met Java werken, waaronder Maven en Gradle. De taal biedt geavanceerde testframeworks (Spock, Geb) en gebruiksvriendelijke frameworks voor webontwikkeling (zoals Grails en Ratpack). Groovy wordt ondersteund door verschillende op Java gebaseerde toepassingsframeworks, waaronder het populaire Spring-framework. Het heeft zelfs een eigen framework voor het ontwikkelen van desktop applicaties (Griffon).

3.1 Met welke tools en technieken moet een Groovy ontwikkelaar vertrouwd zijn?

Net als bij Java is kennis van build tools, zoals Maven en/of Gradle, essentieel. Daarnaast is een goede kennis van een IDE zoals IntelliJ belangrijk. Een ander punt om rekening mee te houden is dat van een Groovy ontwikkelaar wordt verwacht dat hij bekend is met ten minste één applicatieframework.

Screen een Groovy ontwikkelaar: Verifieer Groovy vaardigheden4. Hoe kunnen Groovy-vaardigheden in de screeningfase worden geverifieerd?

Om de Groovy-vaardigheden van een kandidaat te evalueren, kan een rekruteerder een van de volgende media gebruiken:

  • Programmeertaken
  • MCQs (Meerkeuze Vragen),
  • MAQ's (Meervoudige antwoordvragen)
  • Vul de lege plekken in, Whiteboard vragen
  • Audio / Video Vragen
  • LogicBox (AI-gebaseerd Pseudo-Coding Platform)
  • Simulatoren voor codering
  • Waar of niet waar vragen, enz.

4.1 Screening van een Groovy ontwikkelaar aan de hand van zijn CV

Een kandidaat met ervaring in het ontwikkelen van applicaties, tools of libraries in Groovy zou duidelijk een voordeel zijn.

Aangezien het leren van Groovy echter functioneel eenvoudig is voor Java-ontwikkelaars, kan het ook een goed idee zijn Java-ontwikkelaars voor Groovy-functies in dienst te nemen. Natuurlijk alleen als ze geïnteresseerd zijn in het leren en gebruiken van Groovy tijdens het werk.

Beide technologieën vereisen een begrip van dezelfde onderliggende motor, dus het lijkt een goede match voor starters.

4.2 Wat voor soort ervaring is belangrijk om te zoeken in een Groovy ontwikkelaar?

Dit hangt meer af van het soort project dan van de technologie zelf.

Het kan zinvol zijn te zoeken naar ontwikkelaars met ervaring op soortgelijke gebieden. Het is echter niet iets om als een noodzakelijke voorwaarde te beschouwen.

Een open-source-ervaring heeft vaak het voordeel dat u de bijdragen kunt zien die de kandidaat al heeft geleverd. Deze kennis kan u enig inzicht geven in hun vaardigheden en bekwaamheden.

Screen een Groovy ontwikkelaar: Groovy woordenlijst4.3 Een Groovy-woordenlijst voor technische recruiters

Groovy versies
  • 2.5.x - meest recente GA
  • 2.6.x - nog steeds alpha
  • 3.0.x - nu beschikbaar RC 2
Toepassingskaders
  • Spring (meest recente GA: 5.2.2.RELEASE) - meest populair,
  • Spring Boot (meest recente GA: 2.2.2.RELEASE) - meest populair,
  • Grails (nu beschikbaar 4.0.x) - relevant indien gebruikt in het project waar de aanwerving voor is,
  • Ratpack (meest recente GA: 1.7.x) - relevant indien gebruikt in het project waar de aanwerving voor is,
  • Micronaut (meest recente GA: 1.2.x) - relevant indien gebruikt in het project waar de aanwerving voor is,
  • Quarkus (nu beschikbaar 1.1.x) - relevant indien gebruikt in het project waar de aanwerving voor is.
Gereedschap bouwen
  • Maven
  • Gradle
IDE's
  • IntelliJ IDEA (waarschijnlijk het populairst)
  • Eclips

4.4 De verschillende versies van Groovy

Er zijn veel revisies van Apache Groovy geweest, maar de populairste zijn de volgende:

  • 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 Welke versies lijken op elkaar? Welke versies zijn verschillend?

Groovy 2.0 is lange tijd de meest recente lijn met GA-releases geweest en wordt het meest gebruikt.

Deze versie biedt uitgebreide ondersteuning als het gaat om de ondersteuning van Java syntax. Een voordeel is dat je grote hoeveelheden Java code gewoon kunt kopiëren/plakken in Groovy classes en het compileert en draait zonder problemen.

Een belangrijke update van de taal omvatte de Groovy Parrot Parser (standaard beschikbaar in 3.0 en als opt-in vanaf 2.6). Deze update ondersteunt meer Java syntaxis, inclusief Java loops, array initializers, default interface methods, lambdas en method references, en biedt bijna 1-op-1 syntaxis pariteit met Java.

Een ander verschil is dat Groovy 3.0 enkele wijzigingen bevat in de klasse/pakketnamen in vergelijking met de vorige versies.

4.6 Hoe belangrijk zijn Groovy-certificaten voor de beoordeling van de coderingsvaardigheden van een kandidaat?

Er zijn geen bekende certificeringen voor de Groovy taal. Oracle Java certificaties zouden wel een voordeel kunnen zijn, maar we zouden ze zeker niet als een must beschouwen.

4.7 Andere dingen om te zoeken op het CV van een Groovy ontwikkelaar

Een diploma informatica duidt gewoonlijk op een bredere kennis van het vakgebied en kan zeker als een voordeel worden beschouwd.

Kijk uit of de kandidaat:

  • Heeft gewerkt aan een typisch Groovy project
  • Heeft meegewerkt aan grote projecten, met unieke en strenge vereisten (als u iemand zoekt om aan een complex bedrijfssysteem te werken). Als u iemand zoekt om bibliotheken in Groovy te schrijven of om aan de CI/CD-tooling te werken, is dit misschien geen belangrijk criterium
  • Heeft deelgenomen aan een soortgelijk project als dat waarvoor u werft

Bovendien kunnen deze soorten activiteiten worden onderzocht op basis van de publiekelijk zichtbare geschiedenis van de kandidaat:

  • Spreken op conferenties
  • Bijwonen van conferenties
  • Artikelen schrijven voor technische tijdschriften
  • Een technische blog schrijven
  • Bijdragen aan OSS
  • Bijdragen aan antwoordsites (bv. Stack Overflow)

Screen een Groovy ontwikkelaar: Groovy interview vragen 5. Groovy interview vragen om te stellen tijdens een telefoon/video technisch interview

Het is moeilijk om alleen af te gaan op de woorden van een cv. Het is immers belangrijk dat u de kandidaat uitdaagt om te bepalen of hij of zij echt beschikt over de vaardigheden die hij of zij beweert te hebben. Ook al is het maar een telefonisch interview, het kan u helpen te begrijpen hoe de kandidaat denkt en problemen oplost die met zijn vak te maken hebben.

5.1 Vragen over de ervaring van de kandidaat

  • Hoe lang werkt de ontwikkelaar al met Groovy en/of Java?
  • Wat voor projecten hebben zij gemaakt met Groovy en/of Java? Hoeveel (webapplicaties, gedistribueerde systemen, tooling, DSL's, enz.)?
  • Aan welke versie van Groovy hebben ze gewerkt?
  • Aan welke softwareontwikkelingsprojecten hebben zij, meer in het algemeen, gewerkt (ook in andere technologieën)?

Deze vragen zullen u helpen om het niveau van professionele ervaring van de ontwikkelaar met Groovy en/of Java te bepalen. Hoe meer ervaring, en ervaring in projecten die lijken op het project waarvoor u werft, moet als een voordeel worden beschouwd.

Als iemand geen ervaring heeft met Groovy, maar wel met andere technologieën, kan hij of zij ook geschikt zijn, op voorwaarde dat hij of zij snel kan leren.

5.2 Vragen over de kennis en meningen van de kandidaat

  • Wat zijn de belangrijkste kenmerken van Groovy?
  • Wat zijn de belangrijkste verschillen tussen Groovy en Java?
  • Wat zijn enkele goede Groovy praktijken bij het gebruik van de taal?
  • Waar moet ik op letten als ik met Groovy werk?

Aan de hand van deze vragen kunt u nagaan hoe goed de kandidaat de technologie kent en of hij op de hoogte is van de meest voorkomende problemen en valkuilen.

5.3 Gedragsvragen die u moet stellen om te begrijpen hoe de kandidaat in het verleden heeft gehandeld

  • Wat is je grootste programmeerprestatie? Waarom is het gebeurd? Hoe kun je het herhalen?

Deze vraag stelt de kandidaat in staat een succesverhaal te vertellen en kan de recruiter duidelijk maken of de kandidaat meer geïnteresseerd is in het oplossen van het probleem dan in het krijgen van lof.

  • Wat was je grootste probleem bij het programmeren? Waarom deed het zich voor? Hoe kunt u voorkomen dat het in de toekomst opnieuw gebeurt?

Deze vraag zal de kandidaat vragen om een persoonlijk dieptepunt te beschrijven, en zal de recruiter laten zien of de kandidaat zich op zijn gemak voelt om erover te praten. Bovendien kan uit deze vraag blijken of de kandidaat geïnteresseerd is in het oplossen van het probleem of in het afschuiven van de schuld.

  • Zou je een junior ontwikkelaar willen begeleiden? Waarom? Hoe zou je dat doen? Heb je ervaring met het begeleiden van andere mensen?

Zo kan de recruiter de belangstelling van de kandidaat peilen en nagaan welke zachte vaardigheden nodig zijn om kennis te delen.

Bekijk meer kwaliteiten van een goede ontwikkelaar.

Auteur - Olga Maciaszek-Sharma

Hoe Groovy ontwikkelaarsvaardigheden te screenen auteur Olga Maciaszek-SharmaOlga Maciaszek-Sharma is een Senior Software Engineer in het Spring Cloud Team bij Pivotal, waar ze voornamelijk werkt aan Spring Cloud Commons (Spring Cloud LoadBalancer), Spring Cloud Contract, Spring Cloud Netflix, en Spring Cloud Gateway. Ze heeft ervaring opgedaan tijdens het werken met microservices waar geavanceerde oplossingen werden gebruikt, maar ook met complexe legacysystemen, waarbij ze zowel nieuwe bedrijfsfuncties implementeerde als oplossingen die gericht waren op het verbeteren van het proces van continue implementatie en instelling van applicaties. Olga heeft ook bijgedragen aan verschillende andere OSS-projecten, waaronder JFairy, Jenkins Pipeline Plugin, Jenkins Stash Pull Request Builder Plugin en Java Gitlab Client. Voordat ze overstapte naar ontwikkeling, werkte ze meer dan 3 jaar als Quality Assurance Engineer, gespecialiseerd in testautomatisering.

Screen een Groovy ontwikkelaar: Groovy codering tests6. Technische screening van de vaardigheden van een Groovy-ontwikkelaar met behulp van een online-coderingstest

De grootste zorg die u bij de aanwerving van een Groovy-ontwikkelaar moet hebben, is of hij of zij over vlekkeloze coderingsvaardigheden beschikt. Groovy is een eenvoudige taal die het coderen vergemakkelijkt, maar zoals alle talen vereist het goede codeervaardigheden. Wat zeker is, een cv- en telefoonscreen zullen u helpen om door sommige van uw kandidaten te filteren. Het laatste wat u echter wilt, is een kandidaat uitnodigen voor een technisch gesprek om er vervolgens achter te komen dat hij of zij nooit de codeervaardigheden heeft gehad die u nodig hebt. Een nachtmerrie.

6.1 Welke Groovy online programmeertest moet je kiezen?

Bij het zoeken naar de juiste Groovy online programmeer test moet u ervoor zorgen dat het aan de volgende criteria voldoet:

  • De test weerspiegelt de kwaliteit van het verrichte professionele werk
  • De duur is niet te lang, maximaal één à twee uur
  • De test kan automatisch worden verstuurd en is ongecompliceerd van aard
  • De moeilijkheidsgraad past bij de capaciteiten van de kandidaat
  • De test gaat verder dan controleren of de oplossing werkt - hij controleert de kwaliteit van de code en hoe goed die werkt in randgevallen
  • Het staat zo dicht mogelijk bij de natuurlijke programmeeromgeving en geeft de kandidaat toegang tot relevante bronnen
  • Het geeft de kandidaat de kans om alle bibliotheken, frameworks en andere tools te gebruiken die hij regelmatig tegenkomt

6.2 DevSkiller kant-en-klare online Groovy ontwikkelaar coderingstoetsen

DevSkiller codeertests maken gebruik van onze RealLifeTesting™ methodologie om de werkelijke codeeromgeving waarin uw kandidaat werkt te weerspiegelen. In plaats van obscure algoritmen te gebruiken, vragen DevSkiller-tests kandidaten om applicaties of functies te bouwen. Ze worden volledig automatisch beoordeeld en kunnen overal ter wereld worden afgelegd. Tegelijkertijd heeft de kandidaat toegang tot alle bronnen die hij normaal zou gebruiken, inclusief bibliotheken, frameworks, StackOverflow, en zelfs Google.

Bedrijven gebruiken DevSkiller om kandidaten te testen met hun eigen codebase, waar ook ter wereld. Om het gemakkelijk te maken, biedt DevSkiller ook een aantal kant-en-klare Groovy codeertests aan, zoals degene hier:

Spring Boot
JUNIOR
Geteste vaardigheden
Duur
54 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Java, Spring Boot

Code leemtes

beoordeling van kennis van Java

Programmeer taak - Niveau: Gemakkelijk

Java | Spring Boot | HATEOAS Bike Station - Voltooi de implementatie van HATEOAS naar de REST API.

Groovy
MIDDEN
Geteste vaardigheden
Duur
40 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Groovy, Java

Programmeeropdracht - Niveau: Medium

Java | Groovy | Flight manager app | Seats reservation and flights analysis - Implementeer ontbrekende functies van de vluchten 'data management applicatie, zoals zitplaatsen reserveren en vluchten analyse.

Java Script
MIDDEN
Geteste vaardigheden
Duur
80 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Programmeeropdracht - Niveau: Medium

Java: Vluchtenmanager. Implementeer een applicatie die verantwoordelijk is voor het beheer van vluchtgegevens.

Programmeeropdracht - Niveau: Medium

JavaScript | React | Contact Form - Optimaliseer het invulformulier voor gebruikers van de site

Java
MIDDEN
Geteste vaardigheden
Duur
55 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Java standaard-API

Programmeeropdracht

Vluchten manager applicatie, kandidaat moet twee bedrijfsmethoden implementeren voor het vinden van vluchten tussen twee steden en het genereren van een stoelenlijst voor een vliegtuig. Vereist Java kennis.

Java
JUNIOR
Geteste vaardigheden
Duur
45 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Java standaard-API

Programmeeropdracht

Vluchten manager applicatie, kandidaat moet twee business methodes voor het vinden van vluchten en het reserveren van een stoel die basiskennis vereist over implementeren Java

Post delen

Meer informatie over het inhuren van tech

Abonneer u op onze Learning Hub en ontvang nuttige inzichten rechtstreeks in uw inbox.

Verifieer en ontwikkel coderingsvaardigheden naadloos.

Zie DevSkiller producten in actie.

Beveiligingscertificeringen & naleving. Wij zorgen ervoor dat uw gegevens veilig en beveiligd zijn.

DevSkiller logo TalentBoost logo TalentScore logo