Torbjorn Zetterlund

Fri 19 2021
Image

Data Engineering Roadmap för 2021

by bernt & torsten

Kanske är det sexsiffriga löner, möjligheten att arbeta med cool teknik eller att folk äntligen lär sig att datateknik är där allt börjar inom dataområdet. Oavsett orsaken märker folk.

VC:er investerar i datalagrings- och intagsplattformar och företag intervjuar fler dataingenjörer jämfört med tidigare år.

Men hur blir man dataingenjör? Jag kommer att ge stegen för hur du kan gå från 0 till dataingenjör med en kombination av gratiskurser såväl som betalda som kan hjälpa dig att få de färdigheter du behöver för att bli dataingenjör.

Men innan vi går in i det, låt oss se till att du vet vad en dataingenjör är.

Vad är datateknik

Dataingenjörer flyttar, omarbetar och hanterar datamängder från 10-tals om inte 100-tals företagsinterna applikationer så att analytiker och datavetare inte behöver lägga sin tid på att ständigt dra datamängder.

De kan också skapa ett kärnlager av data som låter olika datakällor ansluta till det för att få mer information eller sammanhang.

Dessa specialister är vanligtvis de första som hanterar data. De bearbetar data så att den är användbar för alla, inte bara för systemen som lagrar den.

Det finns uppenbara skäl att bli dataingenjör – som en hög lön och många möjligheter på grund av begränsad konkurrens på arbetsmarknaden – men vi fokuserar inte på dem idag. Fundera istället på följande tankar, som är lite mer relevanta för arbetsbeskrivningen.

Nu innan vi går för långt med denna datateknik färdplan. Vi måste svara på en mycket viktig fråga.

Är datateknik något för dig?

För det har jag satt ihop en video som kan hjälpa dig.
Det kommer förhoppningsvis att ge dig lite sammanhang om datateknik och om du skulle vilja göra det i framtiden.

Om du fortfarande är här, låt oss bryta ner färdplanen för att bli en dataingenjör.

Bygg din bas (SQL, kodning, Linux)

Innan du går djupt in på detaljerna inom datateknik behöver du en solid bas.

Det kan vara frestande att börja lära sig några av de koncept och färdigheter som ligger längre i linje med distribuerad datoranvändning eller streaming. Men det är som att lära sig ord och meningar innan du lär dig vad bokstäver är.

Det är därför du måste börja med SQL, programmering och någon form av grundläggande server/Linux.

Du måste kunna prata med datorer på deras språk och dessa tre färdigheter hjälper dig att förstå hur du kommunicerar med datorer från olika lager.

Att bygga denna solida grund kommer att säkerställa att du minskar dina framtida inlärningskurvor eftersom för att interagera med många av de andra tekniska komponenterna måste du förstå någon form av programmeringsspråk eller grunderna i kommandoraden.

Att lära sig grunderna i termer av servrar som SFTP, brandväggar, PGP och andra tekniska komponenter kommer också att räcka långt.

Testa att bygga ditt första projekt – bygga ett Flask API

Du kommer att behöva interagera med API:er dagligen om du blir dataingenjör. Antingen för att automatisera processer eller dra data. På det sättet är att bygga ett API ett bra första projekt eftersom det kommer att tvinga dig att använda flera lager av teknik.

Du kommer att behöva förstå begrepp som portar, HTTP-förfrågningar, kodning, kommandorad, och om du verkligen vill göra det intressant, kanske till och med leka med molnet genom att snurra upp en virtuell dator för att köra ditt API från.

Men det är ett sträckmål. Låt oss börja lätt.

Flask är ett fantastiskt pythonbibliotek som du snabbt kan snurra upp ett API på nolltid. Men jag förväntar mig inte att du bara vet hur du bygger ditt första API.

Lär dig mer om datalager och datapipelines (ETL, ELT och EL)

När du tittar på kunskapsuppsättningarna för dataingenjörer, mjukvaruingenjörer och datavetare, finns det mycket cross-over.

Alla tre brukar använda Python, både datavetare och dataingenjörer brukar använda SQL ganska hårt och alla tre förlitar sig till viss del på en viss förståelse för Linux.

Så vad skiljer dataingenjörer åt?

En av de stora skillnaderna är fokus på datalager och datapipelines.

Men vad är dessa?

Datalager och datapipelines är begrepp som dataingenjörer behöver förstå. De är brödet för alla bra dataingenjörer.

Datalager och datapipelines. Åtminstone för att börja.

Datalager och datapipelines är begrepp som dataingenjörer behöver förstå. De är brödet för alla bra dataingenjörer. Lyckligtvis finns det massor av resurser som täcker dessa begrepp.

