How to Data Engineer

Freelance opdracht

 

Ontwikkel je vaardigheden als data engineer

Data engineers hebben een aanzienlijke set technische vaardigheden nodig om hun zeer complexe taken uit te voeren. Het is echter erg moeilijk om een gedetailleerde en uitgebreide lijst van vaardigheden en kennis op te stellen die essentieel zijn om te slagen in een data engineering functie.

Het data science ecosysteem evolueert namelijk snel en er verschijnen steeds nieuwe technologieën en systemen. Dit betekent dat data engineers voortdurend moeten bijleren om gelijke tred te houden met technologische doorbraken. Ontdek hieronder alvast enkele tips om je cv aan te vullen.

Ken je database management

Data engineers besteden een aanzienlijk deel van hun dagelijkse werk aan het beheren van databases, om gegevens te verzamelen, op te slaan, over te dragen, op te schonen of gewoon te raadplegen. Een goede kennis van databasemanagement is dan ook een must.

Dit betekent dat ze vlot met SQL moeten kunnen omgaan en expertise moeten hebben met enkele van de populairste SQL-dialecten, waaronder MySQL, SQL Server en PostgreSQL. Naast deze relationele databases moeten ook NoSQL (“Not only SQL”) databases tot de expertise van data engineers horen. Die worden immers snel de go-to systemen voor Big Data en real-time toepassingen.

Leer enkele programmeertalen

In de afgelopen jaren zijn gedistribueerde systemen alomtegenwoordig geworden binnen data science. Een gedistribueerd systeem is een computeromgeving waarin verschillende componenten verspreid zijn over meerdere computers (ook bekend als een cluster) in een netwerk.

Gedistribueerde systemen verdelen het werk over de cluster en coördineren de inspanningen om de taak efficiënter uit te voeren. Gedistribueerde rekenframeworks, zoals Apache Hadoop en Apache Spark, zijn ontworpen voor het verwerken van enorme hoeveelheden gegevens en vormen de basis voor enkele van de meest indrukwekkende Big Data toepassingen. Enige expertise in een van deze frameworks is een must voor elke aanstaande data engineer.

Kennis van een van de volgende programmeertalen helpt je bij het gebruik van bovenstaande frameworks: python, java, scala, R (hoewel meer voor data science). Het spark framework is voornamelijk gebouwd op java, maar er is ook PySpark als pythoniaans alternatief. Zowel python als scala kunnen worden gezien als functionele programmeertalen die uitblinken in parallelle verwerking.

Lees ook: Wat zijn populaire programmeertalen in data engineering?

Ontwikkel je kennis van cloudtechnologie

Met de opkomst van diensten als Amazon Web Services (AWS), Azure en Google Cloud kan de hele gegevensworkflow plaatsvinden in de cloud. Ze maken het opzetten van infrastructuur zo eenvoudig dat elke ontwikkelaar zijn eigen infrastructuur kan opstarten.

De tijd van speciale infrateams is voorbij, elke ontwikkelaar zou in staat moeten zijn om eenvoudige applicaties op te starten. Hoewel CI/CD, versiebeheer zoals Git en infrastructure as code gezien kunnen worden als specifieke verantwoordelijkheden voor devops, kan een engineer hieraan bijdragen.

Daarom moet een goede data engineer kennis hebben van en ervaring hebben met cloud data engineering: het gebruik van cloud services, hun voor- en nadelen en hun toepassing in Big Data projecten. Je moet op zijn minst bekend zijn met een platform als AWS of Azure, omdat die het meest wijdverspreid zijn.

Doe praktische kennis op van ETL frameworks

Een van de belangrijkste taken van data engineers is het maken van datapijplijnen met ETL-technologieën en orchestration frameworks. Een data engineer moet de bekendste kennen of er vertrouwd mee zijn, zoals Apache Airflow en Apache NiFi. Airflow is een orchestration framework en een open-source tool voor het plannen, genereren en volgen van datapijplijnen. NiFi is perfect voor een basic, herhaalbaar big data ETL-proces.

Leer meer over stream processing frameworks

Sommige van de meest innovatieve data science toepassingen maken gebruik van real-time gegevens. Als gevolg hiervan stijgt de vraag naar kandidaten die bekend zijn met stream processing frameworks. Daarom is het leren gebruiken van streaming processing tools zoals Flink, Kafka Streams of Spark Streaming een goede stap voor data engineers die hun carrière naar een hoger niveau willen tillen.

Waak over datakwaliteit

Naast het laden en verwerken van data in welke vorm dan ook, mag een data engineer zich niet laten afleiden door het valideren van de datakwaliteit van zijn eindproduct. Het is van essentieel belang om de datakwaliteit te bewijzen voor je stakeholders, omdat je het vertrouwen verliest als de kwaliteit niet voldoende is.

Als je transparant bent over hoe je de datakwaliteit kunt aantonen en valideren, krijg je alleen maar het vertrouwen van je klanten. Wil je je stakeholders proactief kunnen informeren over een probleem? Zorg er dan voor dat je alle gegevens hebt opgenomen door geaggregeerde KPI’s tussen bron en doel te vergelijken. Of voer systeemcontroles uit op het elk uur hebben van verse gegevens (waar je het 24/7 verwacht). Zo ben je best voorbereid op onaangename verrassingen.

Werk aan je data engineer portfolio

De volgende stap om data engineer te worden, is werken aan een aantal projecten die je vaardigheden en begrip van kernonderwerpen aantonen.

Data engineering zonder werkervaring

Er zijn maar weinig universiteiten en hogescholen die een opleiding tot data engineer aanbieden. Data engineers hebben meestal een achtergrond in Data Science of software engineering. Een manier om je kennis te vergroten is het behalen van een cloudcertificaat zoals de DP-203.

Sommige bedrijven houden van certificaten, andere minder. Certificaten zijn niettemin belangrijk, omdat ze bewijzen dat je bepaalde kennis beheerst en ook enige theoretische achtergrond hebt. Ik geloof wel dat werkervaring in veel gevallen de certificaten overtreft.

Een ander probleem dat ik tegenkwam als Junior Data Engineer die probeerde te oefenen om ervaring op te doen, was het omgaan met de kosten van het draaien van zelfs eenvoudige databases in de cloud. Hoewel veel bedrijven gratis tier resources aanbieden, kan het draaien van echte data engineering pipelines die beperkingen soms overschrijden. Gelukkig kreeg ik dankzij de steun van Juvo toegang tot resources die verder gingen dan de gratis tier-beperkingen, zodat ik met data kon spelen als een echte data engineer.