{"id":30912,"date":"2019-10-31T21:38:10","date_gmt":"2019-10-31T18:38:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya\/"},"modified":"2019-10-31T21:38:10","modified_gmt":"2019-10-31T18:38:10","slug":"python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya","title":{"rendered":"Python pentru Web: ce trebuie s\u0103 \u0219tie un junior pentru a lucra \u0219i a se dezvolta","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Am realizat o deschidere scurt\u0103 cu principalele idei din Python Junior Podcast: am discutat despre de unde s\u0103 \u00eenceap\u0103 \u0219i \u00eencotro s\u0103 se \u00eendrepte un dezvoltator \u00eencep\u0103tor \u00een Python. \u00cen ultima vreme, am avut mult con\u021binut pentru mid-level \u0219i seniori, dar acest episod este definitiv pentru juniori.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Python pentru Web: ce trebuie s\u0103 \u0219tie un junior pentru a lucra \u0219i a se dezvolta\" src=\"\/wp-content\/uploads\/2019\/04\/014c066157b3d5718f59472b290c5c2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><b>Temele principale:<\/b><\/p>\n<ul>\n<li>Ce cuno\u0219tin\u021be sunt necesare unui programator \u00eencep\u0103tor pentru a se ocupa de<br \/>\ndezvoltarea web?<\/li>\n<li>Ce a\u0219teapt\u0103 angajatorii de la dezvoltatori?<\/li>\n<li>Ce s\u0103 faci pentru a g\u0103si un loc de munc\u0103 f\u0103r\u0103 experien\u021b\u0103?<\/li>\n<li>Cum poate evolua un dezvoltator Python?<\/li>\n<\/ul>\n<p><i>Python Junior Podcast \u2014 un podcast despre programare pentru cei care doresc s\u0103 \u00een\u021beleag\u0103 mai bine Python. Edi\u021biile sunt prezentate de evangheli\u0219ti ai comunit\u0103\u021bii <noindex><a rel=\"nofollow\" href=\"http:\/\/www.moscowpython.ru\/\">MoscowPython<\/a><\/noindex> \u0219i profesori ai cursurilor <noindex><a rel=\"nofollow\" href=\"https:\/\/learn.python.ru\/\">\u00cenv\u0103\u021b\u0103m Python<\/a><\/noindex>.<\/i><\/p>\n<p><b>\u00cen discu\u021bie au participat:<br \/>\n<\/b><\/p>\n<ul>\n<li><b>Valentin Dombrovsky,<\/b>cofondator MoscowPython<\/li>\n<li><b>Zlata Obukhovskaya,<\/b> team lead NVIDIA<\/li>\n<li><b>Grigory Petrov,<\/b> evanghelist MoscowPython<\/li>\n<li><b>Alexey Shtyrnyayev,<\/b> dezvoltator la FinEx, profesor al cursurilor Learn<br \/>\nPython<\/li>\n<\/ul>\n<h2>De ce Python este bun pentru dezvoltarea web<\/h2>\n<p>\n<b>Valentin Dombrovsky:<\/b> De ce tocmai Python se potrive\u0219te pentru dezvoltarea web? De ce nu PHP sau JavaScript, de exemplu?<\/p>\n<p><b>Grigory Petrov:<\/b> Ei bine, nu prea sunt multe op\u021biuni. Chiar dac\u0103 ast\u0103zi \u00een Web putem practic func\u021biona f\u0103r\u0103 backend \u2014 pur \u0219i simplu cu tehnologii frontend, pe JavaScript \u2014 s\u0103 construim o aplica\u021bie cu pagin\u0103 unic\u0103 sau o aplica\u021bie web progresiv\u0103, totu\u0219i, este prea complicat, se indexeaz\u0103 prost \u0219i necesit\u0103 dezvoltatori foarte buni.<\/p>\n<p>Dac\u0103 dorim s\u0103 facem un site sau un serviciu, folosim o abordare combinat\u0103: avem un backend care realizeaz\u0103 logica \u0219i genereaz\u0103 paginile web, iar un frontend care afi\u0219eaz\u0103 aceste pagini web \u00een browser. \u0218i c\u00e2nd trebuie s\u0103 adun\u0103m rapid toate acestea, op\u021biunile nu sunt multe.<\/p>\n<p>S\u0103 lu\u0103m \u00een considerare variantele posibile.<\/p>\n<ul>\n<li><b>C#.<\/b> Microsoft chiar a f\u0103cut o treab\u0103 bun\u0103, au creat .NET Core \u0219i o promoveaz\u0103 \u00een mod activ. Dar, pe de o parte, este o tehnologie nou\u0103 cross-platform \u0219i nu totul este perfect. Pe de alt\u0103 parte, este cu adev\u0103rat scump, dezvoltatorii C# sunt pu\u021bini \u2014 pur \u0219i simplu pentru c\u0103 este nepopular.<\/li>\n<li><b>Java.<\/b> Este complicat. S\u0103 faci un site decent pe Java nu este de 10 linii de cod, ca \u00een Python. Este mult cod, sunt framework-uri, \u0219i trebuie s\u0103 cuno\u0219ti specificul configur\u0103rii serverelor Java. \u00cen general, sunt doar dureri \u0219i suferin\u021be.<\/li>\n<li><b>PHP.<\/b> \u00cen versiunile recente, este minunat. Chiar a\u0219 spune: PHP 7.2 nu este mai prejos dec\u00e2t Python. Totu\u0219i, nu po\u021bi pur \u0219i simplu s\u0103 folose\u0219ti PHP 7.2. Dac\u0103 un dezvoltator obi\u0219nuit, nu de top, \u00ee\u0219i construie\u0219te un site pe PHP, nu va scrie doar pe 7.2: tot va trebui s\u0103 citeasc\u0103 c\u00e2teva manuale, tutoriale; peste tot este plin de cod vechi, \u0219i asta nu este foarte bine.<\/li>\n<li><b>JavaScript \u0219i Node.js.<\/b> Este minunat \u0219i foarte modern c\u00e2nd un singur limbaj este folosit at\u00e2t pe front-end, c\u00e2t \u0219i pe back-end. Numai c\u0103 nu este foarte stabil. Node.js este o unealt\u0103 bun\u0103, dar este complicat s\u0103 o desf\u0103\u0219ori \u00een produc\u021bie astfel \u00eenc\u00e2t s\u0103 nu cad\u0103 \u0219i s\u0103 func\u021bioneze stabil. \u00cen plus, dac\u0103 vrem s\u0103 scriem cod de calitate \u00een JavaScript, avem nevoie nu de JavaScript, ci de TypeScript. Iar TypeScript este dintr-o dat\u0103 nea\u0219teptat de complex, c\u00e2nd \u00eel v\u0103d, dezvoltatorii obi\u0219nui\u021bi \u00ee\u0219i pierd min\u021bile.<\/li>\n<\/ul>\n<blockquote><p>S\u0103 l\u0103s\u0103m deoparte Ruby, Haskell, Erlang \u0219i alte lucruri de ni\u0219\u0103, \u0219i ne r\u0103m\u00e2ne\u2026 Python. Un limbaj cu o sintax\u0103 consistent\u0103, o bibliotec\u0103 standard uniform\u0103, documenta\u021bia cea mai bun\u0103, framework-uri populare \u0219i u\u0219oare, precum mega-popularul Django.<\/p><\/blockquote>\n<p>Se pare c\u0103, \u00een ciuda celei mai largi selec\u021bii, dac\u0103 avem dezvoltatori obi\u0219nui\u021bi, nu de top, suntem o afacere obi\u0219nuit\u0103 care vrea s\u0103 fac\u0103 site-uri obi\u0219nuite, nu avem un departament de dezvoltare de 50 de oameni, atunci opt\u0103m pentru Python.<\/p>\n<h2>Ce cuno\u0219tin\u021be sunt necesare pentru a intra \u00een profesie<\/h2>\n<p>\n<b>Zlata Obukh\u00f2vskaya:<\/b> Cred c\u0103 trebuie s\u0103 cuno\u0219ti bine un framework \u2014 \u0219i s\u0103 \u0219tii care sunt altele \u0219i c\u00e2nd se folosesc. Unde e Tornado, unde e Django, unde e Flask, unde e aiohttp \u0219i a\u0219a mai departe.<br \/>\nVa fi util s\u0103 \u0219tii c\u0103 exist\u0103 a\u0219a ceva ca protocoalele. \u00cen special, cunoa\u0219terea protocolului http este esen\u021bial\u0103 pentru construirea aplica\u021biilor web.<\/p>\n<p>De asemenea, trebuie s\u0103 ai o idee m\u0103car aproximativ\u0103 despre cum func\u021bioneaz\u0103 front-end-ul \u00een proiectele web: ce sunt HTML, CSS, JS.<\/p>\n<p><b>Alexey Shternyayev:<\/b> \u0218i s\u0103 \u0219tii unde se afl\u0103 documenta\u021bia. Aceasta este cea mai important\u0103.<\/p>\n<p><b>Grigory Petrov:<\/b> Aici p\u0103\u0219im pe un teren foarte instabil. Dac\u0103 nu am avut noroc \u0219i am \u00eenceput s\u0103 studiem serios front-end-ul modern, acesta va fi de aproximativ 10 ori mai complicat dec\u00e2t back-end-ul pe Python. Unui dezvoltator \u00eencep\u0103tor trebuie s\u0103-i restr\u00e2ng\u0103 focusul astfel \u00eenc\u00e2t s\u0103 \u00eenceap\u0103 s\u0103 studieze HTML, dar s\u0103 nu cad\u0103 \u00een toate aceste div, span, float, cum se aliniaz\u0103 \u0219i se aranjeaz\u0103 totul.<\/p>\n<p><b>Alexey Shternyayev:<\/b> Este nevoie de un curs de baz\u0103 despre Bootstrap. \u0218i de no\u021biuni fundamentale de HTML.<\/p>\n<blockquote><p>\u00cen primul an nu este bine s\u0103 te specializezi \u00een framework-urile JS (dac\u0103 te concentrezi pe backend). \u00cen cursul de baz\u0103 despre Bootstrap, exist\u0103 module gata f\u0103cute: vrei un slider \u2013 f\u0103 un slider, vrei un meniu plutitor \u2013 f\u0103 un meniu plutitor.<\/p><\/blockquote>\n<p><b>Zlata Obukh\u00f2vskaya:<\/b> Cred c\u0103, dup\u0103 ce ai \u00eenv\u0103\u021bat frontendul, po\u021bi s\u0103 te aprofundezi, \u00een special, \u00een modul \u00een care este livrat\u0103 staticita web aplica\u021biilor. Astfel, dezvoltatorul trece treptat la a \u00eenv\u0103\u021ba cum este, \u00een principiu, construit\u0103 arhitectura web aplica\u021biilor \u0219i cum acestea func\u021bioneaz\u0103 pe produc\u021bie.<\/p>\n<p><b>Grigory Petrov:<\/b> Da, a\u0219 recomanda imediat \u00een cazul \u00een care ai ales Python ca limbaj de dezvoltare backend \u0219i, de exemplu, Django ca framework: Django are documenta\u021bie \u00een Django Book, care este cu adev\u0103rat grozav\u0103, cuprinde tot ce a men\u021bionat Zlata, este \u00eentr-adev\u0103r bun\u0103 pentru \u00eencep\u0103tori.<\/p>\n<p><b>Alexey Shternyayev:<\/b> De asemenea, pentru un start rapid, ar fi potrivit un tutorial precum Django Girls, dac\u0103 scopul este s\u0103 \u00eenve\u021bi exact Django. Este un tutorial \u00een care po\u021bi s\u0103 treci prin no\u021biuni de baz\u0103 \u00eentr-o singur\u0103 zi, s\u0103 \u00een\u021belegi fundamentele \u0219i ce poate face frameworkul.<\/p>\n<p><b>Valentin Dombrovsky:<\/b> Preg\u0103tindu-ne pentru \u00eenregistrarea unui podcast, am elaborat o list\u0103 cu ceea ce are nevoie un programator Python pentru dezvoltarea web, cu care ne rezum\u0103m la cele spuse anterior.<\/p>\n<h2>Ce include baza pentru dezvoltarea web \u00een Python<\/h2>\n<p><\/p>\n<ul>\n<li>Frameworkuri web precum Django, Flask, aiohttp, Tornado etc. (\u0219i s\u0103 fii con\u0219tient de celelalte).<\/li>\n<li>Protocele \u0219i API-uri: \u00een primul r\u00e2nd http, JSON-RPC, Protocol Buffers, gRPC.<\/li>\n<li>ORM-uri \u0219i migra\u021bii, baze de date rela\u021bionale, SQLAlchemy, SQL, PostgreSQL, MySQL.<\/li>\n<li>Fundamentele HTML, CSS, Bootstrap, precum \u0219i framework-urile JS \u0219i JQuery.<\/li>\n<li>Principiile func\u021bion\u0103rii aplica\u021biilor pe produc\u021bie, teste, teste unitare, teste automate, sisteme de control al versiunilor, git.<\/li>\n<\/ul>\n<h2>Sunt necesare algoritmi pentru juniori?<\/h2>\n<p>\n<b>Zlata Obukh\u00f2vskaya:<\/b> La \u00eenceput nu trebuie s\u0103 \u0219tii algoritmi, ace\u0219tia apar treptat \u00een minte, dac\u0103 te ocupi de dezvoltare o perioad\u0103 suficient de lung\u0103. Cunoa\u0219tem o mul\u021bime de ingineri buni care nu au avut un curs formal bun despre algoritmi.<\/p>\n<p><b>Grigory Petrov:<\/b> Vreau s\u0103 adaug pu\u021bin combustibil la flac\u0103r\u0103. De unde provine de fapt dorin\u021ba noastr\u0103 pentru algoritmi?<\/p>\n<p>\u00cen prezent nu avem o educa\u021bie fundamental\u0103 \u00een algoritmi, nu \u0219tim s\u0103 educ\u0103m programatorii, nu avem baza tehnic\u0103.<\/p>\n<p>Se \u00eencearc\u0103 acest lucru, dar aici avem povestea Hogwarts: nu putem crea o \u0219coal\u0103 de vr\u0103jitorie p\u00e2n\u0103 c\u00e2nd nu avem m\u0103car un vr\u0103jitor. A\u0219adar, ce ar trebui s\u0103 fac\u0103 universitatea, la care vin \u0219i spun: \u201e\u00cencepe\u021bi s\u0103 preg\u0103ti\u021bi programatori\u201d, iar programatorii nu sunt acolo, pentru c\u0103 to\u021bi lucreaz\u0103 la Mail.ru, Rambler \u0219i Yandex, unde le este bine?<\/p>\n<p>La universitate se uit\u0103 \u0219i spun:<br \/>\n\u2014 OK, programare. Hai s\u0103 g\u0103sim un domeniu de cuno\u0219tin\u021be conex \u0219i s\u0103 invit\u0103m speciali\u0219ti din acesta. S\u0103 invit\u0103m jurnali\u0219ti care pot scrie texte, ingineri electrici care pot crea scheme electrice \u0219i matematicieni care se pricep la algoritmi.<\/p>\n<p>\u00cen rezultat, ajungem la ceva care este la fel de lucrativ ca a \u00eenv\u0103\u021ba un constructor despre fizica particulelor elementare pur \u0219i simplu pentru c\u0103 c\u0103r\u0103mida \u0219i cimentul sunt formate din particule elementare.<\/p>\n<p>\u00cens\u0103 nu se vorbe\u0219te despre ciment \u0219i c\u0103r\u0103mid\u0103, pentru c\u0103 fizicianul care \u00eencearc\u0103 s\u0103-l \u00eenve\u021be pe constructor nu \u0219tie cum s\u0103 construiasc\u0103 o cas\u0103. \u00cen rezultat, avem un constructor capabil s\u0103 explice perfect cum \u201efunc\u021bioneaz\u0103 cimentul\u201d, dar nu l-a v\u0103zut niciodat\u0103 \u0219i nu \u0219tie s\u0103 fac\u0103 nimic din el.<\/p>\n<p>Algoritmii \u0219i structurile de date sunt foarte bine, dar este un domeniu aplica\u021bional foarte mic. Ele sunt esen\u021biale, de exemplu, dac\u0103 scrii un motor de joc, un compilator sau un protocol de re\u021bea.<\/p>\n<blockquote><p>Majoritatea programatorilor rezolv\u0103 sarcini de afaceri, unde nu sunt necesare algoritmi \u0219i structuri de date.<\/p><\/blockquote>\n<p>Acolo, cea mai complex\u0103 matematic\u0103 este s\u0103 aduni de dou\u0103 ori \u0219i apoi s\u0103 \u00eempar\u021bi. Acolo sunt necesare cuno\u0219tin\u021be complet diferite. Pentru a rezolva problemele de afaceri, sunt necesare \u00een principal cuno\u0219tin\u021be aplica\u021bionale, nu fundamentale.<\/p>\n<p>Un dezvoltator \u00eencep\u0103tor ar trebui s\u0103 aib\u0103 o idee despre afaceri \u0219i despre cum s\u0103 construiasc\u0103 rapid \u0219i corect structuri din blocuri gata f\u0103cute, cum s\u0103 le depaneze, cum s\u0103 fac\u0103 astfel \u00eenc\u00e2t acestea s\u0103 nu se pr\u0103bu\u0219easc\u0103, s\u0103 \u0219tie de ce se pr\u0103bu\u0219esc, ce se \u00eent\u00e2mpl\u0103 c\u00e2nd cerin\u021bele se schimb\u0103 \u0219i programul \u00eencepe s\u0103 \u201ese a\u0219eze pe temelie\u201d, ca o cas\u0103 dup\u0103 ploaie.<br \/>\nAceste lucruri aplica\u021bionale \u0219i \u00een\u021belegerea modului de a scrie software. Trebuie s\u0103 \u0219tie c\u0103, \u00een afar\u0103 de debugger, are un set de instrumente care \u00eei va ar\u0103ta exact unde programa \u00eengreuneaz\u0103.<\/p>\n<p><b>Valentin Dombrovsky:<\/b> Mi-a venit \u00een minte o astfel de compara\u021bie: este ca un traduc\u0103tor de la limba afacerilor la o limb\u0103 cu care se poate comunica cu un computer. A\u0219adar, programatorul este un fel de lingvist specific.<\/p>\n<p><b>Grigory Petrov:<\/b> O afacere are nevoie de un scriitor, nu de un lingvist. Scriitorul nu trebuie s\u0103 \u0219tie de ce cuv\u00e2ntul acesta s-a transformat \u00een acel alt cuv\u00e2nt acum o mie de ani. Trebuie s\u0103 \u0219tie s\u0103 foloseasc\u0103 aceste cuvinte.<\/p>\n<h2>Ce este necesar pentru a g\u0103si prima slujb\u0103 ca dezvoltator<\/h2>\n<p>\n<b>Alexey Shternyayev:<\/b> Probabil c\u0103 nu exist\u0103 o re\u021bet\u0103 universal\u0103 pentru a preg\u0103ti un junior.<\/p>\n<blockquote><p>Dac\u0103 te al\u0103turi unei companii, nu te vor angaja pentru c\u0103 \u0219tii Django, JSON \u0219i pu\u021bin\u0103 teorie a algoritmilor. Cel mai probabil, te vor angaja pentru abilit\u0103\u021bile care sunt necesare companiei aici \u0219i acum.<\/p><\/blockquote>\n<p>Exist\u0103 multe companii, iar cerin\u021bele fiec\u0103rei companii sunt diferite. Nu exist\u0103 un volum universal de cuno\u0219tin\u021be pe care trebuie s\u0103-l ob\u021bii pentru a-\u021bi preg\u0103ti CV-ul \u0219i a aplica pentru o slujb\u0103.<\/p>\n<p><b>Grigory Petrov:<\/b> C\u00e2nd c\u0103utam c\u00e2\u021biva juniori la VoxImplant, directorul nostru tehnic a formulat cerin\u021ba de baz\u0103 astfel: persoana trebuie s\u0103 fie capabil\u0103 s\u0103 rezolve probleme. Este evident c\u0103 un junior nu o va face \u00eentotdeauna eficient, \u00een cel mai bun mod \u0219i nu \u00eentotdeauna corect, dar ideal este c\u0103 \u00eei dai o sarcin\u0103, el se mobilizeaz\u0103 \u0219i o rezolv\u0103. Aceasta este abilitatea pe care angajatorii o caut\u0103 \u00een primul r\u00e2nd.<\/p>\n<p><b>Zlata Obukh\u00f2vskaya:<\/b> Oamenii care caut\u0103 munc\u0103 venind din alte domenii au, din perspectiva afacerilor, un anumit avantaj, deoarece au parcurs deja un anumit parcurs \u0219i \u0219tiu s\u0103 rezolve probleme rapid. Acestea sunt abilit\u0103\u021bi interumane, a\u0219 numi chiar cultura muncii. Adesea, absolven\u021bii universit\u0103\u021bilor nu au dezvoltat \u00eenc\u0103 aceast\u0103 cultur\u0103 a muncii.<\/p>\n<p>Dar a\u0219 dori totu\u0219i s\u0103 \u00eencerc s\u0103 ofer o re\u021bet\u0103 pentru \u00eencep\u0103tori.<\/p>\n<h2>Primii pa\u0219i pentru un dezvoltator \u00eencep\u0103tor<\/h2>\n<p>\n<b>Zlata Obukh\u00f2vskaya:<\/b> Primul lucru este totu\u0219i s\u0103 ai un proiect personal, deoarece trebuie s\u0103 ai ceva \u00een CV, s\u0103 ar\u0103\u021bi un portofoliu minim. Este \u0219i mai bine c\u00e2nd aceste proiecte sunt realizate nu pentru tine, ci pentru altcineva pe freelance.<\/p>\n<p>Dup\u0103 primele proiecte, po\u021bi deja s\u0103-\u021bi creezi CV-ul \u0219i s\u0103-l trimiti tuturor companiilor care au posturi pentru juniori. Interviurile \u00ee\u021bi vor oferi o \u00een\u021belegere a ceea ce au nevoie companiile. Mai devreme sau mai t\u00e2rziu, cineva te va angaja, chiar \u0219i \u00eentr-o companie mic\u0103. Ulterior, aceast\u0103 experien\u021b\u0103 de munc\u0103 \u00ee\u021bi va oferi oportunitatea de a ajunge \u00eentr-o companie mai mare \u0219i mai interesant\u0103.<\/p>\n<p><b>Valentin Dombrovsky:<\/b> De fapt, \u00een cursurile noastre preg\u0103tim elevii s\u0103-\u0219i creeze propriul proiect \u00een decurs de 10 s\u0103pt\u0103m\u00e2ni de studiu. \u00cen plus, ne dezvolt\u0103m abilit\u0103\u021bi de lucru \u00een echip\u0103. Acestea sunt exact abilit\u0103\u021bile soft despre care vorbea Zlata.<\/p>\n<p><b>Alexey Shternyayev:<\/b> Din experien\u021b\u0103, pot spune c\u0103 c\u0103utarea primului loc de munc\u0103 poate dura foarte mult. C\u00e2nd cau\u021bi timp de o lun\u0103 sau dou\u0103, este normal. Dac\u0103 trimiti CV-uri la toate companiile \u0219i participi la interviuri, \u00een a treia lun\u0103 cu siguran\u021b\u0103 vei g\u0103si ceva.<\/p>\n<p><b>Valentin Dombrovsky:<\/b> Po\u021bi lucra la proiectele tale sau po\u021bi prelua proiecte simple pe freelance, \u00een timp ce te ocupi de trimiterea CV-urilor.<\/p>\n<h2>Ce perspective are un dezvoltator Python?<\/h2>\n<p>\n<b>Zlata Obukh\u00f2vskaya:<\/b> Un dezvoltator Python poate merge oriunde. Poate s\u0103 se \u00eendrepte spre testare, s\u0103 avanseze p\u00e2n\u0103 la arhitect senior sau chiar \u00een management. Managerii tehnici sunt diferi\u021bi \u0219i po\u021bi ajunge p\u00e2n\u0103 la managementul de v\u00e2rf. Po\u021bi s\u0103 te dezvol\u021bi \u00een data science, DevOps, s\u0103 mergi \u00een testare automat\u0103 sau machine learning.<\/p>\n<p><b>Valentin Dombrovsky:<\/b> \u00cen general, sunt o mul\u021bime de variante \u0219i oportunit\u0103\u021bi, inclusiv cursurile noastre. Ini\u021bial, nu ai nevoie de multe cuno\u0219tin\u021be, dar ar fi bine s\u0103 acoperi un spectru mai larg ulterior, pentru c\u0103 cu c\u00e2t po\u021bi face mai mult, cu at\u00e2t este mai bine pentru tine.<\/p>\n<p>***<\/p>\n<p>Aceasta este doar o parte din emisiune. <noindex><a rel=\"nofollow\" href=\"https:\/\/podcast.python.ru\">Python Junior<\/a><\/noindex>. Po\u021bi asculta versiunea complet\u0103 a episodului <noindex><a rel=\"nofollow\" href=\"https:\/\/www.podbean.com\/media\/share\/pb-dnn82-98e987\">aici.<\/a><\/noindex>.<\/p>\n<p>Sau chiar s\u0103 o vizionezi:<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"XQZ0G34w3g4\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/XQZ0G34w3g4\/hqdefault.jpg\" alt=\"Reda\u021bi video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/feed.podbean.com\/learnpython\/feed.xml\">RSS-ul podcastului<\/a><\/noindex><\/p>\n<p>\u00ce\u021bi mul\u021bumim c\u0103 ai citit, ascultat sau vizionat.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446668\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u043c\u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438 \u0438\u0437 Python Junior Podcast: \u0432 \u043d\u0435\u043c \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438 \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 Python. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0443 \u043d\u0430\u0441 \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u043c\u0438\u0434\u0434\u043b\u043e\u0432 \u0438 \u0441\u0435\u043d\u044c\u043e\u0440\u043e\u0432, \u043d\u043e \u044d\u0442\u043e\u0442 \u0432\u044b\u043f\u0443\u0441\u043a \u2014 \u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0434\u0436\u0443\u043d\u043e\u0432. \u0413\u043b\u0430\u0432\u043d\u044b\u0435 \u0442\u0435\u043c\u044b: \u041a\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439? \u0427\u0435\u0433\u043e \u0436\u0434\u0443\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22890,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-30912","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u043c\u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438 \u0438\u0437 Python Junior Podcast: \u0432 \u043d\u0435\u043c \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438 \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 Python.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Python \u0434\u043b\u044f \u0412\u0435\u0431\u0430: \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0443, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u043c\u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438 \u0438\u0437 Python Junior Podcast: \u0432 \u043d\u0435\u043c \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438 \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 Python.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:38:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:38:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Python pentru Web: ce trebuie s\u0103 \u0219tie un junior pentru a lucra \u0219i a se dezvolta | ProHoster","description":"Am realizat o transcriere scurt\u0103 cu principalele idei din Python Junior Podcast: am discutat despre cu ce s\u0103 \u00eencepi \u0219i \u00eencotro s\u0103 te \u00eendrep\u021bi ca \u00eencep\u0103tor \u00een dezvoltarea Python.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Python \u0434\u043b\u044f \u0412\u0435\u0431\u0430: \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0443, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f | ProHoster","og:description":"\u041c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u043c\u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438 \u0438\u0437 Python Junior Podcast: \u0432 \u043d\u0435\u043c \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438 \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 Python.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/python-dlya-veba-chto-nuzhno-znat-dzhunioru-chtoby-rabotat-i-razvivatsya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:38:10+00:00","article:modified_time":"2019-10-31T18:38:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30912","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 03:36:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:27:06","updated":"2026-01-21 03:36:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/30912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=30912"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/30912\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/22890"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=30912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=30912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=30912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}