Python fir de Web: wat e Junior muss wëssen fir ze schaffen an z'entwéckelen

Mir hunn e kuerzen Transkript gemaach mat den Haaptgedanken aus dem Python Junior Podcast: an deem hu mir diskutéiert wou ufänken a wou goen als Ufänger Python Entwéckler. Zënter kuerzem hu mir vill Inhalter fir Mëttel- a Senioren, awer dës Episod ass definitiv fir Junioren.

Python fir de Web: wat e Junior muss wëssen fir ze schaffen an z'entwéckelen

Haaptthemen:

  • Wat Wëssen brauch en Ufänger Programméierer ze üben
    Web Entwécklung?
  • Wat erwaarden d'Patronen vun den Entwéckler?
  • Wat maache fir eng Aarbecht ouni Erfahrung ze fannen?
  • Wéi kann e Python Entwéckler entwéckelen?

Python Junior Podcast ass e Programméierungspodcast fir déi, déi Python besser wëllen verstoen. Emissioune gi vu Gemeinschaftsevangelisten geleet Moskau Python an Cours Enseignanten Learn Python.

Participanten am Gespréich:

  • Valentin Dombrovsky,Matgrënner vu Moskau Python
  • Zlata Obukhovskaya, NVIDIA Team Lead
  • Grigory Petrov, Evangelist Moskau Python
  • Alexey Shtyrnyaev, Entwéckler bei FinEx, Enseignant vu Léiercoursen
    Python

Firwat Python ass gutt fir Webentwécklung

Valentin Dombrovsky: Firwat ass Python gëeegent fir Webentwécklung? Firwat net PHP oder JavaScript, zum Beispill?

Grigory Petrov: Also et gëtt net vill Wiel. Trotz der Tatsaach, datt Dir am modernen Web tatsächlech eng eenzeg Säit Applikatioun oder progressiv Webapplikatioun ouni Backend kënnt bauen - reng mat Front-End Technologien, mat JavaScript - ass et nach ëmmer ze komplizéiert, schlecht indexéiert a erfuerdert cool Entwéckler.

Wa mir eng Websäit oder Service maache wëllen, benotze mir eng kombinéiert Approche: e puer Backend implementéiert d'Logik a kreéiert Websäiten, an e puer Frontend zéien dës Websäiten am Browser. A wa mir alles séier mussen op eppes zesummesetzen, hu mir net wierklech e Choix.

Loosst eis déi méiglech Optiounen kucken.

  • C#. Microsoft ass wierklech super, si hunn .NET Core gemaach a promovéieren et op all méiglech Manéier. Awer als éischt ass dëst eng nei Cross-Plattform Technologie, an do ass nach net alles glat. Zweetens, et ass wierklech deier, et gi wéineg C # Entwéckler - einfach well et onpopulär ass.
  • Java. Et ass komplizéiert. Eng normal Websäit am Java maachen brauch net 10 Zeilen Code, wéi am Python. Dëst ass vill Code, dëst si Kaderen, an Dir musst d'Spezifizitéite wëssen fir Java Server opzestellen. Am Allgemengen, kontinuéierlech Péng a Leed.
  • PHP. An de leschten Versiounen ass et wonnerbar. Ech wäert dëst souguer soen: PHP 7.2 ass net méi schlëmm wéi Python. Awer Dir kënnt net nëmmen PHP 7.2 ophuelen a benotzen. Wann e gewéinlechen, net Top-Entwéckler eng Websäit an PHP mécht, schreift hien net nëmmen am 7.2: hien muss nach ëmmer e puer Léierbicher, Tutorials liesen, et gëtt iwwerall vill Legacy Code, an dëst ass net ganz gutt.
  • JavaScript an Node.js. Et ass wonnerbar a ganz modern wann et eng Sprooch souwuel um Frontend wéi och um Backend ass. Just net ganz stabil. Node.js ass eng gutt Saach, awer et ass problematesch et an der Produktioun z'installéieren sou datt et net crasht a stabil funktionnéiert. Plus, wa mir Qualitéit JavaScript Code schreiwen wëllen, brauche mir net JavaScript, mee TypeScript. Awer TypeScript ass onerwaart komplex, an den duerchschnëttleche Entwéckler säi Gehir kachen wann se et gesinn.

