Guide for complete beginners.
(Note: These are tips from an Indian author, but they seem useful. Feel free to add more in the comments.)

A month is a long time. If you spend 6-7 hours a day on learning, you can achieve a lot.
Goal for the month:
- Familiarize yourself with the basic concepts (variable, condition, list, loop, function)
- Master more than 30 programming problems in practice
- Create two projects to apply your new knowledge
- Get acquainted with at least two frameworks
- Start working with an IDE, GitHub, hosting, services, etc.
This will make you a junior Python developer.
Now, the plan for the weeks.
Artiklen er oversat med støtte fra EDISON Software, som , samt .
Week 1: Get to know Python
Understand how everything works in Python. Test as many things as possible.
- Day 1: 4 main concepts (4 hours): input, output, variable, conditions
- Day 2: 4 main concepts (5 hours): list, for loop, while loop, function, import modules
- Day 3: Simple programming problems (5 hours): swap two variables, convert Celsius to Fahrenheit, calculate the sum of all digits in a number, check if a number is prime, generate a random number, remove duplicates from a list
- Day 4: Medium difficulty programming problems (6 hours): reverse a string (check for palindrome), find the greatest common divisor, merge two sorted arrays, write a number-guessing game, calculate age, etc.
- Day 5: Data structures (6 hours): stack, queue, dictionary, tuples, linked list
- Day 6: OOP — Object-oriented programming (6 hours): object, class, method and constructor, OOP inheritance
- Day 7: Algorithms (6 hours): search (linear and binary), sorting (bubble sort, selection sort), recursive function (factorial, Fibonacci sequence), time complexity of algorithms (linear, quadratic, constant)
Do not install Python:
I know it sounds contradictory. But trust me. I know many people who lost all desire to learn anything after they couldn't install the development environment or software. I recommend jumping straight into an app like eller besøg vores hjemmeside og begynde at udforske sproget. Sæt ikke som dit første mål at installere Python, hvis du ikke er særlig teknisk kyndig.
Uge to: begynd udviklingen af software (saml projektet)
Få erfaring med softwareudvikling. Prøv at bruge alt, hvad du har lært, til at skabe et rigtigt projekt.
- Dag 1: Bliv bekendt med udviklingsmiljøet (5 timer): Udviklingsmiljøet er et interaktivt miljø, hvor du vil skrive kode til de største projekter. Du skal kende til mindst ét udviklingsmiljø. Jeg anbefaler at starte med eller Jupyter notebook
- Dag 2: Github (6 timer): Lær om , opret et repository. Prøv at committe, pushe koden, beregne forskellen mellem to vilkårlige Git-træer. Forstå også forgreninger, sammensmeltning og pull-requests.
- Dag 3: Første projekt: Enkel lommeregner (4 timer): Bliv bekendt med Tkinter. .
- Dag 4, 5, 6: Personligt projekt (5 timer hver dag): Vælg et af projekterne og begynd at arbejde på det. Hvis du ikke har nogen idéer til et projekt, kan du se denne liste:
- Dag 7: Hosting (5 timer): Forstå serveren og hosting, så du . Konfigurer Heroku og deployer din applikationsbygning.
Hvorfor projektet:
Bare ved blindt at følge trinene i en lektion eller video vil du ikke udvikle evnen til at tænke. Du skal anvende din viden i et projekt. Så snart du bruger al din energi på at finde svaret, vil du huske det.
Uge tre: bliv fortrolig som programmør
Dit mål i uge tre er at få en generel forståelse for softwareudviklingsprocessen. Du skal ikke pude dine færdigheder. Men du skal kende nogle grundlæggende ting, da de vil påvirke dit daglige arbejde.
- Dag 1: Grundlæggende database (6 timer): Grundlæggende SQL-forespørgsel (Create Table, Select, Where, Update), SQL-funktion (Avg, Max, Count), relationel database (Normalisering), indre sammenkobling, ydre sammenkobling osv.
- Dag 2: Brug databaser i Python (5 timer): Brug databaseframeworket (SQLite eller Pandas), forbind til databasen, opret og tilføj data til flere tabeller, læs data fra tabeller
- Dag 3: API (5 timer): Lær at kalde API'er, få styr på JSON, mikroservices, REST API
- Dag 4: Numpy (4 timer): og øv dig i at bruge det på
- Dag 5, 6: Webportefølje (5 timer hver dag): Lær Django, , tjek også Flask-rammen
- Dag 7: Enhedstest, logfiler, debugging (4 timer): Bliv fortrolig med enhedstest (PyTest), lær at arbejde med logfiler og tjekke dem, og brug breakpoints
Real tidsplan (hemmelighed):
Hvis du er passioneret omkring emnet og dedikerer dig til det, kan du nå det hele på en måned.
- Øv Python kontinuerligt. Start kl. 8 om morgenen og arbejd på det indtil kl. 17. Tag en pause til frokost og snacks (i alt en time)
- Kl. 8, lav en liste over de ting, du vil lære i dag. Brug derefter en time på at genopfriske og afprøve alt, hvad du lærte i går.
- Fra kl. 9 til 12, lær og øv dig i passende mængder. Efter frokost skal du sætte farten op. Hvis du støder på et problem, så søg efter løsningen online.
- Brug hver dag 4-5 timer på at lære og 2-3 timer på at praktisere. (maksimalt kan du tage en fridag om ugen)
- Dine venner vil tro, du er skør. Skuffe dem ikke—hold fast i billedet.
Hvis du arbejder fuld tid eller studerer på universitetet, har du brug for mere tid. Som studerende tog det mig 8 måneder at gennemføre alt på listen. Nu arbejder jeg som senior udvikler. Min kone, der arbejder i den centrale bank i USA, tog et halvt år for at færdiggøre alle opgaverne på listen. Det er ligegyldigt, hvor lang tid det tager. Færdiggør listen.
Fjerde uge: Tag det seriøst at få et job (praktikant)
Dit mål for den fjerde uge er at overveje seriøst at søge job. Selv hvis du ikke ønsker et job lige nu, vil du lære meget af interviewprocessen.
- Dag 1: CV (5 timer): Opret et enkelt side-CV. Placer en kort oversigt over dine færdigheder øverst på CV'et. Husk at tilføje en liste over dine projekter med links til Github.
- Dag 2: Webportefølje (6 timer): Skriv nogle blogs. Tilføj dem til den tidligere webportefølje, du lavede.
- Dag 3: LinkedIn-profil (4 timer): Opret en LinkedIn-profil. Overfør alt fra dit CV til LinkedIn.
- Dag 4: Interviewforberedelse (7 timer): Søg på de mest stillede interviewspørgsmål. Øv dig i at løse 10 programmeringsproblemer, der ofte stilles til interviews. Gør det på papir. Interviewspørgsmål kan findes på sider som Glassdoor, Careercup.
- Dag 5: Netværk (~ timer): Kom ud af skabet. Begynd at deltage i meetups, jobmesser. Mød rekruttere og andre udviklere.
- Dag 6: Bare ansøg om stillinger (~ timer): Søg på “Python job”, se hvilke stillinger der er tilgængelige på LinkedIn og lokale jobportaler. Vælg 3 stillinger, som du vil ansøge om. Tilpas dit CV til hver af dem. Find 2-3 ting i kravene, som du ikke kender. Brug de næste 3-4 dage på at lære om dem.
- Dag 7: Lær af afslag (~ timer): Hver gang du får et afslag, identificer 2 ting, du skal lære for at få jobbet. Brug derefter 4-5 dage på at forbedre dine færdigheder inden for disse emner. På den måde bliver du bedre som udvikler efter hvert afslag.
Klar til at arbejde:
Sandheden er, at du aldrig vil være 100% klar til arbejde. Alt hvad du behøver, er at mestre 1-2 ting rigtig godt. Og få kendskab til andre emner for at overvinde barriererne ved interviews. Når du får et job, vil du lære meget.
Nyd processen:
Læring er en proces. Der vil helt sikkert opstå udfordringer på din vej. Jo flere der er, jo bedre bliver du som udvikler.
Hvis du kan færdiggøre listen på 28 dage, er du virkelig dygtig. Men selv hvis du når 60-70% af listen, vil du udvikle de nødvendige kvaliteter og færdigheder. De vil hjælpe dig med at blive programmør.
Hvor man kan lære:
Hvis du stadig ikke ved, hvor du skal starte,
- (et spændende Android-app til at lære Python)
- (gratis ressourcer til læring i webversion)
- (se videoer og lær)
Jeg ønsker dig en spændende rejse. Fremtiden ligger i dine hænder.
Oversættelse: Diana Sheremyeva
Kilde: habr.com
