Het all-round profiel van de moderne data engineer
Essentiële vaardigheden en teamstructuren voor effectieve data engineering
- Artikel
- Data Engineering
- Analytics Engineering
Sinds de opkomst van big data zijn veel elementen van de moderne datastack de verantwoordelijkheid geworden van data engineers. Wat zijn deze elementen en hoe moet je je datateam samenstellen?
De geschiedenis
De term 'data engineer' werd in het leven geroepen door grote techbedrijven aan het begin van de jaren 2010, toen data 'big data' werd. De term werd gebruikt voor software engineers die gespecialiseerd waren in het bouwen van data pipelines. Een paar jaar eerder, toen Hadoop voor het eerst werd uitgebracht, werd de term 'Big Data Engineer' geïntroduceerd in de industrie. Rond dezelfde tijd bracht Amazon als eerste zijn clouddienst Amazon Web Services (AWS) uit. In de loop der tijd zijn de meeste dataplatforms naar de cloud verhuisd en draaien ze meestal op AWS, Azure of Google Cloud Platform (GCP).
De data engineer is de allround engineer geworden voor het bouwen van dataplatforms in de cloud. In het begin werd de term vooral gebruikt voor engineers die data pipelines bouwden, en na verloop van tijd ook voor het bouwen van de platforms. Toen de wereld van big data volwassener werd en naar de cloud verhuisde, werd kennis over CI/CD en cloudomgevingen aan de stack toegevoegd.
De skills van een moderne data engineer
Welke skills worden verwacht van een moderne data engineer?
De volgende vereisten komen vaak voor in een vacature voor data engineering:
- Programmeren: veelal Python, soms Scala of andere programmeertalen. Vaak Object Georiënteerd-Programmeren (OOP), waaronder het schrijven van tests, code performance, versiebeheer etc.
- CI/CD: Het configureren van je pipelines, het opzetten van build agents, het opslaan van artefacten en/of containers, het uitvoeren van tests, het uitrollen van applicaties en infrastructuur.
- Cloud: Kennis van meerdere cloudomgevingen, gebruikers- en identiteitsbeheer, infrastructure as code, cloudfuncties en andere computerdiensten, orkestratie, wachtrijen, databases.
- Databases en datawarehousing: Queryen van SQL, noSQL, bouwen van datalagen in datawarehouses (dbt), datamodellering en databaseprestaties.
- Infrastructuur: Het draaien en inzetten van infrastructure as code, netwerken, inzet en onderhoud van Kubernetes.
- Architectuur: Ontwerpen en evalueren van architecturen, soms in samenwerking met solution architecten.
- Data science en analyse: kennis over machine learning lifecycle management, dashboarding.
Deze lijst is vrij uitgebreid. In de praktijk hebben alleen senior engineers een uitgebreid begrip van al, of zelfs de meeste van deze elementen.
Een nieuwe standaard
Als we het parallel zouden trekken met software engineering, dan zouden tests geschreven kunnen worden door een gespecialiseerde tester en zouden de meeste ontwikkelaars zich richten op één deel van de stack. Frontend', 'backend' of 'mobile', bijvoorbeeld. In de wereld van data-engineering is 'full stack' vaak de standaard. We zien op het gebied van data echter ook meer gespecialiseerde rollen ontstaan, zoals DevOps engineers of platform engineers.
T-shaped profiles
Het is moeilijk om een team te vormen van professionals die allemaal het allround profiel hebben zoals hierboven beschreven. In plaats daarvan adviseren we om een team samen te stellen van T-shaped profiles, die allemaal complementaire kennis hebben op specifieke gebieden, maar toch een goed abstract begrip hebben van de gehele stack.
Houd daarbij de volgende overwegingen in gedachten:
Teamgrootte
Een groot team zal meer ruimte hebben voor gespecialiseerde rollen die deel uitmaken van de data engineering stack, zoals een DevOps engineer of een Python programmeur. Kleinere teams zullen moeten vertrouwen op allround profielen, omdat minder mensen verantwoordelijk worden voor grotere delen van de stack.
Complexiteit
Een gecompliceerde tech stack, bedrijfs- en/of IT-omgeving zal extra vraag creëren naar gespecialiseerde functies. Bij gecompliceerde bedrijfslogica kan het bijvoorbeeld nodig zijn om een analytics engineer in te schakelen voor het ontwerpen en ontwikkelen van de datalagen in een datawarehouse.
Verwachtingen
Dan blijft nog steeds de vraag waarom de rol van data engineer is uitgegroeid tot zo veel verwachtingen.
Dit is een moeilijke vraag om te beantwoorden, maar we verwachten dat het te maken heeft met de volgende twee factoren:
- Het is steeds eenvoudiger geworden om resources op te zetten binnen cloudomgevingen met behulp van Infrastructure as Code. Een voorbeeld: met een paar regels code kun je een platform opzetten, waarbij een heel netwerk voor je wordt uitgerold. Zonder dat je het expliciet hoeft te vermelden, ben je bezig met het implementeren en onderhouden van een netwerk voor de datapijplijnen die je wilt draaien.
- Het vakgebied data is nog relatief nieuw vergeleken met IT en software engineering. Naarmate het vakgebied volwassener wordt, krijgen (aanwervende) managers meer kennis over specifieke rollen, teamstructuren en verantwoordelijkheden kunnen na verloop van tijd veranderen.
Samenvatting
Het is belangrijk om je bewust te zijn van de verschillende subdomeinen die deel uitmaken van data engineering. Elke data engineer heeft een ander profiel, afhankelijk van interesse en ervaring. Voordat je iemand aanneemt, moet je weten welke delen van de technologiestack het meest relevant zijn voor je team en welke kennis er op dit moment ontbreekt.
Ben je geïnteresseerd in advies over het opzetten van je datateam? Of wil je expertise van een data engineer binnen jouw organisatie? Wij helpen je graag!
We zijn ook op zoek naar data engineers die ons team willen versterken! Bekijk de vacature hier.
Dit is een artikel van Oskar van den Berg, Data Engineering Consultant, Digital Power
Oskar begon al op 10-jarige leeftijd met het ontwikkelen van zijn eigen websites. Gedurende zijn carrière legde hij zich steeds verder toe op het gebied van Data Engineering. Via Digital Power werkt hij voor grote klanten zoals De Nederlandsche Bank en ASML.
Data Engineeroskar.vandenberg@digital-power.com
1x per maand data insights, praktijkcases en een kijkje achter de schermen ontvangen?
Meld je aan voor onze maillijst en blijf 'up to data':