Ai reușit. Șaizeci de lecții, zece module, câteva sute de blocuri de cod, și ce ar trebui să fie acum o hartă mentală funcțională despre cum se folosește Python-ul modern în practică pentru a construi lucruri.
Ultima asta de lecție face trei lucruri. Privește înapoi la ce am acoperit, în limbaj clar, ca să poți vedea forma curriculei de sus. Privește înainte la resursele pe care le recomand pentru a aprofunda fiecare bucată. Și se încheie cu singurul sfat care contează cu adevărat în acest stadiu, cel despre a te apuca să construiești ceva.
Ce a acoperit cursul
Modulul 1: Python-ul modern pe care ar trebui să îl scrii în 2026
Type hints, dataclasses, structural pattern matching, walrus operators, formatare modernă de string-uri, bucățile din biblioteca standard care nu primesc destulă presă. Mesajul central al modulului: Python-ul pe care poate l-ai învățat în 2018 nu e tocmai Python-ul care se livrează bine în 2026. Limbajul s-a strâns. Codul cu tipuri verificate e acum default-ul în proiectele serioase, nu o preferință de hipster. Ar trebui să îl scrii și tu așa.
Modulul 2: Biblioteca standard
pathlib, collections, itertools, functools, dataclasses, enum, datetime, re, subprocess, logging, argparse, noul tomllib, subapreciatul modul statistics. Cele mai multe scripturi de producție sunt 80% bibliotecă standard și 20% third-party. A ști ce e deja în cutie îți păstrează lista de dependențe scurtă și codul mentenabil.
Modulul 3: Packaging + structură de proiect
uv, pyproject.toml, layout-uri src, fixarea versiunilor, lockfiles, construirea de wheels, publicarea pe PyPI, alternativa modernă la vechea harababură setup.py / requirements.txt. Packaging-ul obișnuia să fie cea mai proastă parte din Python. Cu uv și PEP-urile moderne, e acum genuin ok. Un proiect Python în 2026 are un singur fișier de configurare și instalări reproductibile. Nu accepta mai puțin.
Modulul 4: Testare, calitate, workflow cu AI
pytest, ruff, mypy, fixtures, parametrizare, mocking, testare bazată pe proprietăți cu Hypothesis, workflow-ul de AI-pair-programming care schimbă cum scrii cod zi de zi. Bucata cea mai subapreciată de inginerii autodidacți: un test suite curat e activul care îți permite să schimbi orice altceva fără frică. Bucata cea mai subapreciată de inginerii seniori: o unealtă AI integrată gândit în workflow-ul tău îți deplasează output-ul cu ceva de ordinul 1,5-3x pe muncă greenfield.
Modulele 5-6: Stăpânirea Pandas
Structuri de date, indexare, groupby, joins, serii temporale, reshaping, SettingWithCopyWarning, noua semantică copy-on-write, performance tuning, când să cobori la NumPy, când să cobori la Polars sau DuckDB în loc. Pandas e încă unealta default pentru muncă tabulară în memorie. La sfârșitul acestor două module ar trebui să o citești și să o scrii fără să consulți o foaie de barat.
Modulul 7: Data engineering
Design de ETL, șabloane de ingestie, lucru cu API-uri REST, programare async cu asyncio și httpx, orchestrare cu Prefect/Airflow, idempotență, retries, scheme. Trecerea de la „pot analiza date” la „pot muta date fiabil între sisteme” e trecerea de la analist la inginer. Aici se întâmplă asta.
Modulul 8: Python numeric
NumPy propriu-zis, vectorizare, broadcasting, algebră liniară, plotting cu Matplotlib, calcul științific cu SciPy, lucru în Jupyter fără ca notebook-ul tău să devină o mizerie. Substratul pe care stă tot ce e altceva în Python-ul științific: Pandas, scikit-learn, PyTorch. Nu trebuie să fii analist numeric, dar trebuie să știi ce face axis=0 fără să te gândești.
Modulul 9: Machine learning
scikit-learn, pipelines, feature engineering, modele cu arbori, modele liniare, hyperparameter tuning cu Optuna, evaluare, SHAP pentru interpretare, deployment cu FastAPI. ML clasic de la cap la coadă, genul ăla care plătește facturile. Modulul ăsta transformă „știu să fitez un random forest” în „pot livra un model în spatele unui endpoint HTTP”.
Modulul 10: Deep learning, în forma lui din 2026
Fundamentele PyTorch, bucle de antrenare, transfer learning cu Hugging Face, fine-tuning cu LoRA, decizia AI-vs-ML, RAG. Modulul cel mai scurt al cursului, pentru că domeniul se mișcă atât de rapid încât detaliile la nivel de lecție se învechesc în câteva luni. Scopul modulului nu a fost să te facă specialist în deep learning; a fost să îți dau o hartă cu ochiul clar despre când uneltele AI actuale sunt răspunsul corect și când nu sunt.
Unde ești acum
Dacă ai lucrat efectiv prin lecții, în loc să le treci în fugă, poți:
- Să configurezi un proiect Python de la zero în cinci minute:
uv init, type hints, teste, lint, CI. - Să iei un CSV, un tabel din bază de date sau un API și să îl transformi într-un pipeline de date curat, bine tipat, bine testat.
- Să alegi unealta potrivită pentru o analiză: Pandas pentru date medii, Polars sau DuckDB pentru mai mari, NumPy când ai nevoie de vectorizare brută.
- Să construiești un model ML clasic de la cap la coadă, să îl evaluezi cinstit și să îl pui în producție ca serviciu.
- Să decizi între a apela un LLM găzduit, a face fine-tune unuia open cu LoRA și a antrena un model clasic, și să explici decizia unui stakeholder non-tehnic.
- Să scrii cod care e citibil pentru tine din viitor și pentru oamenii care îți vor moșteni munca.
Ăla e setul de unelte zilnic al unui data engineer sau ML engineer care lucrează. Dacă poți face toate cele de mai sus, ești angajabil în domeniul ăsta, și nu pe ultima treaptă. Lucrul care îl transformă din „angajabil” în „valoros” e următorul an de practică pe probleme reale, nu încă un curs.
Unde să mergi mai departe
Harta cinstită a domeniului, așa cum aș recomanda-o unui prieten.
Internele Python
Dacă vrei să înțelegi de ce se comportă Python așa cum se comportă, de ce thread-urile sunt ciudate, de ce dicționarele au devenit mai rapide în 3.12, ce face cu adevărat GIL-ul, cărțile de citit sunt discursurile online și articolele lui Brett Cannon (e un dezvoltator core CPython care explică limbajul clar) și cartea „CPython Internals” a lui Anthony Shaw. Paginile de documentație Python „What’s New In…”, citite la fiecare release, sunt și ele remarcabil de bune; sunt scrise de oamenii care au scris schimbările.
Data engineering
Cea mai importantă carte din domeniu este „Designing Data-Intensive Applications” a lui Martin Kleppmann. E agnostică față de bază de date, agnostică față de limbaj, și cel mai apropiat lucru pe care disciplina îl are de o lectură obligatorie. După aia: „Fundamentals of Data Engineering” de Joe Reis și Matt Housley pentru o privire de ansamblu asupra stack-ului modern, și citirea documentației dbt de la cap la coadă pentru un simț de lucru despre cum se construiesc pipeline-urile analitice azi. Combină cărțile astea cu cursul de SQL Server de pe site dacă vrei un unghi profund de bază de date de producție, sau cu cursul de PySpark dacă vrei să faci asta la scară de terabaiți.
Machine learning
Trei cărți, în ordine: „Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow” a lui Aurélien Géron e cea mai bună carte unică pentru practicieni ML; ediția a treia e actuală. „Machine Learning with PyTorch and Scikit-Learn” a lui Sebastian Raschka acoperă teren similar cu o aplecare mai puternică spre PyTorch. Cursul fastai (gratuit, online) e tendențios, accesibil și produce practicieni care livrează mai repede decât majoritatea absolvenților academici.
Deep learning
Dacă vrei să înțelegi cu adevărat transformerele și rețelele neuronale moderne la nivelul la care le poți debuga: seria YouTube „Neural Networks: Zero to Hero” a lui Andrej Karpathy e cea mai bună resursă de pe planetă. Construiește un GPT de la zero, în PyTorch, într-un mod în care îl poți urmări linie cu linie. Cursul de NLP de la Hugging Face e companionul practic; te învață biblioteca pe care o vei folosi de fapt, cu convențiile care se potrivesc cu restul ecosistemului.
Inginerie software în general
Cel mai înalt obicei cu efect de pârghie este să citești sursa proiectelor populare de Python. Alege o bibliotecă pe care o folosești și o respecți: httpx, click, rich, FastAPI, pydantic, pytest, și pur și simplu citește-o. Nu tutorialul; sursa. Vei învăța mai mult despre cum e structurat Python-ul de producție în două weekenduri de citit biblioteci bine scrise decât într-un an de tutoriale generice. Cele mai multe biblioteci Python cunoscute sunt remarcabil de bine documentate la nivel de cod, iar cele mai multe au 5.000-30.000 de linii, citibile într-un weekend dacă te concentrezi.
Pentru cultură generală de inginerie software: „A Philosophy of Software Design” a lui John Ousterhout e scurtă și merită recitită în fiecare an. „The Pragmatic Programmer” e un clasic dintr-un motiv. „A Philosophy of Software Design” nu e de acord cu „Clean Code” la majoritatea lucrurilor, iar Ousterhout are dreptate la cele mai multe dintre ele.
Abilități de carieră, dat fiind că ai întrebat
Stack-ul de abilități data-engineer / ML-engineer din 2026, în ordinea aproximativă a frecvenței cu care apare în fișele de post:
- Python, bine, inclusiv tipuri, teste, packaging.
- SQL, bine, pe cel puțin un motor: Postgres, SQL Server, BigQuery, Snowflake, orice serios.
- O platformă cloud la nivelul „pot ridica o coadă, un container, o bază de date și un job programat în ea”. AWS, GCP sau Azure: alege una și învaț-o profund.
- Pandas + cel puțin una dintre Polars / DuckDB / PySpark, în funcție de scara datelor.
- Containere și CI: Docker, GitHub Actions, forma de bază a Kubernetes (nu trebuie să îl iubești).
- Orchestrare: Airflow, Prefect sau dbt pentru pipeline-uri analitice. Numele se rotesc, dar forma nu.
- AI/ML modern: scikit-learn, PyTorch, stack-ul Hugging Face, SDK-urile majore de LLM (OpenAI, Anthropic).
- Comunicare. Oamenii care chiar urcă sunt cei care pot explica decizii tehnice unor stakeholderi non-tehnici. E o abilitate pe care o poți exersa deliberat. Nu e o trăsătură de personalitate.
Ce caută cu adevărat managerii de angajări la nivel senior nu e mai multe unelte. E judecată: a ști când să folosești ce, a ști când să nu folosești lucrul nou, a ști cum să citești o problemă și să alegi un stack care i se potrivește. Judecata aia crește din a livra lucruri și a le urmări reușind sau eșuând. Nu crește din cursuri, inclusiv ăsta. Cursul a fost preconditia. Practica e munca.
Unghiul de polenizare încrucișată
Dacă ai terminat cursul ăsta, pasul evident următor pe site e una dintre traseele companion. Cursul de SQL Server drilluiește partea de bază de date de producție pe care cursul ăsta doar a atins-o ușor: backup, recuperare, indexare, realitatea operațională a unei baze de date sub sarcină. Cursul de PySpark scalează tool-belt-ul de data engineering la sarcini de clasă terabit. Amândouă împart presupuneri și convenții cu ăsta. Împreună, cele trei îți dau stack-ul de lucru al unui inginer de platformă de date din 2026.
Nu ai nevoie de toate trei. Probabil ai nevoie de bucăți din două dintre ele. Alege pe baza a ceea ce implică efectiv munca ta.
O notă despre chestia cu AI
Vreau să te las cu ceva specific despre momentul în care înveți Python.
Valul 2024-2026 de unelte AI a schimbat cum se simte munca în Python. Poți să prompt-uiești drumul până la o aplicație FastAPI funcțională într-o după-amiază. Poți pune un LLM să scrie o regex la care ai fi petrecut douăzeci de minute. Poți lipi un stack trace și obține o explicație pe care colegul tău ți-ar fi dat-o în 2018. Asta e real. Nu e hype. Pârghia e reală și ar trebui să o folosești.
Tot nu e un substitut pentru a înțelege codul care iese. Inginerii care scot cel mai mult din uneltele astea sunt cei care ar fi putut scrie codul singuri și folosesc AI-ul ca să sară peste părțile plictisitoare. Cei care nu pot spune când AI-ul greșește livrează în cele din urmă ceva jenant, sau mai rău, ceva periculos.
Cursul ăsta a fost proiectat cu presupunerea că vei folosi unelte AI alături de el. Lecția 19 a fost explicită despre asta. Nimic din ce ai învățat nu e invalidat de uneltele AI; uneltele AI sunt cum operaționalizezi ce ai învățat la viteză mai mare. Dacă termini cursul ăsta simțind că nu ai nevoie de fundamente pentru că AI-ul îți va scrie codul, ai ratat punctul. Dacă îl termini simțind că fundamentele sunt lucrul care îți permite să direcționezi AI-ul bine, ai prins.
Apucă-te să construiești ceva
Iată chestia pe care nimeni nu ți-o spune despre cursurile de inginerie: la sfârșitul unuia, nu ești încă inginer practicant. Ești o persoană care a citit despre inginerie. Tranziția la a fi unul se întâmplă prima dată când livrezi ceva real, îți asumi răspunderea pentru el, îl privești spărgându-se în producție, îl repari, îl privești spărgându-se din nou diferit, repari și asta, și încet construiești catalogul de „lucruri care merg prost” pe care inginerii experimentați îl poartă în cap. Catalogul ăla e în cea mai mare parte ceea ce e experiența cu adevărat.
Nu îl poți obține dintr-un curs. Îl poți obține doar construind lucruri pe care oamenii le folosesc.
Așa că alege ceva: un side project, o unealtă pe care o vrei pentru tine, o problemă de la jobul tău care te-a deranjat, o contribuție la o bibliotecă open-source pe care o folosești, un blog tehnic unde scrii lucruri pe care le-ai pus la punct. Orice se livrează. Mărimea nu contează. Livrarea contează. Fă-o o dată. Apoi mai fă-o o dată. Apoi mai fă-o o dată, de data asta dând atenție fricțiunii pe care o întâlnești și notând ce ai face altfel data viitoare.
Zece proiecte mai târziu vei fi un inginer diferit. Douăzeci de proiecte mai târziu, vei avea opinii, și vor fi opinii informate. Cincizeci de proiecte mai târziu, vei fi persoana la care alți ingineri vin pentru sfaturi, pentru că vei fi acumulat efectiv experiență, în loc de doar ore.
Ăsta e drumul. Nu există scurtătură. Cursul te-a dus la capătul potecii.
Mulțumesc că ai citit
Șaizeci de lecții înseamnă multe cuvinte. Mulțumesc că ai rezistat prin ele. Dacă părți din cursul ăsta ți-au ușurat munca sau te-au făcut să schimbi cum gândești despre o bucată din domeniu, ăsta e cel mai mare compliment pe care îl pot spera. Dacă ai găsit erori, ai sugestii sau vrei să dezbatem dacă pathlib e supraevaluată, salută-mă. Citesc fiecare e-mail.
Acum închide browserul și apucă-te să livrezi ceva.
— Narcis
Referințe: blogul lui Brett Cannon (https://snarky.ca/), Anthony Shaw „CPython Internals” (Real Python, 2021), Martin Kleppmann „Designing Data-Intensive Applications” (O’Reilly, 2017), Joe Reis & Matt Housley „Fundamentals of Data Engineering” (O’Reilly, 2022), Aurélien Géron „Hands-On Machine Learning” ed. a 3-a (O’Reilly, 2022), Sebastian Raschka „Machine Learning with PyTorch and Scikit-Learn” (Packt, 2022), cursul fastai (https://course.fast.ai/), seria YouTube „Neural Networks: Zero to Hero” a lui Andrej Karpathy, cursul Hugging Face NLP (https://huggingface.co/learn/nlp-course), John Ousterhout „A Philosophy of Software Design” ed. a 2-a (Yaknyam, 2021). Consultat 2026-05-01.