Guida per assoluti principianti.
(Nota: questi sono consigli dell'autore indiano, ma sembrano utili. Aggiungete nei commenti.)

Un mese è molto tempo. Se si dedicano 6-7 ore ogni giorno all'apprendimento, si possono fare un sacco di progressi.
Obiettivo per il mese:
- Familiarizzare con i concetti di base (variabile, condizione, lista, ciclo, funzione)
- Praticare con più di 30 problemi di programmazione
- Creare due progetti per applicare le nuove conoscenze
- Familiarizzare con almeno due framework
- Iniziare a lavorare con IDE (ambiente di sviluppo), Github, hosting, servizi, ecc.
Diventerai un junior developer (junior) Python.
Ora il piano settimanale.
L'articolo è stato tradotto con il supporto dell'azienda EDISON Software, che , e inoltre .
Prima settimana: conoscere Python
Comprendere come funziona tutto in Python. Controlla quante più cose possibile.
- Giorno 1: 4 concetti fondamentali (4 ore): input, output, variabile, condizioni
- Giorno 2: 4 concetti fondamentali (5 ore): lista, ciclo for, ciclo while, funzione, importazione di moduli
- Giorno 3: Problemi di programmazione semplici (5 ore): scambiare due variabili, convertire gradi Celsius in gradi Fahrenheit, calcolare la somma di tutte le cifre in un numero, verificare se un numero è primo, generare un numero casuale, rimuovere i duplicati da una lista
- Giorno 4: Problemi di programmazione di media difficoltà (6 ore): invertire una stringa (verificare se è un palindromo), calcolare il massimo comune divisore, unire due array ordinati, scrivere un gioco di indovina il numero, calcolare l'età ecc.
- Giorno 5: Strutture dati (6 ore): stack, coda, dizionario, tuple, lista collegata
- Giorno 6: OOP — Programmazione orientata agli oggetti (6 ore): oggetto, classe, metodo e costruttore, eredità OOP
- Giorno 7: Algoritmo (6 ore): ricerca (lineare e binaria), ordinamento (bubble sort, selection sort), funzione ricorsiva (fattoriale, serie di Fibonacci), complessità temporale degli algoritmi (lineari, quadratici, costanti)
Non installare Python:
Capisco, sembra contraddittorio. Ma fidati di me. Conosco molte persone che hanno perso completamente il desiderio di imparare dopo non essere riuscite a installare l'ambiente di sviluppo o il software. Ti consiglio di iniziare subito con un'app Android come o sul sito e iniziare a esplorare il linguaggio. Non farti l'obiettivo di installare Python come primo passo, se non sei particolarmente esperto dal punto di vista tecnico.
Settimana due: inizia lo sviluppo software (metti insieme il progetto)
Acquisisci esperienza nello sviluppo software. Cerca di utilizzare tutto ciò che hai imparato per creare un progetto reale.
- Giorno 1: Familiarizzati con l'ambiente di sviluppo (5 ore): L'ambiente di sviluppo è un ambiente interattivo in cui scriverai codice per i progetti più importanti. Devi conoscere bene almeno un ambiente di sviluppo. Ti consiglio di iniziare con o Jupyter Notebook
- Giorno 2: Github (6 ore): Studia , crea un repository. Prova a fare commit, push del codice, calcola la differenza tra due alberi Git qualsiasi. Familiarizza anche con il branching, il merging e le pull request.
- Giorno 3: Primo progetto: Calcolatore semplice (4 ore): Familiarizzati con Tkinter. .
- Giorni 4, 5, 6: Progetto personale (5 ore ogni giorno): Scegli uno dei progetti e inizia a lavorarci. Se non hai idee per un progetto, dai un'occhiata a questo elenco:
- Giorno 7: Hosting (5 ore): Comprendi il server e l'hosting per . Configura Heroku e distribuisci la tua applicazione.
Perché il progetto:
Seguendo ciecamente i passaggi in un tutorial o video non svilupperai la capacità di pensare. Devi applicare le tue conoscenze in un progetto. Non appena spenderai tutte le tue forze per trovare una risposta, la ricorderai.
Settimana tre: diventa un programmatore
Il tuo obiettivo nella terza settimana è avere una visione generale del processo di sviluppo software. Non sarà necessario perfezionare le tue abilità. Ma devi conoscere alcune basi, poiché influenzeranno il tuo lavoro quotidiano.
- Giorno 1: Fondamenti di database (6 ore): Query SQL di base (Create Table, Select, Where, Update), Funzioni SQL (Avg, Max, Count), database relazionale (Normalizzazione), Join interno, Join esterno, ecc.
- Giorno 2: Usa i database in Python (5 ore): Usa un framework di database (SQLite o Pandas), connettiti al database, crea e aggiungi dati in più tabelle, leggi i dati dalle tabelle.
- Giorno 3: API (5 ore): Impara a chiamare le API, approfondisci JSON, microservizi, REST API.
- Giorno 4: Numpy (4 ore): e pratica il suo utilizzo su
- Giorno 5, 6: Portfolio del sito web (5 ore al giorno): Imparate Django, , date un'occhiata anche al framework Flask
- Giorno 7: Test unitari, registri, debug (4 ore): Familiarizzate con i test unitari (PyTest), imparate a lavorare con i registri e a controllarli, e utilizzate i breakpoint
Reale dimensione del tempo (segreto):
Se siete appassionati di questo argomento e vi dedicate completamente ad esso, potete fare tutto in un mese.
- Studiate Python costantemente. Iniziate alle 8 del mattino e dedicatevi ad esso fino alle 5 del pomeriggio. Fate una pausa per il pranzo e uno spuntino (in totale un'ora)
- Alle 8 del mattino fate una lista delle cose che studierete oggi. Dedicate un'ora per rivedere e mettere in pratica tutto ciò che avete imparato ieri.
- Dalle 9 del mattino a mezzogiorno studiate e praticate poco. Dopo pranzo accelerate il ritmo. Se vi bloccate su un problema, cercate la soluzione online.
- Ogni giorno dedicate 4-5 ore all'apprendimento e 2-3 ore alla pratica. (potete concedervi al massimo un giorno di riposo a settimana)
- I vostri amici penseranno che siete pazzi. Non deludeteli — mantenete l'immagine.
Se lavorate a tempo pieno o studiate all'università, avrete bisogno di più tempo. Quando ero studente, mi ci sono voluti 8 mesi per completare tutto ciò che era nella lista. Ora lavoro come sviluppatore senior. A mia moglie, che lavora nella banca centrale degli Stati Uniti, sono serviti sei mesi per completare tutte le attività della lista. Non importa quanto tempo vi vorrà. Completate la lista.
Quarta settimana: prendete sul serio l'idea di trovare un lavoro (tirocinio)
Il vostro obiettivo della quarta settimana è pensare seriamente a trovare un lavoro. Anche se non volete lavorare subito, imparerete molto durante i colloqui.
- Giorno 1: Curriculum (5 ore): Create un curriculum di una pagina. Nella parte superiore del curriculum inserite un riepilogo delle vostre competenze. Assicuratevi di aggiungere un elenco dei vostri progetti con i link a Github.
- Giorno 2: Portfolio del sito web (6 ore): Scrivete alcuni blog. Aggiungeteli al portfolio del sito web precedente che avete creato.
- Giorno 3: Profilo LinkedIn (4 ore): Create un profilo su LinkedIn. Trasferite su LinkedIn tutto ciò che avete nel vostro curriculum.
- Giorno 4: Preparazione al colloquio (7 ore): Cerca su Google le domande più frequenti nei colloqui. Esercitati a risolvere 10 problemi di programmazione che vengono presentati nei colloqui. Fai questo su carta. Puoi trovare domande da colloqui su siti come Glassdoor, Careercup.
- Giorno 5: Networking (~ ore): Esci dal tuo rifugio. Inizia ad andare a meetup, fiere del lavoro. Incontra reclutatori e altri sviluppatori.
- Giorno 6: Invia candidature (~ ore): Cerca “lavoro Python”, guarda quali posizioni sono disponibili su LinkedIn e su siti di offerte di lavoro locali. Scegli 3 posizioni a cui candidarti. Adatta il tuo CV per ciascuna di esse. Trova 2-3 requisiti che non conosci. Dedica i prossimi 3-4 giorni per approfondire questi argomenti.
- Giorno 7: Impara dai rifiuti (~ ore): Ogni volta che ricevi un rifiuto, identifica 2 aspetti che dovresti conoscere per ottenere il lavoro. Poi, dedica 4-5 giorni a perfezionare le tue competenze in questi argomenti. In questo modo, dopo ogni rifiuto diventerai un programmatore migliore.
Prontezza al lavoro:
La verità è che non sarai mai pronto al lavoro al 100%. Tutto ciò che devi fare è conoscere molto bene 1-2 aspetti. E familiarizzare con altre domande per superare la barriera dei colloqui. Una volta ottenuto il lavoro, imparerai molto.
Goditi il processo:
L'apprendimento è un processo. Sul tuo cammino ci saranno sicuramente delle difficoltà. Più ne avrai, migliore diventerai come sviluppatore.
Se riesci a completare la lista in 28 giorni, sei davvero bravo. Ma anche se completi il 60-70% della lista, svilupperai le qualità e le competenze necessarie. Queste ti aiuteranno a diventare un programmatore.
Dove studiare:
Se non sai ancora da dove cominciare,
- (app Android avvincente per imparare Python)
- (risorse gratuite per l'apprendimento nella versione web)
- (guarda i video e impara)
Ti auguro un viaggio affascinante. Il futuro è nelle tue mani.
Traduzione: Diana Sheremyeva
Fonte: habr.com
