Datu inženieris vai mirst: viena izstrādātāja stāsts

Decembra sākumā es pieļāvu liktenÄ«gu kļūdu un pieņēmu pagrieziena punktu savā dzÄ«vē kā izstrādātājs un pārgāju uz Datu inženierijas (DE) komandu uzņēmumā. Å ajā rakstā dalÄ«Å”os ar dažiem novērojumiem, ko izdarÄ«ju divu mēneÅ”u laikā, strādājot DE komandā.

Datu inženieris vai mirst: viena izstrādātāja stāsts

Kāpēc datu inženierija?

Mans ceļojums uz DE sākās 2019. gada vasarā, kad mēs Xneg ejam uz Izkliedētās skaitļoÅ”anas skola, un tur es sasniedzu apgaismÄ«bu. Sāku interesēties par tēmu, pētÄ«t algoritmus un pat par tiem rakstÄ«t, un tad pārdomāja pielietojuma sfēru un ātri vien noskaidroja, ka praktiskais pielietojums mÅ«su uzņēmumā ir izplatÄ«tās datu bāzes.

Ko Ä«sti dara mÅ«su komanda? Mēs, tāpat kā visi modernie zēni un meitenes, vēlamies kļūt par uz datiem balstÄ«tu uzņēmumu. Un, lai tas bÅ«tu iespējams, mums ir vismaz jāuzbÅ«vē uzticama krātuve, kuru var izmantot, lai izveidotu jebkuras uzņēmumam nepiecieÅ”amās atskaites. Bet vissvarÄ«gākais ir tas, ka Å”ajā krātuvē esoÅ”ajiem datiem ir jāuzticas. Turklāt, izmantojot Å”os datus, jums ir jāspēj atjaunot sistēmas stāvokli laikā t. To visu sarežģī fakts, ka dzÄ«vojam drosmÄ«gā jaunā mikropakalpojumu pasaulē, un Ŕī ideoloÄ£ija paredz, ka katrs serviss ievieÅ” savu mazo funkcionalitāti, tā datu bāze ir savs bizness, un to var izdzēst vismaz katru dienu, bet plkst. tajā paŔā laikā mums ir jāspēj uztvert un apstrādāt pakalpojuma stāvokli.

Ja vēlaties būt uz datiem balstīts, vispirms kļūstiet par uz notikumiem balstītu

Nav tik vienkārÅ”i. Notikumi ir dažādi, un izstrādātājs un datu inženieris uz tiem skatās atŔķirÄ«gi. RunāŔana par notikumiem ir atseviŔķa raksta tēma, tāpēc es to Å”eit neiedziļināŔos. Turklāt Ŕāds raksts jau ir rakstÄ«ja: kāds Martins Faulers, es viņam laurus neatņemÅ”u, lai viņŔ arÄ« kļūst slavens.

Kopumā ir par ko domāt un tāpēc Ŕī teritorija ir pievilcÄ«ga. Tā nu ir sagadÄ«jies, ka mÅ«su uzņēmumā datu inženieris ir daudz plaŔāka atbildÄ«bas joma, nekā tikai cilvēks, kas raksta ETL/ELT konveijrus (ja nezināt, ko nozÄ«mē Å”ie saÄ«sinājumi, nāciet uz satikties. Kā kontekstuālā reklāma).

Mēs nodarbojamies ar krātuves arhitektÅ«ru, datu modelÄ“Å”anu, ar datu droŔību saistÄ«tiem jautājumiem un, protams, paÅ”iem konveijeriem. Mums arÄ« jāpārliecinās, ka, no vienas puses, mÅ«su klātbÅ«tne nav Ä«paÅ”i apgrÅ«tinoÅ”a produktu izstrādātājiem un viņus pēc iespējas mazāk jānovērÅ” mÅ«su prasÄ«bas, ievieÅ”ot sistēmā jaunas funkcijas, un, no otras puses, mēs analÄ«tiÄ·iem un BI komandai tie ir jānodroÅ”ina ērti glabāŔanas datos. Tā mēs dzÄ«vojam.

Grūtības, pārejot no attīstības

Savā pirmajā darba dienā es saskāros ar vairākām grūtībām, par kurām vēlos dalīties ar jums.

1. Pirmā lieta, ko es redzēju, bija tÅ«linga un dažu prakÅ”u trÅ«kums. Ņemiet, piemēram, koda pārklājumu ar testiem. Mums ir simtiem testÄ“Å”anas sistēmu izstrādes stadijā. Strādājot ar datiem, viss ir sarežģītāk. Jā, mēs varam pārbaudÄ«t ETL cauruļvadus uz testa datiem, taču mums tas viss ir jādara manuāli un jāmeklē risinājumi katram konkrētajam gadÄ«jumam. Tā rezultātā testa pārklājums ir daudz sliktāks. Par laimi, ir vēl viens atgriezeniskās saites slānis monitoringa un žurnālu veidā, taču tas jau liek mums reaģēt, nevis proaktÄ«vi, kas ir saÅ”utis un satraucoÅ”i.

2. Pasaule no DE perspektÄ«vas nepavisam nav tāda, kā liekas parastam produktu izstrādātājam (nu protams lasÄ«tājs nav tāds, un viņŔ jau visu zina, bet es nezināju un tagad skraidos to uz augÅ”u). Kā izstrādātājs es izveidoju pats savu mikropakalpojumu, ievietoju datus [datubāzē pēc jÅ«su izvēles], saglabāju savu stāvokli, iegÅ«stu kaut ko ar ID, un viss ir kārtÄ«bā. Pakalpojums ir lēns, pasÅ«tÄ«jumi ir mulsinoÅ”i, tas arÄ« viss. Viņi lÅ«dz man meklēt savu stāvokli citā pakalpojumā, tāpēc es iemetÄ«Å”u notikumu kādā RabbitMQ, un viss. Un Å”eit mēs atkal atgriezāmies pie iepriekÅ” aprakstÄ«to notikumu jautājuma.

