Data Engineer o die: a storia di un sviluppatore

À u principiu di dicembre, aghju fattu un sbagliu fatale è hà fattu un puntu di svolta in a mo vita cum'è sviluppatore è si trasfirìu à a squadra di Data Engineering (DE) in a cumpagnia. In questu articulu, sparteraghju alcune osservazioni chì aghju fattu durante dui mesi di travagliu in a squadra DE.

Data Engineer o die: a storia di un sviluppatore

Perchè Data Engineering?

U mo viaghju in DE hà iniziatu in l'estiu di 2019, quandu avemu Xneg andemu à Scola di l'informatica distribuita, è quì aghju ottenutu l'illuminazione. Aghju cuminciatu à interessà à u tema, studià l'algoritmi è ancu per elli scrive, è dopu pensatu à u scopu di l'applicazione è hà scupertu rapidamente chì l'applicazione pratica in a nostra sucetà hè distribuita basa di dati.

Chì faci esattamente a nostra squadra? Avemu, cum'è tutti i picciotti è e donne di moda, vulemu diventà una Cumpagnia Data Driven. È per fà questu pussibule, avemu bisognu di almenu custruisce un stabilimentu di almacenamentu affidabile, chì pò esse usatu per custruisce qualsiasi rapporti chì a cumpagnia hà bisognu. Ma u più impurtante hè chì i dati in questu almacenamentu deve esse fiducia. In più, cù sti dati, vi tocca à esse capaci di risturà u statu di u sistema à tempu t. Tuttu chistu hè cumplicatu da u fattu chì vivemu in un mondu bravu novu di microservizi, è sta ideologia implica chì ogni serviziu implementa a so propria piccula funziunalità, a so basa di dati hè a so propria attività, è pò sguassà almenu ogni ghjornu, ma à u ghjornu. u listessu tempu ci vole à esse capaci di riceve è prucessu u statu di u serviziu.

Se vulete esse Data Driven, prima diventa Event Driven

Micca cusì simplice. L'avvenimenti sò diffirenti, è u sviluppatore è l'ingegnere di dati li guardanu in modu diversu. Parlà di l'avvenimenti hè un tema per un articulu separatu, cusì ùn entreraghju micca quì. Inoltre, un tali articulu hà digià hà scrittu un certu Martin Fowler, ùn li piglieraghju micca i so allori, ch'ellu sia ancu famosu.

