Við gerðum stutt afrit með helstu hugleiðingum frá Python Junior Podcast: í því ræddum við hvar á að byrja og hvert á að fara sem byrjandi Python verktaki. Undanfarið erum við með mikið efni fyrir miðstig og eldri en þessi þáttur er svo sannarlega fyrir yngri.

Helstu viðfangsefni:
- Hvaða þekkingu þarf nýliði forritari til að æfa sig
vef þróun? - Við hverju búast vinnuveitendur af hönnuðum?
- Hvað á að gera til að finna vinnu án reynslu?
- Hvernig getur Python verktaki þróast?
Python Junior Podcast er forritunarpodcast fyrir þá sem vilja skilja Python betur. Útsendingar eru á vegum samfélagsboða og námskeiðskennarar .
Þátttakendur í samtalinu:
- Valentin Dombrovsky,annar stofnandi MoscowPython
- Zlata Obukhovskaya, NVIDIA liðsstjóri
- Grigory Petrov, guðspjallamaður MoskvuPython
- Alexey Shtyrnyaev, verktaki hjá FinEx, kennari Learn námskeiða
Python
Af hverju Python er gott fyrir vefþróun
Valentin Dombrovsky: Af hverju hentar Python fyrir vefþróun? Af hverju ekki PHP eða JavaScript, til dæmis?
Grigory Petrov: Svo það er ekki mikið úrval. Þrátt fyrir þá staðreynd að á nútíma vefnum er í raun hægt að smíða eitt blaðsíðuforrit eða framsækið vefforrit án bakenda - eingöngu með því að nota framhliðartækni, með því að nota JavaScript - er það enn of flókið, illa skráð og krefst flottra forritara.
Ef við viljum búa til vefsíðu eða þjónustu, notum við sameinaða nálgun: Sum bakenda útfærir rökfræðina og býr til vefsíður og einhver framhlið teiknar þessar vefsíður í vafranum. Og þegar við þurfum að setja þetta allt saman á eitthvað fljótt, höfum við í raun ekki val.
Við skulum skoða mögulega valkosti.
- C#. Microsoft er virkilega frábært, þeir bjuggu til .NET Core og eru að kynna það á allan mögulegan hátt. En í fyrsta lagi er þetta ný þverpallatækni og ekki er allt slétt þar ennþá. Í öðru lagi, það er mjög dýrt, það eru fáir C# forritarar - einfaldlega vegna þess að það er óvinsælt.
- Java. Það er flókið. Að búa til venjulega vefsíðu í Java þarf ekki 10 línur af kóða, eins og í Python. Þetta er mikill kóða, þetta eru rammar og þú þarft að vita sérkenni þess að setja upp Java netþjóna. Almennt, stöðugur sársauki og þjáning.
- PHP. Í nýjustu útgáfum er það dásamlegt. Ég mun jafnvel segja þetta: PHP 7.2 er ekkert verra en Python. En þú getur ekki bara tekið upp og notað PHP 7.2. Ef venjulegur, ekki toppforritari gerir vefsíðu í PHP, mun hann ekki skrifa aðeins í 7.2: hann verður samt að lesa nokkrar kennslubækur, kennsluefni, það er mikið af eldri kóða alls staðar og þetta er ekki mjög gott.
- JavaScript og Node.js. Það er yndislegt og mjög nútímalegt þegar það er eitt tungumál á bæði framenda og bakenda. Bara ekki mjög stöðugt. Node.js er af hinu góða, en það er vandkvæðum bundið að setja það í framleiðslu þannig að það hrynji ekki og virki stöðugt. Auk þess, ef við viljum skrifa gæða JavaScript kóða, þurfum við ekki JavaScript, heldur TypeScript. En TypeScript er óvænt flókið og gáfur meðalframleiðenda sjóða þegar þeir sjá það.
Sleppum Ruby, Haskell, Erlang og öðru sessdóti, og við sitjum eftir með... Python. Tungumál með samræmdri setningafræði, samræmdu stöðluðu bókasafni, bestu skjölunum, vinsælum léttum ramma og hinn stórvinsæla Django sameinast.
Það kemur í ljós að þrátt fyrir mesta úrvalið, ef við erum með venjulega, ekki topphönnuði, erum við venjulegt fyrirtæki sem vill gera venjulegar vefsíður, við erum ekki með þróunardeild fyrir 50 manns, þá tökum við Python.
Hvaða þekkingu þarf til að komast inn í fagið?
Zlata Obukhovskaya: Ég tel að þú þurfir að þekkja eina ramma vel - og vita hvað aðrir eru til og hvenær þeir eru notaðir. Hvar er Tornado, hvar er Django, hvar er Flask, hvar er aiohttp og svo framvegis.
Það mun vera gagnlegt að vita að það er til eitthvað sem heitir siðareglur. Sérstaklega er þekking á http-samskiptareglum lykilatriði í uppbyggingu vefforrita.
Þú þarft líka að minnsta kosti að skilja nokkurn veginn hvernig framendinn virkar í vefverkefnum: hvað er HTML, CSS, JS.
Alexey Shtyrnyaev: Og vita hvar skjölin eru. Það er mikilvægast.
Grigory Petrov: Hér erum við að stíga á mjög skjálfta grund. Ef við erum óheppin og byrjum einhvern veginn alvarlega að rannsaka nútíma framenda, þá verður það um það bil 10 sinnum flóknara en bakendinn í Python. Nýliði þróunaraðili þarf að takmarka einbeitingu sína þannig að hann geti byrjað að læra HTML, en ekki týnast í öllum þessum deildum, spannum, fljótunum, hvernig allt er stillt upp og raðað upp.
Alexey Shtyrnyaev: Vantar grunn Bootstrap námskeið. Og grunnatriði HTML.
Á fyrsta ári ættirðu ekki að kafa ofan í JS ramma (ef þú ert að einbeita þér að bakendanum). Grunnnámið Bootstrap hefur nú þegar tilbúnar einingar: ef þú vilt renna skaltu búa til renna; ef þú vilt fljótandi valmynd, búðu til fljótandi valmynd.
Zlata Obukhovskaya: Ég held að á meðan þú rannsakar framenda geturðu sökkt þér, sérstaklega, í hvernig truflanir eru almennt gefnar fyrir vefforrit. Þannig að verktaki heldur áfram að byrja að læra hvernig arkitektúr vefforrita virkar í grundvallaratriðum og hvernig þau lifa í framleiðslu.
Grigory Petrov: Já, ég mun mæla með því strax ef þú velur Python sem bakend þróunartungumál og til dæmis Django sem ramma: Django er með skjöl í Django bókinni, hún er mjög flott, hún inniheldur allt sem Zlata sagði, hún virkilega gott fyrir byrjendur.
Alexey Shtyrnyaev: Sumar Django stúlkur henta líka til að byrja fljótt ef markmið þitt er að læra Django. Þetta er kennsla þar sem á einum degi geturðu farið yfir toppinn, skilið grunnatriðin og hvers umgjörðin er fær um.
Valentin Dombrovsky: Til undirbúnings fyrir upptöku á hlaðvarpinu tókum við saman lista yfir það sem Python forritari þarf til vefþróunar, sem dregur saman það sem við sögðum áðan.
Hvað er innifalið í grunnatriðum fyrir vefþróun í Python
- Vef rammar Django, Flask, aiohttp, Tornado, o.fl. (og vita um tilvist annarra).
- Samskiptareglur og API: fyrst og fremst http, JSON-RPC, Protocol Buffers, gRPC.
- ORM og fólksflutningar, venslagagnagrunnar, SQLAlchemy, SQL, PostgreSQL, MySQL.
- Grunnatriði HTML, CSS, Bootstrap, sem og JS ramma og JQuery.
- Meginreglur um notkun forrita í framleiðslu, prófunum, einingaprófum, sjálfvirkum prófunum, útgáfustýringarkerfum, git.
Þurfa yngri algrím?
Zlata Obukhovskaya: Í fyrstu þarftu ekki að þekkja reikniritin; þau birtast smám saman í höfðinu á þér ef þú tekur þátt í þróun nógu lengi. Ég þekki fullt af góðum verkfræðingum sem hafa ekki farið í gott formlegt algrímanámskeið.
Grigory Petrov: Ég vil hella olíu á eldinn. Hvaðan kemur þrá okkar í reiknirit?
Við höfum ekki grunnmenntun í reikniritum eins og er, við vitum ekki hvernig á að þjálfa forritara, við höfum ekki tæknilegan grunn.
Þeir eru að reyna að gera þetta, en hér höfum við söguna af Hogwarts: við getum ekki búið til skóla fyrir galdramenn á meðan við höfum ekki einn galdramann. Þess vegna, hvað ætti háskóli að gera þegar þeir koma til þeirra og spyrja: "Byrjaðu að þjálfa forritara," en þeir eru ekki með forritara, vegna þess að allir vinna á Mail.ru, Rambler og Yandex, þeim líður vel þar?
Háskólinn lítur og segir:
- Allt í lagi, forritun. Við skulum finna eitthvað tengt þekkingarsvið og bjóða sérfræðingum þaðan. Bjóðum blaðamönnum sem geta skrifað afrit, rafmagnsverkfræðingum sem geta búið til rafrásir og stærðfræðingum sem geta notað reiknirit.
Á endanum kemur í ljós að þetta er eins hagnýtt og að kenna byggingareiningaeðlisfræði bara vegna þess að múrsteinn og sement eru úr grunnögnum.
Á sama tíma tala þeir ekki um sement og múrsteina sjálfir, vegna þess að eðlisfræðingurinn sem er að reyna að þjálfa byggingarmann kann ekki að byggja hús. Fyrir vikið fáum við byggingaraðila sem getur lýst fullkomlega hvernig „sement virkar“ en hefur aldrei séð það og veit ekki hvernig á að búa til neitt úr því.
Reiknirit og gagnauppbygging eru mjög góð, en þetta er mjög lítið notkunarsvæði. Þeir eru brýn þörf, til dæmis ef þú ert að skrifa leikjavél, þýðanda eða netsamskiptareglur.
Flestir forritarar leysa viðskiptavandamál þar sem ekki er þörf á reikniritum og gagnaskipulagi.
Erfiðasta stærðfræðin þar er að leggja saman tvisvar og svo deila. Það þarf allt aðra þekkingu. Að leysa viðskiptavandamál krefst aðallega beittrar þekkingar en ekki grundvallarþekkingar.
Það er betra fyrir nýliða verktaki að hafa skilning á viðskiptum og hvernig á að setja saman nauðsynleg mannvirki rétt og fljótt úr tilbúnum kubbum, hvernig á að kemba þá, hvernig á að tryggja að þeir falli ekki í sundur, vita hvers vegna þeir falla í sundur, hvað gerist þegar kröfur breytast og forritið byrjar að "setjast á grunninn" eins og hús eftir rigningu.
Þetta eru hagnýt atriði og skilningur á því hvernig á að skrifa hugbúnað. Hann þarf að vita að auk kembiforritsins hefur hann sett af verkfærum sem sýna nákvæmlega hvar forritið hægir á sér.
Valentin Dombrovsky: Mér datt þessi samanburður í hug: þetta er þýðing úr tungumáli viðskipta yfir á tungumál þar sem þú getur átt samskipti við tölvu. Það er að segja að forritari er eins konar sérstakur málfræðingur.
Grigory Petrov: Viðskipti þurfa rithöfund, ekki málfræðing. Rithöfundurinn þarf ekki að vita hvers vegna fyrir þúsund árum var þessu orði breytt í þetta. Hann þarf að geta beitt þessum orðum.
Það sem þú þarft til að finna þitt fyrsta starf sem þróunaraðili
Alexey Shtyrnyaev: Það er líklega engin alhliða uppskrift að því hvernig á að elda yngri.
Ef þú kemur til einhvers fyrirtækis munu þeir ráða þig ekki vegna þess að þú þekkir Django, JSON og nokkra reiknirit. Þú verður líklega ráðinn fyrir þá kunnáttu sem þetta fyrirtæki þarf hér og nú.
Það eru mörg fyrirtæki og þau hafa öll mismunandi kröfur. Það er ekkert slíkt alhliða magn af þekkingu sem þarf að afla til að undirbúa frekar ferilskrá og fara að finna vinnu.
Grigory Petrov: Þegar við hjá VoxImplant vorum að leita að nokkrum verkfræðingum setti tæknistjórinn okkar fram grunnkröfuna sem hér segir: maður verður að geta leyst vandamál. Það er ljóst að yngri mun ekki alltaf gera þetta á áhrifaríkan hátt, ekki á besta hátt og ekki alltaf rétt, en helst gefur þú manni verkefni, hann reynir og leysir það. Þetta er kunnáttan sem vinnuveitendur eru fyrst og fremst að leita að.
Zlata Obukhovskaya: Fólk sem er að leita að vinnu á öðrum sviðum hefur nokkra yfirburði frá viðskiptalegu sjónarmiði því það hefur þegar farið eitthvað og getur leyst vandamál fljótt. Þetta eru mjúkir hæfileikar, ég myndi jafnvel kalla það vinnumenningu. Oft hafa háskólamenntaðir ekki enn þróað þessa vinnumenningu.
En mig langar samt að reyna að gefa byrjendum einhverskonar uppskrift.
Fyrstu skrefin fyrir nýliða þróunaraðila
Zlata Obukhovskaya: Fyrsta er að þetta er samt einhvers konar eigin verkefni, vegna þess að þú þarft að skrifa eitthvað í ferilskrána þína og sýna lágmarks eigu. Það er svalara þegar þessi verkefni eru ekki gerð fyrir þig, heldur sem sjálfstætt verkefni - fyrir einhvern.
Eftir fyrstu verkefnin er nú þegar hægt að gera ferilskrá og senda til allra fyrirtækja þar sem júnístöður eru. Viðtöl gefa innsýn í hvað fyrirtæki þurfa. Fyrr eða síðar mun einhver ráða þig, að minnsta kosti í litlu fyrirtæki. Í kjölfarið mun þessi starfsreynsla gefa þér tækifæri til að komast inn í stærra og áhugaverðara fyrirtæki.
Valentin Dombrovsky: Við the vegur, á námskeiðum okkar undirbúum við nemendur undir að hafa eigið verkefni innan 10 vikna frá þjálfun. Auk þess þjálfum við liðsþróunarhæfileika. Þetta eru einmitt mjúku hæfileikarnir sem Zlata talaði um.
Alexey Shtyrnyaev: Ég get sagt þér af reynslu að það getur tekið mjög langan tíma að leita að þínu fyrsta starfi. Þegar þú ert að leita að mánuði eða tveimur, þá er það eðlilegt. Ef þú sendir ferilskrá þína til allra fyrirtækja, farðu í viðtöl, á þriðja mánuði muntu örugglega finna eitthvað.
Valentin Dombrovsky: Þú getur klippt til þín eigin verkefni eða tekið að þér einföld sjálfstætt verkefni og á sama tíma sent út ferilskrána þína.
Hvaða horfur hefur Python verktaki?
Zlata Obukhovskaya: Python verktaki getur farið hvert sem er. Þú getur farið í prófanir og haldið áfram að þróast í háttsettan arkitekt. Eða jafnvel í stjórnun. Það eru mismunandi tegundir tæknistjóra og þú getur vaxið upp í æðstu stjórnendur. Þú getur þróað í gagnafræði, DevOps, farið í sjálfvirkar prófanir eða vélanám.
Valentin Dombrovsky: Almennt séð er mikið af valmöguleikum og tækifærum, þar á meðal námskeiðin okkar. Þú þarft ekki mikla þekkingu við innganginn, en það er ráðlegt að ná yfir breitt svið, því því meira sem þú getur, því betra fyrir þig.
***
Þetta er bara hluti af útgáfunni . Heildarútgáfan af þættinum er fáanleg .
Eða jafnvel líta:

Takk fyrir að lesa, hlusta eða horfa.
Heimild: www.habr.com