Loosst eis Ruby, Haskell, Erlang an aner Nischsaachen ausgoen, a mir bleiwen mat ... Python. Eng Sprooch mat konsequent Syntax, eng eenheetlech Standardbibliothéik, déi bescht Dokumentatioun, populär liicht Kaderen, an de mega-populären Django kombinéieren.

Et stellt sech eraus datt, trotz der breetster Wiel, wa mir gewéinlech sinn, net Top-Entwéckler, mir sinn e gewéinlecht Geschäft dat gewéinlech Websäite maache wëllt, mir hu keng Entwécklungsdepartement fir 50 Leit, da huelen mir Python.

Wat Wëssen ass néideg fir de Beruff anzegoen?

Zlata Obukhovskaya: Ech gleewen datt Dir ee Kader gutt kennen muss - a wësse wat anerer existéieren a wéini se benotzt ginn. Wou ass Tornado, wou ass Django, wou ass Flask, wou ass aiohttp an sou weider.
Et wäert nëtzlech sinn ze wëssen datt et sou eppes wéi Protokoller gëtt. Besonnesch d'Wësse vum http Protokoll ass zentral fir Webapplikatiounen ze bauen.

Dir musst och op d'mannst ongeféier verstoen wéi de Frontend a Webprojeten funktionnéiert: wat ass HTML, CSS, JS.

Alexey Shtyrnyaev: A wësse wou d'Dokumentatioun ass. Et ass am wichtegsten.

Grigory Petrov: Hei trëppele mer op ganz wackelege Buedem. Wa mir Pech hunn a mir fänken iergendwéi eescht de modernen Frontend ze studéieren, da wäert et ongeféier 10 Mol méi komplizéiert sinn wéi de Backend am Python. En Ufänger Entwéckler muss säi Fokus limitéieren, fir datt hien HTML léiere kann, awer net an all dësen Divs, Spannen, Schwämmen verluer goen, wéi alles ausgeriicht an opgeriicht ass.

Alexey Shtyrnyaev: Braucht e Basis Bootstrap Cours. An d'Grondlage vun HTML.

Am éischte Joer sollt Dir net an JS Kaderen verdéiwen (wann Dir op de Backend fokusséiert). De Basis Bootstrap Cours huet scho fäerdeg Moduler: wann Dir e Schieber wëllt, maacht e Schieber; wann Dir e schwiewend Menü wëllt, maacht e schwiewend Menü.

Zlata Obukhovskaya: Ech denken, datt wann Dir de Frontend studéiert, kënnt Dir Iech besonnesch tauchen a wéi Statik allgemeng fir Webapplikatiounen ginn. Also geet den Entwéckler glat weider fir ze léieren wéi d'Architektur vu Webapplikatiounen am Prinzip funktionnéiert a wéi se an der Produktioun liewen.

Grigory Petrov: Jo, ech recommandéieren et direkt am Fall wou Dir Python als Backend Entwécklungssprooch gewielt hutt an zum Beispill Django als Kader: Django huet Dokumentatioun am Django Buch, et ass wierklech cool, et enthält alles wat Zlata gesot huet, hatt ass wierklech gutt fir en Ufänger.

Alexey Shtyrnyaev: E puer Django Girls sinn och gëeegent fir e schnelle Start wann Äert Zil ass Django ze léieren. Dëst ass en Tutorial wou Dir an engem Dag iwwer d'Spëtzt kënnt, d'Grondlage verstoen a wat de Kader fäeg ass.

Valentin Dombrovsky: Als Virbereedung fir de Podcast opzehuelen, hu mir eng Lëscht zesummegestallt vu wat e Python Programméierer fir Webentwécklung brauch, wat resüméiert wat mir virdru gesot hunn.