In generale, ci hè assai di pensà è hè per quessa chì sta zona hè attrattiva. Succede chì in a nostra cumpagnia, un Data Engineer hè un spaziu di rispunsabilità assai più largu cà solu una persona chì scrive pipeline ETL / ELT (se ùn sapete micca ciò chì significanu queste abbreviazioni, venite à incontru. Cum'è publicità contextuale).

Trattamu di l'architettura di almacenamento, di mudeli di dati, di prublemi ligati à a sicurità di e dati, è di i pipelines stessi, sicuru. Avemu ancu bisognu di assicurà chì, da una banda, a nostra prisenza ùn hè micca assai pesante per i sviluppatori di u produttu è anu da esse distractatu u più pocu pussibule da i nostri bisogni quandu tagliate novi funziunalità in u sistema, è da l'altra banda, avemu bisognu di furniscia li disposti convenientemente in dati di almacenamiento per l'analista è a squadra di BI. Hè cusì chì campemu.

Difficultà durante a transizione da u sviluppu

In u mo primu ghjornu di travagliu, aghju scontru una quantità di difficultà chì vogliu sparte cun voi.

1. U primu chì aghju vistu era l'absenza di tuling è qualchi pratiche. Pigliate, per esempiu, a cobertura di codice cù testi. Avemu centinaie di quadri di teste in sviluppu. Quandu u travagliu cù dati, tuttu hè più cumplicatu. Iè, pudemu pruvà pipelines ETL nantu à e dati di prova, ma avemu da fà tuttu manualmente è cercà suluzioni per ogni casu specificu. In u risultatu, a cobertura di teste hè assai peghju. Fortunatamente, ci hè un altru stratu di feedback in forma di surviglianza è logs, ma questu hè digià bisognu di reagisce in modu reattivu piuttostu cà proattivu, chì hè infuriante è inquietante.

2. U mondu da una perspettiva DE ùn hè micca in tuttu ciò chì pare à un sviluppatore di produttu ordinariu (bene, di sicuru, u lettore ùn hè micca cusì, è digià sapi tuttu, ma ùn sapia micca è avà aghju sguassatu. su). Cum'è sviluppatore, aghju creatu u mo propiu microserviziu, mette i dati in [base di dati di a vostra scelta], salvà u mo statu quì, uttene qualcosa per ID è va bè. U serviziu hè lentu, l'ordini sò cunfusi, questu hè tuttu. Mi dumandanu di circà u mo statu in un altru serviziu, cusì aghju da scaccià un avvenimentu in qualchi RabbitMQ è questu hè. È quì avemu torna torna à u prublema di l'avvenimenti descritti sopra.

Ciò chì u serviziu hà bisognu per u travagliu operativu ùn ci cunvene micca per i dati storichi, cusì a quistione di reworking cuntratti di serviziu è u travagliu strettu cù e squadre di sviluppu principia. Ùn pudete mancu imagine quante ore ci hà pigliatu per accunsentì: chì tipu di Event Driven hè in a nostra cumpagnia.

3. Avete bisognu di pensà cù a testa. Innò, ùn vogliu micca dì chì i sviluppatori ùn pensanu micca (ancu se quale sò per parlà per tutti), hè solu chì in u sviluppu di u produttu assai spessu avete digià qualchì tipu d'architettura, è avete tagliatu diversi shuffles da u backlog. Di sicuru, questu hè bisognu di pianificazione è pensamentu, ma questu hè u travagliu di flussu, induve u prublema principali hè solu di fà bè è efficace.

Per noi, ùn hè micca cusì simplice perchè u trasferimentu di diversi cumpunenti di u sistema da un monolitu caldu è accogliente in u mondu di a jungla salvatica di microservice ùn hè micca cusì simplice. Quandu u serviziu cumencia à spiegà l'avvenimenti, avete bisognu di ricunsiderà a logica per riempie l'almacenamiento, perchè i dati avà parenu diffirenti. Hè quì chì avete bisognu di pensà assai è bè, micca più cum'è sviluppatore, ma cum'è ingegnere di dati. Hè una storia normale quandu passate ghjorni cù un notebook è una penna o cù un marcatore à u tavulinu. Hè assai difficiule, ùn mi piace micca di pensà, mi piace ancu a produzzione.

4. Forsi u più impurtante hè l'infurmazioni. Chì facemu quandu ùn avemu micca cunniscenze? Quale hà dettu stackoverflow ? Pigliate sta persona fora di a stanza. Andemu à leghje documenti, libri nantu à u tema, è ci hè ancu una cumunità chì urganizeghja fori, incontri è cunferenze. A documentazione hè grande, ma sfurtunatamenti pò esse incompleta. Avemu aduprà Cosmos DB in una quantità di prughjetti. Bona furtuna per leghje a documentazione di stu pruduttu. I libri sò l'unica salvezza; per furtuna, esistenu è ponu esse truvati, cuntenenu assai cunniscenze fundamentali è avete da leghje assai è constantemente. Ma u prublema hè cù a cumunità.

Avà hè difficiule di truvà almenu una cunferenza o una riunione adatta in a nostra zona. Innò, sicuru, ci sò assai incontri cù a parolla Data, ma accantu à sta parolla ci sò generalmente abbreviazioni strane cum'è ML o AI. Dunque, questu ùn hè micca per noi, parlemu di cumu custruisce strutture di almacenamento, è micca cumu per smear noi stessi cù neuroni. Questi hipsters anu pigliatu tuttu. In u risultatu, simu senza una cumunità. A propositu, sè vo site un Ingegnere di Dati è cunnosci boni cumunità, per piacè scrivite in i cumenti.

Cunclusioni è annunziu di a riunione

Chì avemu a fine ? A mo prima sperienza mi dice chì u sensu in i scarpi di un ingegnere di dati serà utile per ogni sviluppatore. Ci permette solu di guardà e cose in modu diversu è ùn esse sorpresu quandu i nostri ochji sò insangrati quandu vedemu cumu i sviluppatori trattanu i so dati. Allora, s'ellu ci hè un DE in a vostra cumpagnia, basta à parlà cù questi ragazzi, amparate assai cose novi (circa sè stessu).

È infine, l'annunziu. Siccomu hè difficiule di truvà incontri nantu à u nostru tema durante u ghjornu, avemu decisu di fà u nostru. Perchè simu peggiu ? Per furtuna avemu un maravigghiusu Schvepsss è i nostri amichi da Laboratoriu di novi prufessiunali, chì, cum'è noi, sentenu chì l'ingegneri di dati sò ingiustamente privati ​​di l'attenzione.

Pigliendu sta opportunità, invitu tutti quelli chì s'interessanu à vene à a nostra prima riunione di a cumunità cù u titulu promettente "DE o DIE", chì averà da fà u 27.02.2020 di ferraghju XNUMX à l'uffiziu di Dodo Pizza. Dettagli à TimePad.

Sè qualcosa succedi, I Mulateri Di L'esse culà, vi pò dì à mè pirsunamenti a mo faccia quantu mi sò sbagliatu circa i sviluppori.

Source: www.habr.com

Add a comment