Vodnik za popolne začetnike.
(Op. prev.: to so nasveti avtorja iz Indije, vendar se zdijo smiselni. Dopolnite v komentarjih.)

Mesec je dolga doba. Če boste namenili 6-7 ur na dan za učenje, lahko dosežete veliko.
Cilj za mesec:
- Seznaniti se z osnovnimi koncepti (spremenljivka, pogoj, seznam, zanka, funkcija)
- Praktično rešiti več kot 30 programerskih problemov
- Zbrati dva projekta, da bi uporabili nova znanja v praksi
- Seznaniti se vsaj z dvema okvirjema
- Začeti delati z IDE (razvijalno okolje), Githubom, gostovanjem, storitvami itd.
Tako boste postali mlajši razvijalec (junior) Python.
Zdaj načrt po tednih.
Članek je bil preveden s podporo podjetja EDISON Software, ki , kao i .
Prvi teden: spoznajte Python
Razumejte, kako vse deluje v Pythonu. Preverite čim več stvari.
- Dan 1: 4 osnovne koncepte (4 ure): vhod, izhod, spremenljivka, pogoji
- Dan 2: 4 osnovne koncepte (5 ur): seznam, zanka for, zanka while, funkcija, uvoz modula
- Dan 3: Enostavni programerski problemi (5 ur): zamenjati mesti dve spremenljivki, pretvoriti Celzijeve stopinje v Fahrenheite, izračunati vsoto vseh mest v številu, preveriti, ali je število prvo, generirati naključna števila, odstraniti podvojene elemente iz seznama
- Dan 4: Problemi programiranja srednje težave (6 ur): obrniti niz (preveriti, ali je palindrom), izračunati največji skupni delitelj, združiti dve urejeni tabeli, napisati igro ugibanja števil, izračunati starost itd.
- Dan 5: Strukture podatkov (6 ur): sklad, vrsta, slovar, tuple, povezan seznam
- Dan 6: OOP — Objektno usmerjeno programiranje (6 ur): objekt, klas, metoda in konstruktor, OOP dedovanje
- Dan 7: Algoritem (6 ur): iskanje (linearno in binarno), sortiranje (s pomočjo mehurčka, izbora), rekurzivna funkcija (faktoriel, Fibonaccijev niz), časovna zahtevnost algoritmov (linearnih, kvadratnih, stalnih)
Ne nameščajte Pythona:
Razumem, da se sliši protislovno. Ampak verjemite mi. Poznam veliko ljudi, ki so izgubili voljo do učenja, potem ko niso mogli namestiti razvoja ali programske opreme. Priporočam, da takoj preizkusite aplikacijo za Android, kot je ali spletno stran in začnite raziskovati jezik. Ne postavljajte si za cilj, da najprej namestite Python, če niste tehnološko podkovani.
Drugi teden: začnite razvijati programsko opremo (ustanovite projekt)
Pridobite izkušnje z razvojem programske opreme. Poskusite uporabiti vse, kar ste se naučili, da ustvarite prav projekt.
- Dan 1: Seznanite se z okoljem za razvoj (5 ur): Razvojno okolje je interaktivno okolje, kjer boste pisali kodo za največje projekte. Vsaj eno razvojno okolje morate dobro poznati. Priporočam, da začnete s ali Jupyter notebookom
- Dan 2: Github (6 ur): Raziščite , ustvarite repozitorij. Poskusite zakommitati, pushati kodo, izračunati razliko med dvema kakršnima koli Git drevesoma. Prav tako se seznanite z vejicami, združevanjem in pull requesti.
- Dan 3: Prvi projekt: Enostaven kalkulator (4 ure): Seznanite se s Tkinterjem. .
- Dan 4, 5, 6: Osebni projekt (5 ur na dan): Izberite enega od projektov in začnite delati na njem. Če nimate idej za projekt, si oglejte ta seznam:
- Dan 7: Storitve gostovanja (5 ur): Spoznajte strežnik in gostovanje, da . Nastavite Heroku in razporedite gradnjo vaše aplikacije.
Zakaj projekt:
Samo slepo sledenje korakom v lekciji ali videu ne bo razvilo vaše sposobnosti razmišljanja. Morate uporabiti svoje znanje v projektu. Takoj ko boste porabili vse svoje sile za iskanje odgovora, si ga boste zapomnili.
Tretji teden: usposobite se kot programer
Vaš cilj v 3. tednu je pridobiti splošno razumevanje procesa razvoja programske opreme. Ni vam treba izpopolniti svojih spretnosti. Vendar morate poznati nekaj osnov, saj bodo te vplivale na vaše vsakodnevno delo.
- Dan 1: Osnove baz podatkov (6 ur): Osnovni SQL poizvedba (Ustvari tabelo, Izberi, Kje, Posodobi), SQL funkcije (Avg, Max, Count), relacijska baza podatkov (Normalizacija), notranje povezovanje, zunanje povezovanje itd.
- Dan 2: Uporabite baze podatkov v Pythonu (5 ur): Uporabite okvir baz podatkov (SQLite ali Pandas), povežite se z bazo podatkov, ustvarite in dodajte podatke v več tabel, preberite podatke iz tabel
- Dan 3: API (5 ur): Naučite se klicati API, pripravite JSON, mikroservise, REST API
- Dan 4: Numpy (4 ure): in vadite njegovo uporabo na
- Dan 5, 6: Portfolio sajta (5 sati svaki dan): Naučite Django, , takođe pogledajte framework Flask
- Dan 7: Jedinični testovi, logovi, debagovanje (4 sata): Razumevanje jediničnih testova (PyTest), naučite raditi sa logovima i proveravati ih, kao i koristiti tačke prekida
Pravi vremenski okvir (Tajna):
Ako se ozbiljno posvetite ovoj temi i uložite sav svoj trud, možete sve završiti za mesec dana.
- Učite Python neprekidno. Počnite u 8 ujutro i radite na tome do 5 popodne. Napravite pauzu za ručak i užinu (ukupno sat vremena)
- U 8 ujutro napravite spisak stvari koje ćete danas učiti. Zatim odvojite sat vremena da ponovite i praktično isprobate sve što ste naučili juče.
- Od 9 ujutro do 12 popodne učite i vežbajte nešto manje. Nakon ručka, povećajte tempo. Ako zapnete na nekom problemu, potražite rešenje na mreži.
- Svaki dan trošite od 4-5 sati na učenje i 2-3 sata na praksu. (maksimalno možete sebi priuštiti jedan slobodan dan u nedelji)
- Vaši prijatelji će pomisliti da ste ludi. Ne razočaravajte ih — uskladite se sa tim imidžem.
Ako radite full-time ili studirate na univerzitetu, potreban vam je više vremena. Kao studentu, trebalo mi je 8 meseci da završim sve navedeno na listi. Sada radim kao senior developer. Mojoj ženi, koja radi u centralnoj banci SAD, bilo je potrebno šest meseci da završi sve zadatke sa liste. Nije važno koliko će vremena proći. Završite listu.
Četvrta nedelja: ozbiljno se posvetite traženju posla (prakse)
Vaš cilj četvrte nedelje je da ozbiljno razmislite o zapošljavanju. Čak i ako trenutno ne želite posao, mnogo ćete naučiti u procesu intervjua.
- Dan 1: CV (5 sati): Napravite jednopažni CV. Na vrhu CV-a stavite kratak pregled svojih veština. Obavezno dodajte listu svojih projekata sa linkovima ka Github-u.
- Dan 2: Portfolio sajta (6 sati): Napišite nekoliko blogova. Dodajte ih u prethodni portfolio sajta koji ste napravili.
- Dan 3: LinkedIn profil (4 sata): Kreirajte profil na LinkedIn-u. Prenesite sve iz CV-a na LinkedIn.
- Dan 4: Priprema za intervju (7 sati): Iščite najpogostejša vprašanja na razgovorih. Vadite reševanje 10 programerskih problemov, o katerih sprašujejo na razgovorih. To delajte na papirju. Vprašanja z razgovorov lahko najdete na spletnih straneh, kot sta Glassdoor in Careercup.
- Dan 5: Mrežno povezovanje (~ ur): Pojdite iz svojega skrivalnice. Začnite obiskovati srečanja, sejne dogodke. Spoznajte rekruterje in druge razvijalce.
- Dan 6: Preprosto se prijavite na razpise (~ ur): Iščite 'služba Python', poglejte, kakšne razpise imate na LinkedInu in lokalnih delovnih spletnih straneh. Izberite 3 razpise, na katere se prijavite. Prilagodite svoj življenjepis za vsak od njih. Poiščite 2-3 stvari na seznamu zahtev, ki jih ne poznate. Porabite naslednje 3-4 dni, da jih spoznate.
- Dan 7: Učite se iz zavrnitve (~ ur): Vsakič, ko prejmete zavrnitev, določite 2 stvari, ki se jih morate naučiti, da dobite službo. Nato porabite 4-5 dni za izpopolnitev svojih veščin na teh vprašanjih. Tako boste po vsaki zavrnitvi postali boljši razvijalec.
Pripravljenost na delo:
Resnica je, da nikoli ne boste 100% pripravljeni za delo. Vse, kar morate narediti, je, da se zelo dobro naučite 1-2 stvari. In seznanite se z drugimi vprašanji, da premagate oviro razgovorov. Ko enkrat dobite delo, se boste veliko naučili.
Uživajte v procesu:
Učenje je proces. Na vaši poti bodo zagotovo težave. Več kot jih boste imeli, boljši boste kot razvijalec.
Če vam uspe dokončati seznam v 28 dneh, ste pravi junak. Toda tudi če izvedete 60-70% seznama, boste razvili potrebne veščine in sposobnosti. Te vam bodo pomagale postati programer.
Kje se učiti:
Če še vedno ne veste, kje začeti,
- (zabavna android aplikacija za učenje Pythona)
- (brezplačni viri za učenje v spletni različici)
- (glejte videe in se učite)
Želim vam vznemirljivo potovanje. Prihodnost je v vaših rokah.
Prevod: Diana Šeremjeva
Izvor: habr.com
