Cum am ajuns data engineer fără diplomă în informatică

Drumul meu de la Universitatea din Torino (Università degli Studi di Torino) la clustere Spark și certificări Databricks — ocolișurile, noroacele și ce i-aș spune cuiva care începe azi.

Cum am ajuns data engineer fără diplomă în informatică

Nimeni nu plănuiește să devină data engineer. Sau cel puțin eu nu am plănuit. Nici nu știam că meseria există când am început facultatea la Torino. Iată cum s-a întâmplat, cu părțile oneste lăsate la vedere.

Anii de facultate

Am studiat la Universitatea din Torino (Università degli Studi di Torino). Diploma mea nu era în informatică — am aterizat într-un domeniu suficient de apropiat încât să ating baze de date și statistică, dar nu atât de tehnic încât să scriu compilatoare. Lucrul important, privind în urmă, nu era diploma specifică ci faptul că m-a forțat să gândesc structurat, analitic, și mi-a dat o fundație în lucrul cu date.

Cea mai mare lecție din acei ani n-a avut nimic de-a face cu examenele: am descoperit că îmi place să fac datele să se miște. Să cureți un set de date dezordonat și să-l transformi în ceva util mi-a dat aceeași satisfacție pe care alți oameni o primesc din construirea unei piese de mobilier. E un lucru care nu era acolo înainte, și acum funcționează.

Competențele care au contat cu adevărat

Când am început să lucrez, nimănui nu-i păsa de notele mele. Le păsa de:

  • SQL. Nu SQL de manual — genul murdar, de producție, unde faci join pe șase tabele cu left join-uri și null handling, iar query-ul trebuie să ruleze în sub 5 secunde pe 200 de milioane de rânduri.
  • Python. Nu pentru aplicații web sau machine learning (încă), ci pentru scrierea de scripturi ETL, validare de date și lipirea sistemelor între ele. Python e banda adezivă a data engineering-ului.
  • Spark / PySpark. Aici mi-a accelerat cariera cu adevărat. Odată ce poți scrie job-uri Spark care procesează terabytes în mod fiabil, rezolvi o clasă de probleme pe care majoritatea oamenilor nu o pot, iar companiile observă.
  • Platforme cloud. Databricks, Snowflake, Azure Data Factory — stack-ul modern de date. Am investit serios în Databricks și a meritat. Certificările nu sunt magie, dar te forțează să înveți platforma cum trebuie în loc să copiezi răspunsuri de pe Stack Overflow.
  • Comunicare. Știu, toată lumea zice asta. Dar realitatea e că un data engineer petrece jumătate din timp vorbind cu oameni care nu știu (sau nu le pasă) ce e un DAG. Să-ți explici pipeline-ul unui product manager în două propoziții e o competență reală, și e cea care te promovează.

Lucrurile pe care mi-aș fi dorit să le fi făcut diferit

Să fi început proiecte personale mai devreme. În primul an de muncă, am învățat pe job dar n-am construit nimic în timpul meu liber. Fiecare proiect personal pe care l-am construit în cele din urmă m-a învățat mai mult pe oră decât orice task de la serviciu, pentru că proiectele personale te forțează să iei toate deciziile singur.

Să fi învățat testare mai devreme. Obișnuiam să cred că testele sunt overhead. Acum cred că pipeline-urile de date netestate sunt bombe cu ceas. Prima dată când un pipeline produce în liniște date greșite timp de două săptămâni înainte ca cineva să observe, înveți lecția asta. Eu am învățat-o pe calea cea grea.

Să fi scris mai mult. Site-ul ăsta există parțial pentru că acum cred că a explica ceva e cel mai bun mod de a-l înțelege. Dacă poți scrie o explicație clară despre cum funcționează partiționarea în Spark, chiar înțelegi partiționarea. Dacă nu poți, o înțelegi mai puțin decât crezi.

Ce i-aș spune cuiva care începe azi

  1. Învață SQL cum trebuie. Nu doar SELECT-FROM-WHERE. Window functions, CTE-uri, planuri de execuție. SQL e lingua franca a datelor — nu dispare.

  2. Alege un limbaj și aprofundează. Python e alegerea sigură. Învață-l suficient de bine încât să scrii cod curat, testabil — nu doar scripturi care merg o dată.

  3. Obișnuiește-te cu cloud-ul. Alege o platformă (Databricks, Snowflake, BigQuery — nu contează care) și învăț-o de la cap la coadă. Construiește un proiect, fă deploy, pune-l să ruleze pe un program.

  4. Nu sări peste fundamentale. Star schemas, slowly changing dimensions, calitatea datelor, pipeline-uri idempotente — conceptele nu s-au schimbat de 20 de ani chiar dacă uneltele se schimbă la fiecare 2.

  5. Construiește în public. Un repo GitHub cu un pipeline funcțional valorează mai mult decât o certificare. Un articol de blog care explică ce ai construit valorează mai mult decât amândouă.

Piața de data engineering în Europa e puternică, mai ales în Italia unde companiile încă recuperează pe stack-ul modern de date. Drumul nu necesită o diplomă în informatică — necesită curiozitate, persistență și toleranță pentru depanarea la 2 dimineața a unor lucruri care mergeau perfect la 5 după-amiază.

Ultima parte nu apare în nicio fișă a postului. Dar e cerința reală.