En guide för absoluta nybörjare.
(Anm. frÄn översÀttaren: dessa Àr rÄd frÄn en indisk författare, men verkar vara anvÀndbara. LÀgg gÀrna till i kommentarerna.)

En mÄnad Àr mycket tid. Om man lÀgger 6-7 timmar pÄ lÀrande varje dag, kan man Ästadkomma mycket.
MÄl för mÄnaden:
- Bekanta dig med grundlÀggande begrepp (variabel, villkor, lista, loop, funktion)
- FÄ praktisk erfarenhet av mer Àn 30 programmeringsproblem
- Skapa tvÄ projekt för att tillÀmpa dina nya kunskaper
- Bekanta dig med minst tvÄ ramverk
- Börja arbeta med en IDE (integrerad utvecklingsmiljö), Github, webhosting, tjÀnster osv.
SĂ„ blir du junior Python-utvecklare.
Nu Àr planen veckovis.
Artikeln Àr översatt med stöd av företaget EDISON Software, som , samt .
Första veckan: bekanta dig med Python
Ta reda pÄ hur allt fungerar i Python. Testa sÄ mycket som möjligt.
- Dag 1: 4 grundlÀggande koncept (4 timmar): indata, utdata, variabel, villkor
- Dag 2: 4 grundlÀggande koncept (5 timmar): lista, for-loop, while-loop, funktion, importera moduler
- Dag 3: Enkla programmeringsproblem (5 timmar): byta plats pÄ tvÄ variabler, konvertera grader Celsius till grader Fahrenheit, berÀkna summan av siffrorna i ett tal, kontrollera om ett tal Àr ett primtal, generera ett slumpmÀssigt tal, ta bort dubbletter frÄn en lista
- Dag 4: Programmeringsproblem av medelsvÄr svÄrighetsgrad (6 timmar): vÀnda en strÀng (kontrollera om den Àr en palindrom), berÀkna största gemensamma delare, kombinera tvÄ sorterade arrayer, skriva ett gissningsspel, berÀkna Älder osv.
- Dag 5: Datastrukturer (6 timmar): stack, kö, ordbok, tuples, lÀnkad lista
- Dag 6: OOP â Objektorienterad programmering (6 timmar): objekt, klass, metod och konstruktor, OOP-arv
- Dag 7: Algoritm (6 timmar): sökning (linjÀr och binÀr), sortering (bubbelmetod, urval), rekursiv funktion (faktoriell, Fibonacci-serie), tidskomplexitet för algoritmer (linjÀra, kvadratiska, konstanter)
Installera inte Python:
Jag förstÄr, det lÄter motsÀgelsefullt. Men lita pÄ mig. Jag kÀnner mÄnga mÀnniskor som tappade all lust att lÀra sig nÄgot efter att de inte lyckats installera en utvecklingsmiljö eller programvara. Jag rekommenderar att du direkt gÄr in i en Android-app som eller pÄ webbsidan och börjar utforska sprÄket. SÀtt inte som mÄl att först installera Python om du inte Àr sÀrskilt teknisk kunnig.
Vecka tvÄ: börja med mjukvaruutveckling (skapa ett projekt)
FÄ erfarenhet av mjukvaruutveckling. Försök anvÀnda allt du har lÀrt dig för att skapa ett riktigt projekt.
- Dag 1: Bekanta dig med utvecklingsmiljön (5 timmar): En utvecklingsmiljö Àr en interaktiv miljö dÀr du kommer att skriva kod för de största projekten. Du bör vara bekant med minst en utvecklingsmiljö. Jag rekommenderar att börja med eller Jupyter notebook
- Dag 2: Github (6 timmar): LÀr dig om , skapa ett repository. Försök att committa, pusha koden, berÀkna skillnaden mellan tvÄ valfria Git-trÀd. LÀr dig ocksÄ om branching, merging och pull requests.
- Dag 3: Första projektet: En enkel kalkylator (4 timmar): Bekanta dig med Tkinter. .
- Dag 4, 5, 6: Personligt projekt (5 timmar varje dag): VÀlj ett av projekten och börja arbeta pÄ det. Om du inte har nÄgra projektidéer, kolla in denna lista:
- Dag 7: Hosting (5 timmar): SÀtt dig in i servrar och hosting sÄ att du kan . StÀll in Heroku och distribuera din applikationsbygge.
Varför projektet:
Bara genom att blint följa stegen i en lektion eller video kommer du inte att utveckla förmÄgan att tÀnka. Du mÄste tillÀmpa dina kunskaper i ett projekt. SÄ snart du har lagt all din energi pÄ att söka efter svar, kommer du att minnas det.
Vecka tre: bli bekvÀm som programmerare
Ditt mÄl under vecka 3 Àr att fÄ en allmÀn förstÄelse för mjukvaruutvecklingsprocessen. Du behöver inte finslipa dina fÀrdigheter. Men du bör kÀnna till vissa grunder, eftersom de kommer att pÄverka ditt dagliga arbete.
- Dag 1: Grunderna i databaser (6 timmar): GrundlÀggande SQL-frÄga (Create Table, Select, Where, Update), SQL-funktioner (Avg, Max, Count), relationsdatabas (Normalisering), Inre förening, Yttre förening etc.
- Dag 2: AnvÀnd databaser i Python (5 timmar): AnvÀnd databasenramverket (SQLite eller Pandas), anslut till databasen, skapa och lÀgg till data i flera tabeller, lÀs data frÄn tabellerna
- Dag 3: API (5 timmar): LÀr dig att anropa API, ÄterfÄ JSON, mikrotjÀnster, REST API
- Dag 4: Numpy (4 timmar): och trÀna pÄ att anvÀnda det i
- Dag 5, 6: Webbportfölj (5 timmar varje dag): LÀr dig Django, , ta ocksÄ en titt pÄ Flask-ramverket
- Dag 7: Enhetstester, loggar, felsökning (4 timmar): SÀtt dig in i enhetstester (PyTest), lÀr dig hantera loggar och kontrollera dem, och anvÀnd brytpunkter
Verklig tidsram (Hemlighet):
Om du Àr passionerad för detta Àmne och tillÀgnar det all din tid kan du fÄ allt gjort pÄ en mÄnad.
- LÀr dig Python kontinuerligt. Börja kl. 08.00 och hÄll pÄ till 17.00. Ta en paus för lunch och snacks (totalt en timme)
- Vid 08.00 gör en lista över de saker du ska studera idag. DÀrefter avsÀtt en timme för att repetera och praktisera allt du lÀrde dig igÄr.
- FrÄn 09.00 till 12.00 lÀr och praktiserar du mindre. Efter lunch fÄr du upp hastigheten. Om du fastnar pÄ ett problem, sök efter en lösning online.
- Ăgna 4-5 timmar varje dag Ă„t att lĂ€ra dig och 2-3 timmar Ă„t praktik. (Max kan du ge dig sjĂ€lv en ledig dag i veckan)
- Dina vĂ€nner kommer att tycka att du Ă€r galen. Besvikta dem inte â hĂ„ll dig till bilden.
Om du arbetar heltid eller studerar pÄ universitetet, kommer du att behöva mer tid. Som student tog det mig 8 mÄnader att göra allt som anges i listan. Nu arbetar jag som seniorutvecklare. Min fru, som arbetar pÄ den amerikanska centralbanken, tog sex mÄnader att slutföra alla uppgifter pÄ listan. Oavsett hur lÄng tid det tar. Slutför listan.
Vecka fyra: Ta det pÄ allvar att fÄ en anstÀllning (praktikant)
Ditt mĂ„l för den fjĂ€rde veckan Ă€r att seriöst tĂ€nka pĂ„ att fĂ„ ett arbete. Ăven om du inte vill ha ett jobb just nu, kommer du att lĂ€ra dig mycket i rekryteringsprocessen.
- Dag 1: CV (5 timmar): Skapa ett en-sides CV. Placera en kort sammanfattning av dina fÀrdigheter högst upp pÄ CV:t. Glöm inte att inkludera en lista över dina projekt med lÀnkar till Github.
- Dag 2: Portfolio för webbplats (6 timmar): Skriv nÄgra bloggar. LÀgg till dem i den tidigare webbplatsportföljen som du skapade.
- Dag 3: LinkedIn-profil (4 timmar): Skapa en profil pĂ„ LinkedIn. Ăverför allt frĂ„n ditt CV till LinkedIn.
- Dag 4: Förberedelse för intervju (7 timmar): Sök efter de vanligaste intervjufrĂ„gorna. Ăva pĂ„ att lösa 10 programmeringsproblem som kan stĂ€llas under intervjuer. Gör detta pĂ„ papper. Du kan hitta intervjufrĂ„gor pĂ„ sidor som Glassdoor, Careercup.
- Dag 5: NÀtverkande (~ timmar): Kom ut ur skÄpet. Börja gÄ pÄ meetups och karriÀrmÀssor. Möt rekryterare och andra utvecklare.
- Dag 6: Svara pĂ„ jobbannonser (~ timmar): Sök efter âPython-jobbâ, kolla vilka jobb som finns pĂ„ LinkedIn och lokala jobbsajter. VĂ€lj 3 jobb att ansöka till. Anpassa ditt CV för varje jobb. Hitta 2-3 saker i kravlistorna som du inte vet. Tillbringa de kommande 3-4 dagarna med att sĂ€tta dig in i dem.
- Dag 7: LÀr dig av avslag (~ timmar): Varje gÄng du fÄr ett avslag, identifiera 2 saker som du mÄste veta för att fÄ jobbet. Tillbringa sedan 4-5 dagar med att förbÀttra dina kunskaper inom dessa omrÄden. PÄ sÄ sÀtt kommer du att bli bÀttre som utvecklare efter varje avslag.
Beredd för arbete:
Sanningen Àr att du aldrig kommer att vara 100% redo för jobbet. Det enda du behöver Àr att riktigt bra pÄ 1-2 saker. Och att bekanta dig med andra frÄgor för att övervinna intervjubarriÀren. NÀr du vÀl fÄtt jobbet kommer du att lÀra dig mycket.
Njut av processen:
LÀrande Àr en process. PÄ din vÀg kommer det utan tvekan att finnas svÄrigheter. Ju fler de Àr, desto bÀttre blir du som utvecklare.
Om du lyckas avsluta listan pÄ 28 dagar Àr du riktigt duktig. Men Àven om du uppnÄr 60-70% av listan, kommer du att utveckla de nödvÀndiga egenskaperna och fÀrdigheterna. De kommer att hjÀlpa dig att bli programmerare.
Var du kan lÀra dig:
Om du fortfarande inte vet vart du ska börja,
- (en engagerande Android-app för att lÀra sig Python)
- (gratis resurser för att lÀra sig i webversionen)
- (se videon och lÀr dig)
Jag önskar dig en spÀnnande resa. Framtiden ligger i dina hÀnder.
ĂversĂ€ttning: Diana Sheremyeva
KĂ€lla: habr.com