Om du behöver gå den betalda vägen för annars kommer du inte att ta lärandet på allvar. Kolla sedan in Grunderna för Data Warehousing Udemy.

Dessa kombinerade bör täcka de flesta av de konceptuella grunderna. Naturligtvis, nu måste vi tillämpa det.

Bygg ditt andra projekt — Tillämpa kodning och datalagring

Nu när du har lärt dig om datapipelines och datalager skulle det vara en bra idé att tillämpa denna kunskap.

Så låt oss bygga ditt andra projekt för att befästa den kunskapen. Låt oss sikta på att implementera dessa fyra koncept nedan.

  • Skrapa en onlinedatakälla
  • Lagra krypterad data i SFTP
  • Skapa dimensionsmodell


Dra data från SFTP och ladda in i Data Warehouse (Oroa dig inte för mycket om arbetsflöden ännu)

Vid det här laget kommer detta att föra samman många av de färdigheter du har lärt dig. Oavsett om det handlar om PGP-kryptering, SFTP eller datamodellering.

Allt detta kommer att förbättra dina övergripande färdigheter och ge någon form av slutprojektet.

Lär dig om testning

Du kanske aldrig ens har lärt dig om att testa i skolan eller kanske du hade den där kursen som hade en enhet under en vecka som precis började röra vid testytan.

Nu i en värld där QA ingenjörer är få är långt emellan och testning är bara en del av CI/CD-processen.

Du måste veta hur man skriver testfall.

Du måste veta skillnaden mellan enhetstester och integrationstester.

För att göra det har Udemy en fantastisk kurs i testdriven utveckling.
Kolla in TDD Course Like Unit TDD For Python

Moln och NoSQL

Vid det här laget har du förmodligen redan gjort lite på molnet och kanske till och med lekt med en NoSQL-databas.

Men låt oss avrunda den kunskapen.

Hur? Tja, det finns några bra alternativ när det gäller att avrunda kunskap. Till exempel, nu tycker jag att det skulle vara ett bra tillfälle att ta ett certifikatprogram.

Jag tycker inte ofta att certifikat är användbara förrän du har lite erfarenhet eftersom jag tycker att certifikat ofta hjälper till att fylla i kunskapsluckor om ett visst ämne.

Ett bra certifikat för dataingenjörer är Google Data Engineer Certificate.

Strömmande och distribuerade system

Det finns så många sätt att behandla data i den moderna världen. Ännu viktigare, att använda mer komplexa system som strömmande eller distribuerade system är så mycket enklare än det någonsin har varit.

Du kan skapa en helt hanterad tjänst på AWS eller GCP och du är iväg till tävlingarna. Du behöver inte snurra upp 5 andra tjänster bara för att försöka bråka och hantera ditt streamingsystem.

Börja studera för intervjuer

Vid något tillfälle måste du gå ut i den verkliga världen och försöka intervjua.

För det har jag satt ihop en datateknisk intervjuguide. Den här guiden hjälper dig att bryta ner vad du behöver studera och ger frågorna så att du inte behöver slösa tid på att googla.

Bygg ditt tredje projekt

Vid denna tidpunkt i ditt lärande bör du ha en bred kunskap om färdigheter. Du bör känna till distribuerade system, streaming, programmering, API:er och så mycket mer.

Så ta nu all den kunskapen och tillämpa den.

Lär dig tillräckligt med UI/UX och Dashboarding

Sanningslöst är UI/UX inte alltid nödvändigt för dataingenjörer. Men för några av er där ute kommer ni att bli kära i att designa instrumentpaneler och visa data.

Och generellt sett kommer det alltid att finnas ett behov av att åtminstone bygga en tillräckligt bra instrumentpanel. Så ta en stund att lära dig denna färdighet.

Vid denna tidpunkt i ditt lärande har du förmodligen hittat områden du tycker om. Kanske gillade du distribuerad datoranvändning eller att sätta ihop ett API.

Ta reda på vad du tycker om att lära dig om och lär dig mer. Teknik är bra på det sättet i den meningen att det är en överfull uppsättning lärdomar. Det finns alltid mer att gräva i, alltid koncept, teknologier, designpraxis som du inte vet något om.

Så gå och lär dig.

Ge dig själv utrymme att växa

Att lära sig är en process och det ska vara både roligt och frustrerande. När du fastnar, slå inte dig själv. Revel för tillfället. För när du väl löser det problemet är det borta.

Du får en kort stund av spänning och dopamin för att lösa gåtan, men sedan finns det bara ytterligare en gåta att lösa.

Ytterligare en bugg att fixa.

Om du har kommit så långt i din inlärning har du antagligen kommit förbi “Hello World”-fasen. Men om du minns, det var något magiskt med första gången du fick kod att köra.

Läs/titta på dessa härnäst

Share: