Waarom moet u weten over frameworks en bibliotheken? Als IT-recruiter is het niet voldoende dat u alleen de namen van bepaalde programmeertalen kent – u moet ook de basis begrijpen van hoe software wordt gemaakt. Als het gaat om het bouwen van productiesoftware, zijn er twee zeer belangrijke factoren waarmee u rekening moet houden: ten eerste wordt de ontwikkeling van applicaties steeds complexer. Ten tweede proberen programmeurs altijd efficiënter te zijn in hun werk. Als gevolg hiervan moet elk team van programmeurs beslissen of ze een applicatie willen bouwen met behulp van een framework of een softwarebibliotheek (of meerdere bibliotheken). Om dezelfde reden moet u weten welke bibliotheken en frameworks relevant zijn voor de specifieke functie waarvoor u rekruteert. Zoals je kunt vinden de ontwikkelaars die het meest geschikt zijn voor de baan. Als u volledig begrijpt hoe programmeertalen, frameworks en bibliotheken samenwerken, kunt u zich echt onderscheiden van uw collega’s (en voelt u zich ook zekerder als u “over technologie” praat met kandidaten. Wat is het verschil tussen een framework en een bibliotheek? Het belangrijkste verschil zit hem in de vraag wie bepaalde sleutelactiviteiten in het softwarecreatieproces controleert (en wanneer de software echt werkt). Wanneer een ontwikkelaar bijvoorbeeld een functie uit een bibliotheek gebruikt, heeft hij de controle – met andere woorden, de code van de ontwikkelaar heeft volledige controle over de reeks gebeurtenissen. In het geval van een framework wordt de richting van controle echter omgekeerd (dit wordt inversie van controle genoemd) omdat het framework de ontwikkelaar bestuurt – in dit geval bestuurt het framework de code van de ontwikkelaar. In zekere zin werkt het raamwerk op dezelfde manier als het zogenaamde Hollywood-principe: “Bel ons niet, we bellen je.” Dus wat zijn frameworks en bibliotheken? Wat is in het bijzonder het verschil tussen de twee? Wat is het doel van frameworks en bibliotheken? Zoals u waarschijnlijk weet, verandert de applicatiecode die door programmeurs is geschreven voortdurend naarmate de applicatie waaraan ze werken zich ontwikkelt. Kaders en bibliotheken zijn echter fundamentele bouwstenen die niet veranderen en worden gebruikt als de structuur van een bepaalde applicatie. Zowel bibliotheken als frameworks zijn ontworpen door programmeurs om de noodzaak om repetitieve taken steeds opnieuw uit te voeren te verminderen. Ze kunnen ook enige functionaliteit bieden zonder deze helemaal opnieuw te hoeven implementeren. Wat zijn bibliotheken in codering? Een bibliotheek is een verzameling functies waartoe een ontwikkelaar toegang heeft. De bibliotheek is gewoonlijk georganiseerd in zogenaamde “klassen”. Het hele idee van zo’n bibliotheek is dat deze code bevat die kan worden hergebruikt voor een specifiek doel in een specifiek domein. Op deze manier vereenvoudigt de bibliotheek specifieke taken door een set gemeenschappelijke functionaliteit te bieden. Ze zijn dan klaar voor gebruik in software. De meeste programmeertalen bieden bijvoorbeeld bibliotheken voor functionaliteit zoals het opmaken van tekenreeksen of het vastleggen van uitzonderingen die kunnen worden gegenereerd. Door de juiste bibliotheken te gebruiken, kunnen ontwikkelaars de hoeveelheid code die ze moeten schrijven verminderen. Tegelijkertijd hebben bekende bibliotheken goede documentatie en zijn ze getest. Daarom kunnen IT-specialisten in de meeste gevallen de bibliotheek beter gebruiken dan tijd en moeite te verspillen aan het schrijven, testen en documenteren van hun eigen code. Wat is een raamwerk bij het programmeren? Een raamwerk kan worden omschreven als een architectuur die de implementatie van software op een overzichtelijke manier faciliteert. Zo’n structuur belichaamt een vooraf gedefinieerd abstract construct dat meer ingebouwd gedrag heeft dan een bibliotheek. In het framework is alle controlestroom al aanwezig waar ontwikkelaars hun eigen code kunnen plaatsen. Als resultaat definieert het raamwerk een skelet waarin de ontwikkelaars van een bepaalde applicatie hun eigen functies definiëren om dit skelet te vullen. Met andere woorden, een raamwerk kan worden gezien als een verzameling sjablonen en bibliotheken die programmeurs helpen bij het bouwen van applicaties. Aan de andere kant dicteert het framework ook de architectuur van de applicatie. Het zal bijvoorbeeld de algemene structuur, de indeling in klassen, de belangrijkste verantwoordelijkheden van de klassen en de interactie tussen objecten definiëren. Wanneer is het beter om een framework en bibliotheken te gebruiken? Zoals bij elk reëel probleem, is dit een complexe vraag die moeilijk van geval tot geval duidelijk te beantwoorden is. Een team met veel junior-ontwikkelaars is bijvoorbeeld misschien beter af met een raamwerk dat daarom een bepaalde structuur en bepaalde normen afdwingt en het team voorschrijft hoe het het product moet bouwen. Aan de andere kant kan een ervaren team dat werkt aan een applicatie die niet alledaags is en nichefunctionaliteit heeft, misschien beter een bibliotheek (of bibliotheken) gebruiken in plaats van een raamwerk, omdat het hen veel flexibiliteit en controle geeft. In extremere gevallen is het misschien zelfs nog beter voor een bepaald ontwikkelteam om software helemaal vanaf het begin te bouwen, zonder framework of bibliotheken. Waar moet je op letten bij het selecteren van kandidaten die bepaalde kaders en bibliotheken moeten kennen? Hier is een mini-FAQ over hoe programmeertalen, frameworks en softwarebibliotheken in de echte wereld worden gebruikt. Waar nodig hebben we ook enkele suggesties toegevoegd waar u op moet letten bij het selecteren van kandidaten. Vraag: Kunnen programmeurs een applicatie coderen zonder bibliotheek of framework, maar met alleen hun eigen code die helemaal opnieuw is geschreven? Antwoord: Ja, dat kan, maar het zal altijd langer duren. Vraag: Kunnen programmeurs een applicatie coderen met behulp van een framework plus een deel van hun eigen code? Antwoord: Ja, dat kunnen ze. Vraag: Kunnen programmeurs een applicatie programmeren met behulp van één bibliotheek (of meerdere bibliotheken) of een stukje van hun eigen code? Antwoord: Ja, dat kunnen ze. Vraag: Kunnen programmeurs hun eigen bibliotheek schrijven? Antwoord: Ja, en de meeste programmeurs doen dit als onderdeel van hun eigen werk. Dit is een van de beste manieren om elke vorm van duplicatie te voorkomen waar alle ontwikkelaars een hekel aan hebben. Ze besluiten soms om bibliotheken vrij te geven aan de gemeenschap die bijzonder nuttig zijn gebleken. Als recruiter is het de moeite waard om kandidaten te vragen of ze zoiets open source hebben gedaan. Vraag: Kunnen programmeurs een applicatie coderen met een framework plus één bibliotheek (of meerdere bibliotheken) plus hun eigen code? Antwoord: Ja, dat kunnen ze. Als het ontwikkelingsteam al bekend is met het raamwerk en de bijbehorende bibliotheken, en een bepaald raamwerk goed geschikt is voor het gebied waarin de nieuwe software zal werken, dan is deze benadering waarschijnlijk het meest effectief en efficiënt. Dit betekent dat u bij het werven op zoek bent naar ontwikkelaars die al bekend zijn met de frameworks en bibliotheken die uw team momenteel gebruikt. Vraag: Is het mogelijk dat de bibliotheek verouderd is? Antwoord: Ja, maar het is onwaarschijnlijk dat dit gebeurt met een bekende bibliotheek die aanzienlijke functionaliteit biedt. Vraag: Is het mogelijk dat het raamwerk verouderd is? Antwoord: Ja, en dit is een van de mogelijke nadelen van het gebruik van een raamwerk. Frameworks komen en gaan, en zelfs als een framework al heel lang populair is, kan elk framework drastisch veranderen van de ene hoofdversie naar een andere hoofdversie. Natuurlijk proberen de makers van populaire frameworks dergelijke veranderingen te beperken, maar het kan en zal gebeuren. U moet proberen op zijn minst op de hoogte te zijn van belangrijke veranderingen binnen het kader dat door uw team wordt gebruikt. Vraag: Kunnen programmeurs hun eigen framework creëren? Antwoord: ja. Nadat een team van programmeurs klaar is met het maken van een nieuw type software, is het vrij gebruikelijk dat ze, op basis van hun specifieke ervaring, later een structuur creëren die is ontworpen om het mogelijk te maken om een vergelijkbaar type software te maken op een manier die aanzienlijk efficiënter is. Het is een goed idee om het cv te bekijken en de ervaring van de kandidaat te zien. Conclusie Als IT-recruiter is het erg belangrijk dat je kandidaten niet alleen selecteert op het gebied van programmeertalen, maar ook op het gebied van frameworks en bibliotheken.
|
https://www.globalrecruitment.info/ |