Negli ultimi otto anni ho lavorato come project manager (senza scrivere codice al lavoro), il che ha avuto un impatto negativo sul mio background tecnologico. Ho deciso di ridurre il mio divario tecnologico e diventare un Data Engineer. La competenza principale di un Data Engineer è la capacità di progettare, costruire e mantenere data warehouse.
Ho creato un piano di studi che penso sarà utile non solo per me. Il piano è incentrato sullo studio autonomo dei corsi, dando priorità ai corsi gratuiti in lingua russa.
Sezioni:
- Algoritmi e strutture dati. Sezione chiave. Se la padroneggi, tutto il resto seguirà. È importante praticare la scrittura di codice e utilizzare le principali strutture e algoritmi.
- Database e data warehouse, Business Intelligence. Dagli algoritmi passiamo alla memorizzazione e all'elaborazione dei dati.
- Hadoop e Big Data. Quando la base non entra nel disco rigido, o quando i dati devono essere analizzati, ma Excel non può più caricarli, inizia il grande data. A mio avviso, bisogna passare a questa sezione solo dopo aver approfondito le due precedenti.
Algoritmi e strutture dati
Nel mio piano ho incluso lo studio del Python, il ripasso delle basi di matematica e algoritmi.
Basi di dati e archiviazione, Business Intelligence
- Libro: Martin Kleppmann — Applicazioni ad alto carico. Programmazione, scalabilità, manutenzione. Il libro descrive come funzionano diversi modelli di dati, la loro implementazione interna, le limitazioni e le scelte in base al compito.
I temi legati alla costruzione di data warehouse, ETL, cubi OLAP dipendono fortemente dagli strumenti, quindi in questo documento non fornisco riferimenti a corsi. È importante studiare tali sistemi quando si lavora su un progetto specifico in una specifica azienda. Per familiarizzare con l'ETL, puoi provare o .
A mio avviso, è fondamentale studiare la moderna metodologia di progettazione dei data warehouse Data Vault , . E il modo migliore per apprenderlo è prendere un esempio semplice e implementarlo. Su GitHub ci sono alcuni esempi di implementazione di Data Vault. . Un libro moderno sui data warehouse: Modeling the Agile Data Warehouse with Data Vault di Hans Hultgren.
Per familiarizzare con gli strumenti di Business Intelligence per gli utenti finali, puoi utilizzare il costruttore di report, dashboard e mini data warehouse gratuito Power BI Desktop. Materiali didattici: , .
Hadoop e Big Data
- Inizia con l'implementazione autonoma di MapReduce senza librerie esterne. Questo ti permetterà in futuro di comprendere meglio le implementazioni multithreading. Un eccellente esempio in Python è descritto .
Conclusione
Non tutto ciò che si studia può essere applicato nel lavoro. Pertanto, è necessario un progetto di diploma in cui proverai ad applicare le nuove conoscenze.
Nel piano non ci sono argomenti legati all'analisi dei dati e al Machine Learning, poiché questi appartengono maggiormente alla professione di Data Scientist. Inoltre, non ci sono temi legati ai cloud AWS, Azure poiché queste tematiche dipendono fortemente dalla scelta della piattaforma.
Domande alla comunità:
Quanto è adeguato il mio piano di sviluppo? Cosa togliere o aggiungere?
Quale progetto consiglieresti come lavoro di diploma?
Fonte: habr.com