Tas, kas dienestam nepiecieÅ”ams operatÄ«vajam darbam, mums neder vēsturiskajiem datiem, tāpēc sākas jautājums par pakalpojumu lÄ«gumu pārstrādi un cieÅ”u darbu ar izstrādes komandām. JÅ«s pat nevarat iedomāties, cik stundas mums vajadzēja, lai vienotos: kāds notikumiem viņŔ ir mÅ«su uzņēmumā.

3. Jādomā ar galvu. Nē, es nedomāju, ka izstrādātāji nedomā (lai gan kas es esmu, lai runātu par visiem), vienkārÅ”i produktu izstrādē ļoti bieži jums jau ir sava veida arhitektÅ«ra, un jÅ«s izgriežat dažādus sajaukumus no atpalicÄ«bas. Protams, tas prasa plānoÅ”anu un pārdomāŔanu, bet tas ir plÅ«smas darbs, kur galvenā problēma ir vienkārÅ”i to izdarÄ«t labi un efektÄ«vi.

Mums tas nav tik vienkārÅ”i, jo dažādu sistēmas komponentu pārneÅ”ana no silta un mājÄ«ga monolÄ«ta savvaļas mikropakalpojumu džungļu pasaulē nav tik vienkārÅ”a. Kad pakalpojums sāk izmest notikumus, jums ir jāpārskata krātuves aizpildÄ«Å”anas loÄ£ika, jo dati tagad izskatās citādi. Å eit ir jādomā daudz un pamatÄ«gi, ne vairs kā izstrādātājam, bet gan kā datu inženierim. Tas ir parasts stāsts, kad jÅ«s pavadāt dienas ar piezÄ«mju grāmatiņu un pildspalvu vai marÄ·ieri pie tāfeles. Tas ir ļoti grÅ«ti, man nepatÄ«k domāt, man arÄ« patÄ«k producÄ“Å”ana.

4. VarbÅ«t vissvarÄ«gākā lieta ir informācija. Ko mēs darām, kad mums trÅ«kst zināŔanu? KurÅ” teica stackoverflow? Izvediet Å”o cilvēku no istabas. Mēs ejam lasÄ«t dokumentus, grāmatas par Å”o tēmu, un ir arÄ« kopiena, kas organizē forumus, tikÅ”anās un konferences. Dokumentācija ir lieliska, taču diemžēl tā var bÅ«t nepilnÄ«ga. Mēs izmantojam Cosmos DB vairākos projektos. Veiksmi, lasot Ŕī produkta dokumentāciju. Grāmatas ir vienÄ«gais glābiņŔ, par laimi, tās pastāv un ir atrodamas, tajās ir daudz fundamentālu zināŔanu un jālasa daudz un pastāvÄ«gi. Bet problēma ir sabiedrÄ«bā.

Tagad mÅ«su reÄ£ionā ir grÅ«ti atrast vismaz vienu atbilstoÅ”u konferenci vai tikÅ”anos. Nē, protams, ir daudz tikÅ”anās ar vārdu Data, taču blakus Å”im vārdam parasti ir dÄ«vaini saÄ«sinājumi, piemēram, ML vai AI. Tātad, tas nav priekÅ” mums, mēs runājam par to, kā bÅ«vēt noliktavas, nevis kā iesmērēt sevi ar neironiem. Å ie hipsteri ir pārņēmuÅ”i visu. Rezultātā mēs esam bez kopienas. Starp citu, ja esat datu inženieris un zināt labas kopienas, lÅ«dzu, rakstiet komentāros.

Secinājumi un paziņojums par tikÅ”anos

Ar ko mēs nonākam? Mana pirmā pieredze liecina, ka iejusties datu inženiera ādā noderēs ikvienam izstrādātājam. Tas tikai ļauj mums paskatÄ«ties uz lietām savādāk un nebÅ«t pārsteigtiem, kad mÅ«su acis kļūst asiņainas, redzot, kā izstrādātāji apstrādā savus datus. Tātad, ja jÅ«su uzņēmumā ir DE, vienkārÅ”i runājiet ar Å”iem puiÅ”iem, jÅ«s uzzināsit daudz jaunu lietu (par sevi).

Un visbeidzot paziņojums. Tā kā dienas laikā ir grÅ«ti atrast tikÅ”anās par mÅ«su tēmu, mēs nolēmām izveidot paÅ”i. Kāpēc mēs esam sliktāki? Par laimi mums ir pārsteidzoÅ”s Schvepsss un mÅ«su draugi no Jauno profesiju laboratorija, kuriem tāpat kā mums Ŕķiet, ka datu inženieriem netaisnÄ«gi tiek atņemta uzmanÄ«ba.

Izmantojot Å”o iespēju, aicinu ikvienu, kam interesē, ierasties uz mÅ«su pirmo kopienas tikÅ”anos ar daudzsoloÅ”o nosaukumu ā€œDE vai DIEā€, kas notiks 27.02.2020. gada XNUMX. februārÄ« Dodo Pizza birojā. SÄ«kāka informācija plkst TimePad.

Ja kaut kas notiks, es būŔu klāt, jūs varat man personīgi pateikt, cik es kļūdos attiecībā uz izstrādātājiem.

Avots: www.habr.com

Pievieno komentāru