Ceļvedis absolūtiem iesācējiem.
(P.S.: tās ir autora-indiāņa padomi, bet šķiet noderīgi. Aizpildiet komentāros.)

Mēnesis — tas ir daudz laika. Ja mācībām veltīsi 6-7 stundas katru dienu, var paveikt daudz.
Mērķis uz mēnesi:
- Iejusties pamatjēdzienos (mainīgais, nosacījums, saraksts, cikls, funkcija)
- Praktizēt vairāk nekā 30 programmēšanas problēmas
- Sava divu projektu izstrāde, lai pielietotu jauniegūtās zināšanas
- Vismaz iepazīties ar diviem ietvariem
- Sākt darbu ar IDE (izstrādes vidi), Github, hostingu, pakalpojumiem utt.
Tad tu kļūsi par junior Python izstrādātāju.
Tagad plāns nedēļām.
Raksts tulkots ar EDISON Software atbalstu, kas , kā arī .
Pirmā nedēļa: iepazīstieties ar Python
Izproti, kā visa struktūra darbojas Python. Pārbaudi pēc iespējas vairāk lietas.
- Diena 1: 4 pamata koncepti (4 stundas): ievade, izejde, mainīgais, nosacījumi
- Diena 2: 4 pamata koncepti (5 stundas): saraksts, for cikls, while cikls, funkcija, moduļu imports
- Diena 3: Vienkāršas programmēšanas problēmas (5 stundas): apmainīt divus mainīgos, pārvērst Celsius grādus Fārenheita grādos, saskaitīt visas ciparu summas skaitlī, pārbaudīt skaitļa primāro statusu, ģenerēt nejaušu skaitli, izdzēst dublikātu no saraksta
- Diena 4: Vidējās sarežģītības programmēšanas problēmas (6 stundas): apgriezt virkni (pārbaudīt uz palindromu), saskaitīt lielāko kopējo dalītāju, apvienot divus sakārtotus masīvus, uzrakstīt skaitļu minēšanas spēli, aprēķināt vecumu utt.
- Diena 5: Datu struktūras (6 stundas): kaudze, rinda, vārdnīca, tuples, saistīts saraksts
- Diena 6: OOP — Objektorientētā programmēšana (6 stundas): objekts, klase, metode un konstruktors, OOP mantojums
- Diena 7: Algoritmi (6 stundas): meklēšana (lineāra un bināra), šķirošana (burbuļa metode, izvēle), rekursīvā funkcija (faktoriāls, Fibonaci secība), algoritmu laika sarežģītība (lineārie, kvadrātiskie, konstanti)
Neinstalējiet Python:
Es saprotu, tas izklausās pretrunīgi. Bet ticiet man. Es pazīstu daudz cilvēku, kuri zaudēja interesi mācīties pēc tam, kad viņi nespēja uzstādīt izstrādes vidi vai programmatūru. Es iesaku uzreiz mēģināt Android lietotni, piemēram, vai mājaslapu un sākt izpētīt valodu. Neuzstādiet sev mērķi vispirms instalēt Python, ja jums nav pietiekamu tehnisko zināšanu.
Otrā nedēļa: uzsāciet programmatūras izstrādi (sagatavojiet projektu)
Iegūstiet pieredzi programmatūras izstrādē. Mēģiniet izmantot visu, ko esat iemācījušies, lai izveidotu reālu projektu.
- 1. diena: Iepazīstieties ar izstrādes vidi (5 stundas): Izstrādes vide ir interaktīva vide, kurā jūs rakstīsiet kodu lieliem projektiem. Jums jāzina vismaz viena izstrādes vide. Es iesaku sākt ar vai Jupyter notebook
- 2. diena: Github (6 stundas): Iepazīstieties ar , izveidojiet repozitoriju. Mēģiniet apstiprināt, augšupielādēt kodu, aprēķināt atšķirību starp divām jebkurām Git kokiem. Tāpat izpratiet par zarojumiem, sapludināšanu un pull requestiem.
- 3. diena: Pirmais projekts: Vienkāršs Kalkulators (4 stundas): Iepazīstieties ar Tkinter. .
- 4., 5., 6. diena: Personīgais projekts (5 stundas katru dienu): Izvēlieties vienu no projektiem un sāciet pie tā strādāt. Ja jums nav ideju projektam, apskatiet šo sarakstu:
- 7. diena: Viesnīca (5 stundas): Iepazīstieties ar serveri un viesnīcu, lai . Iestatiet Heroku un izvietojiet jūsu aplikācijas izstrādi.
Kāpēc projekts:
Vienkārši akli sekojot soļiem mācību video vai lekcijā, jūs neattīstīsiet domāšanas prasmes. Jums jāpielieto savas zināšanas projektā. Kad esat iztērējis visus spēkus atbildes meklēšanai, jūs to atcerēsities.
Trešā nedēļa: apmācieties kā programmētājs
Jūsu mērķis trešajā nedēļā ir iegūt vispārēju priekšstatu par programmatūras izstrādes procesu. Jums nebūs nepieciešams pilnveidot savas prasmes. Bet jums jāzina daži pamati, jo tie ietekmēs jūsu ikdienas darbu.
- 1. diena: Datu bāzu pamati (6 stundas): Pamata SQL vaicājums (Create Table, Select, Where, Update), SQL funkcijas (Avg, Max, Count), relāciju datu bāze (Normalizācija), iekšējā savienošana, ārējā savienošana utt.
- 2. diena: Izmantojiet datu bāzes Python valodā (5 stundas): Izmantojiet datu bāzu ietvaru (SQLite vai Pandas), pieslēdzieties datu bāzei, izveidojiet un pievienojiet datus vairākām tabulām, lasiet datus no tabulām
- 3. diena: API (5 stundas): Iemācieties izsaukt API, apgūstiet JSON, mikroservisus, REST API
- 4. diena: Numpy (4 stundas): un praktizējiet tā izmantošanu uz
- 5. un 6. diena: Vietnes portfelis (5 stundas katru dienu): Apgūstiet Django, , aplūkojiet arī Flask ietvaru
- 7. diena: Vienību testi, žurnāli, atkļūdošana (4 stundas): Iepazīstieties ar vienību testiem (PyTest), apgūstiet darbu ar žurnāliem un to pārbaudi, kā arī izmantojiet pārrāvumus
Reālais laika apjoms (noslēpums):
Ja esat veltījis sevi šai tēmai un piešķirat tai visu savu uzmanību, tad spēsiet paveikt visu mēneša laikā.
- Pastāvīgi mācieties Python. Sāciet plkst. 8 no rīta un studējiet līdz 5 pēcpusdienā. Veiciet pusdienu un uzkodu pārtraukumu (kopā vienu stundu)
- Plkst. 8 no rīta izstrādājiet sarakstu ar lietām, ko plānojat apgūt šodien. Pēc tam veltiet stundu, lai atcerētos un praktiski izmēģinātu visu, ko iemācījāties pagājušajā dienā.
- No plkst. 9 līdz 12 mācieties un praktizējieties mazāk. Pēc pusdienām palieliniet intensitāti. Ja esat iestrēdzis kādā problēmā, meklējiet risinājumu internetā.
- Katru dienu veltiet 4-5 stundas mācībām un 2-3 stundas praksē. (maksimums — varat atļauties vienu brīvdienu nedēļā)
- Jūsu draugi domās, ka esat traks. Nepieviļiet viņus — atbilstiet tēlam.
Ja strādājat pilnu darba laiku vai studējat universitātē, jums vajadzēs vairāk laika. Būdams students, man vajadzēja 8 mēnešus, lai paveiktu visu sarakstā. Tagad es strādāju kā vecākais izstrādātājs. Manai sievai, kas strādā ASV centrālajā bankā, vajadzēja pusgadu, lai pabeigtu visus uzdevumus. Nav svarīgi, cik ilgs laiks tas prasīs. Pabeidziet sarakstu.
Ceturtā nedēļa: ņemiet nopietni, lai iegūtu darbu (praksē)
Ceturtās nedēļas mērķis ir nopietni pārdomāt, kā iegūt darbu. Pat ja šobrīd nevēlaties strādāt, jūs daudz iemācīsieties interviju procesā.
- 1. diena: CV (5 stundas): Izveidojiet vienas lapas CV. Augšējā daļā norādiet īsu informāciju par savām prasmēm. Noteikti pievienojiet savu projektu sarakstu ar saitēm uz Github.
- 2. diena: Vietnes portfelis (6 stundas): Uzrakstiet dažus blogus. Pievienojiet tos iepriekšējam vietnes portfelim, ko izveidojāt.
- 3. diena: LinkedIn profils (4 stundas): Izveidojiet profilu LinkedIn. Pārnesiet LinkedIn visu, kas ir jūsu CV.
- 4. diena: Sagatavošanās intervijai (7 stundas): Ieguglējiet visbiežāk uzdotos jautājumus intervijās. Praktizējiet 10 programmēšanas problēmu risināšanu, par kurām jautā intervijās. Veiciet to uz papīra. Interviju jautājumus var atrast tādās vietnēs kā Glassdoor, Careercup.
- 5. diena: Tīklošana (~ stundas): Izejiet no skapja. Sāciet apmeklēt meet-upus, darba gadatirgus. Iepazīstieties ar rekrutētājiem un citiem izstrādātājiem.
- 6. diena: Vienkārši pieteikieties vakancēm (~ stundas): Ieguglējiet "darbs Python", paskatieties, kādas vakances ir LinkedIn un vietējās darba sludinājumu vietnēs. Izvēlieties 3 vakances, uz kurām pieteiksieties. Pielāgojiet savu CV katrai no tām. Atrodiet 2-3 prasības, par kurām neko nezināt. Pavadiet nākamās 3-4 dienas, lai tās apgūtu.
- 7. diena: Mācieties no atteikumiem (~ stundas): Katra reize, kad saņemat atteikumu, nosakiet 2 lietas, kuras jums jāzina, lai iegūtu darbu. Tad pavadiet 4-5 dienas, lai uzlabotu savas prasmes šajās jomās. Tādējādi, pēc katra atteikuma jūs kļūsiet labāks kā izstrādātājs.
Gatavība darbam:
Patiesība ir tāda, ka jūs nekad neesat pilnībā gatavs darbam. Viss, kas jums jādara, ir ļoti labi apgūt 1-2 lietas. Un iepazīties ar citiem jautājumiem, lai pārvarētu interviju barjeras. Tiklīdz iegūsiet darbu, jūs daudz iemācīsieties tajā.
Baudiet procesu:
Mācīšanās ir process. Jūsu ceļojumā noteikti būs grūtības. Jo vairāk ir grūtību — jo labāks jūs kļūsiet kā izstrādātājs.
Ja jums izdodas pabeigt sarakstu 28 dienās, jūs esat liels čalis. Bet pat ja izpildīsiet 60-70% saraksta, jūs attīstīsiet nepieciešamās īpašības un prasmes. Tās palīdzēs jums kļūt par programmētāju.
Kur mācīties:
Ja joprojām nezināt, ar ko sākt,
- (pievilcīga Android lietotne Python apguvei)
- (bezmaksas resursi mācībām tīmekļa versijā)
- (skatieties video un mācieties)
Vēlu jums aizraujošu ceļojumu. Nākotne ir jūsu rokās.
Tulkots: Diana Šeremjova
Avots: habr.com