Wat ass an de Basics fir Webentwécklung am Python abegraff

  • Web Kaderen Django, Flask, aiohttp, Tornado, etc.. (a wëssen iwwer d'Existenz vun aneren).
  • Protokoller an APIen: haaptsächlech http, JSON-RPC, Protokollbuffer, gRPC.
  • ORM a Migratiounen, relational Datenbanken, SQLAlchemy, SQL, PostgreSQL, MySQL.
  • Basics vun HTML, CSS, Bootstrap, souwéi JS Kaderen a JQuery.
  • Prinzipien vun der Uwendungsoperatioun an der Produktioun, Testen, Eenheetstester, Autotester, Versiounskontrollsystemer, Git.

Braucht Junioren Algorithmen?

Zlata Obukhovskaya: Fir d'éischt musst Dir d'Algorithmen net kennen; si erschéngen graduell an Ärem Kapp wann Dir laang genuch mat der Entwécklung engagéiert. Ech kennen eng Tonn vu gudden Ingenieuren déi net e gudde formelle Algorithmus-Cours haten.

Grigory Petrov: Ech wëll Brennstoff op d'Feier addéieren. Wou kënnt eis Verlaangen no Algorithmen hier?

Mir hunn am Moment keng fundamental Ausbildung an Algorithmen, mir wëssen net wéi Programméierer ze trainéieren, mir hu keng technesch Basis.

Si probéieren dëst ze maachen, awer hei hu mir d'Geschicht vum Hogwarts: mir kënnen net eng Schoul fir Zauberer kreéieren wärend mir keen eenzegen Zauberer hunn. Dofir, wat soll eng Uni maachen wann se bei hinnen kommen a froen: "Start Training Programméierer," mä si hunn net Programméierer, well jiddereen op Mail.ru Wierker, Rambler an Yandex, si frou do?

D'Uni kuckt a seet:
- Okay, programméiere. Loosst eis e verwandte Wëssensberäich fannen an Spezialisten vun do aus invitéieren. Loosst eis Journalisten invitéieren déi Kopie kënne schreiwen, Elektroingenieuren déi elektresch Circuiten maache kënnen, a Mathematiker déi Algorithmen benotze kënnen.

Um Enn stellt sech eraus datt dëst sou praktesch ass wéi d'Partikelphysik vun engem Builder ze léieren just well Zillen an Zement aus Elementarpartikelen sinn.

Zur selwechter Zäit schwätze se net iwwer Zement a Zillen selwer, well de Physiker, dee probéiert e Builder ze trainéieren, weess net wéi d'Haiser bauen. Als Resultat kréie mir e Builder, dee perfekt beschreiwen kann wéi "Zement funktionnéiert", awer et ni gesinn huet an net weess wéi een eppes dovunner mécht.

Algorithmen an Datestrukture si ganz gutt, awer dëst ass e ganz klengen Uwendungsberäich. Si sinn dréngend gebraucht, zum Beispill, wann Dir e Spillmotor, Compiler oder Netzwierkprotokoll schreift.

Déi meescht Programméierer léisen Geschäftsproblemer wou Algorithmen an Datestrukturen net gebraucht ginn.

Déi schwéierst Mathematik do ass zweemol addéieren an dann deelen. Et erfuerdert ganz aner Wëssen. Geschäftsproblemer léisen erfuerdert haaptsächlech applizéiert anstatt fundamental Wëssen.

Et ass besser fir en Ufänger Entwéckler e Verständnis vu Geschäfter ze hunn a wéi Dir déi néideg Strukturen aus fäerdege Blöden korrekt a séier montéiert, wéi se se debuggen, wéi sécherstellen datt se net ausernee falen, wësse firwat se ausernee falen, wat geschitt wann Ufuerderungen änneren an de Programm fänkt "op der Fondatioun" wéi en Haus nom Reen.
Dëst sinn praktesch Saachen an e Verständnis wéi Software ze schreiwen. Hie muss wëssen datt nieft dem Debugger e Set vun Tools huet déi genau weisen wou de Programm verlangsamt gëtt.

Valentin Dombrovsky: Dëse Verglach koum a mengem Kapp: Dëst ass eng Iwwersetzung vun der Geschäftssprooch an eng Sprooch an där Dir mat engem Computer kommunizéieren kann. Dat ass, e Programméierer ass eng Aart vu spezifesche Linguist.

Grigory Petrov: Business brauch e Schrëftsteller, net e Linguist. De Schrëftsteller brauch net ze wëssen firwat virun dausend Joer dëst Wuert an dëst ëmgewandelt gouf. Hie muss dës Wierder kënnen applizéieren.

Wat Dir braucht fir Är éischt Aarbecht als Entwéckler ze fannen

Alexey Shtyrnyaev: Et gëtt wahrscheinlech keng universell Rezept fir wéi een Junior kachen.

Wann Dir an eng Firma kommt, wäerte se Iech net astellen well Dir Django, JSON an e puer Algorithmen kennt. Dir wäert héchstwahrscheinlech agestallt ginn fir d'Fäegkeeten déi dës Firma hei an elo brauch.

Et gi vill Firmen, a si hunn all verschidden Ufuerderunge. Et gëtt keng sou universell Betrag u Wëssen, déi musse kritt ginn fir e CV weider ze preparéieren an eng Aarbecht ze fannen.

Grigory Petrov: Wéi mir bei VoxImplant no verschiddenen Ingenieuren gesicht hunn, huet eisen techneschen Direkter déi Basisfuerderung esou formuléiert: eng Persoun muss fäeg sinn Problemer ze léisen. Et ass kloer datt e Junior dëst net ëmmer effektiv mécht, net op déi bescht Manéier an net ëmmer richteg, awer am Idealfall gitt Dir eng Persoun eng Aufgab, hien spannt a léist se. Dëst ass d'Fäegkeet déi d'Patronen haaptsächlech no sichen.

Zlata Obukhovskaya: Leit, déi Aarbecht aus anere Beräicher sichen, hunn e puer Virdeel aus enger geschäftlecher Siicht, well se schonn e Wee gaange sinn a fäeg sinn Problemer séier ze léisen. Dëst si mëll Fäegkeeten, ech géif et souguer Aarbechtskultur nennen. Oft hunn d'Universitéitsstudenten dës Aarbechtskultur nach net entwéckelt.

Awer ech wéilt nach ëmmer probéieren eng Aart Rezept un Ufänger ze ginn.

Éischt Schrëtt fir en Ufänger Entwéckler

Zlata Obukhovskaya: Déi éischt ass datt dëst nach ëmmer eng Aart vu eegene Projet ass, well Dir musst eppes an Ärem CV schreiwen an e minimale Portfolio weisen. Et ass méi cool wann dës Projete net fir Iech selwer gemaach ginn, awer als Freelance Projet - fir een.

No den éischte Projeten, kënnt Dir schonn e Resumé maachen an et un all Betriber schécken wou et Juni Positiounen sinn. Interviewen ginn Abléck an wat Firmen brauchen. Fréier oder spéider wäert een Iech astellen, op d'mannst an enger klenger Firma. Duerno wäert dës Aarbechtserfahrung Iech d'Méiglechkeet ginn an eng méi grouss a méi interessant Firma ze kommen.

Valentin Dombrovsky: Iwwregens, an eise Coursë preparéiere mir d'Schüler op en eegene Projet bannent 10 Wochen Training. Plus trainéiere mir Teamentwécklungsfäegkeeten. Dëst si genee déi mëll Fäegkeeten iwwer déi Zlata geschwat huet.

Alexey Shtyrnyaev: Ech kann Iech aus Erfahrung soen, datt et ganz laang daueren kann fir Är éischt Aarbecht ze sichen. Wann Dir no engem Mount oder zwee sicht, ass dat normal. Wann Dir Äre CV un all Firmen ofginn, gitt op Interviewen, am drëtte Mount fannt Dir definitiv eppes.

Valentin Dombrovsky: Dir kënnt Är eege Projete schneiden oder einfach Freelance Projeten iwwerhuelen a gläichzäiteg Äert CV schécken.

Wéi eng Perspektiven huet e Python Entwéckler?

Zlata Obukhovskaya: E Python Entwéckler kann iwwerall goen. Dir kënnt an Testen goen a weiderhin zu engem Senior Architekt entwéckelen. Oder souguer an d'Gestioun. Et gi verschidden Zorte vun technesch Manager, an Dir kënnt zu Top Gestioun wuessen. Dir kënnt an der Datewëssenschaft, DevOps entwéckelen, an automatiséiert Testen oder Maschinnléieren goen.

Valentin Dombrovsky: Am Allgemengen ginn et vill Méiglechkeeten a Méiglechkeeten, och eis Coursen. Dir braucht net vill Wëssen an der Entrée, awer et ass unzeroden dann eng méi breet Palette ze decken, well wat Dir méi kënnt, wat besser fir Iech.

***

Dëst ass just en Deel vun der Verëffentlechung Python Junior. Déi komplett Versioun vun der Episod ass verfügbar lauschteren.

Oder souguer kucken:

Spillt Video

Podcast RSS

Merci fir d'Liesen, Nolauschteren oder kucken.

Source: will.com

Setzt e Commentaire