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

Un mese è tanto tempo. Se si dedica all'apprendimento 6-7 ore ogni giorno, si possono ottenere risultati significativi.
Obiettivo per il mese:
- Familiarizzare con i concetti di base (variabile, condizione, lista, ciclo, funzione)
- Risolvere praticatamente oltre 30 problemi di programmazione
- Realizzare due progetti per applicare le nuove conoscenze
- Familiarizzarsi almeno con due framework
- Iniziare a utilizzare un IDE, Github, hosting, servizi, ecc.
Diventerai uno sviluppatore junior (junior) Python.
Ora il piano settimanale.
L'articolo è stato tradotto con il supporto di EDISON Software, che , così come .
Prima settimana: familiarizzare con Python
Capisci come funziona Python. Prova il maggior numero possibile di cose.
- Giorno 1: 4 concetti di base (4 ore): input, output, variabile, condizioni
- Giorno 2: 4 concetti di base (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 delle cifre di un numero, verificare se un numero è primo, generare un numero casuale, rimuovere duplicati da una lista
- Giorno 4: Problemi di programmazione di media difficoltà (6 ore): invertire una stringa (controllare se è un palindromo), calcolare il massimo comune divisore, unire due array ordinati, scrivere un gioco di indovinelli sui numeri, 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, ereditarietà OOP
- Giorno 7: Algoritmi (6 ore): ricerca (lineare e binaria), ordinamento (metodo a bolle, selezione), funzione ricorsiva (fattoriale, serie di Fibonacci), complessità temporale degli algoritmi (lineare, quadratica, costante)
Non installare Python:
Capisco, sembra contraddittorio. Ma credimi. Conosco molte persone che hanno perso qualsiasi interesse per lo studio dopo non essere riusciti a installare l'ambiente di sviluppo o il software. Ti consiglio di iniziare direttamente con un'applicazione Android come o sul sito e iniziare a esplorare la lingua. Non metterti l'obbiettivo di installare Python per primo, se non sei molto esperto tecnicamente.
Seconda settimana: inizia lo sviluppo software (realizza un progetto)
Acquisisci esperienza nello sviluppo software. Cerca di utilizzare tutto ciò che hai imparato per creare un progetto reale.
- Giorno 1: Familiarizza con l'ambiente di sviluppo (5 ore): L'ambiente di sviluppo è un ambiente interattivo in cui scriverai codice per i progetti più grandi. Dovresti 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 commitare, pushare il codice, calcolare la differenza tra due qualsiasi alberi Git. Comprendi anche 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, guarda questa lista:
- Giorno 7: Hosting (5 ore): Comprendi il server e l'hosting per . Configura Heroku e distribuisci la tua applicazione.
Perché un progetto:
Seguendo ciecamente i passi in una lezione o in un video, non sviluppi la capacità di pensare. Devi applicare le tue conoscenze in un progetto. Una volta che hai speso tutte le tue energie nel cercare una risposta, la ricorderai.
Terza settimana: diventa uno sviluppatore
Il tuo obiettivo nella terza settimana è avere una visione complessiva del processo di sviluppo del software. Non è 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), Funzione SQL (Avg, Max, Count), database relazionali (Normalizzazione), Join interno, Join esterno, ecc.
- Giorno 2: Usa i database in Python (5 ore): Usa un framework di database (SQLite o Pandas), connettiti a un database, crea e aggiungi dati a diverse tabelle, leggi dati dalle tabelle
- Giorno 3: API (5 ore): Impara a chiamare API, approfondisci JSON, microservizi, REST API
- Giorno 4: Numpy (4 ore): e pratica l'uso nei
- Giorno 5, 6: Portfolio del sito web (5 ore ogni giorno): Impara Django, , dai un'occhiata al framework Flask
- Giorno 7: Test unitari, logging, debugging (4 ore): Familiarizzati con i test unitari (PyTest), impara a lavorare con i log e a controllarli e utilizza i breakpoint
Reale scala temporale (Segreto):
Se sei appassionato di questo argomento e ti dedichi completamente, puoi completare tutto in un mese.
- Studia Python costantemente. Inizia alle 8 del mattino e continua fino alle 5 del pomeriggio. Prenditi una pausa per il pranzo e degli spuntini (un'ora in totale)
- Alle 8 del mattino, fai una lista delle cose che intendi studiare oggi. Dedicati un'ora per rivedere e mettere in pratica tutto ciò che hai imparato ieri.
- Dalle 9 del mattino fino a mezzogiorno, studia e pratica con leggerezza. Dopo pranzo, riacquista slancio. Se rimani bloccato su un problema, cerca la soluzione online.
- Dedica ogni giorno 4-5 ore all'apprendimento e 2-3 ore alla pratica. (puoi concederti al massimo un giorno libero a settimana)
- I tuoi amici penseranno che sei pazzo. Non deluderli: mantieni l'immagine.
Se lavori a tempo pieno o studi all'università, avrai bisogno di più tempo. Da studente, ci ho messo 8 mesi per completare tutto ciò che c'era nella lista. Ora sono un senior developer. 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 ci vorrà. Completa la lista.
Quarta settimana: prendi seriamente in considerazione di cercare lavoro (tirocinio)
Il tuo obiettivo per la quarta settimana è riflettere seriamente su come cercare lavoro. Anche se non desideri entrare subito nel mondo del lavoro, apprenderai molto durante i colloqui.
- Giorno 1: Curriculum (5 ore): Crea un curriculum di una pagina. In cima al curriculum, inserisci un riepilogo delle tue competenze. Assicurati di includere un elenco dei tuoi progetti con link a Github.
- Giorno 2: Portfolio del sito (6 ore): Scrivi alcuni blog. Aggiungili al portfolio del sito che hai creato precedentemente.
- Giorno 3: Profilo LinkedIn (4 ore): Crea un profilo su LinkedIn. Trasferisci su LinkedIn tutto ciò che hai nel tuo curriculum.
- Giorno 4: Preparazione al colloquio (7 ore): Cerca su Google le domande di colloquio più comuni. Esercitati a risolvere 10 problemi di programmazione richiesti nei colloqui. Fai tutto su carta. Puoi trovare le domande dei colloqui su siti come Glassdoor, Careercup.
- Giorno 5: Networking (~ ore): Esci dal tuo rifugio. Inizia a partecipare a meetups e fiere del lavoro. Incontra reclutatori e altri sviluppatori.
- Giorno 6: Invia candidature a offerte di lavoro (~ ore): Cerca "lavoro Python" su Google, guarda quali offerte ci sono su LinkedIn e nei siti locali di lavoro. Seleziona 3 offerte a cui candidarti. Adatta il tuo curriculum per ognuna di esse. Trova 2-3 requisiti nella lista che non conosci. Dedica i prossimi 3-4 giorni a comprenderli.
- Giorno 7: Impara dagli rifiuti (~ ore): Ogni volta che ricevi un rifiuto, identifica 2 cose che devi sapere per ottenere il lavoro. Poi, dedicale 4-5 giorni per affinarle. In questo modo, dopo ogni rifiuto, diventerai un programmatore migliore.
Pronti per il lavoro:
La verità è che non sarai mai completamente pronto per lavorare. Quello di cui hai bisogno è eccellere in 1-2 cose. E familiarizzare con altre questioni per superare la barriera dei colloqui. Una volta ottenuto il lavoro, imparerai molto.
Divertiti nel processo:
L'apprendimento è un processo. Affronterai sicuramente delle difficoltà lungo il cammino. Più ne avrai, meglio diventerai come sviluppatore.
Se riesci a completare la lista in 28 giorni, sei davvero in gamba. Ma anche se completi il 60-70% della lista, svilupperai le necessarie capacità e competenze. Queste ti aiuteranno a diventare un programmatore.
Dove studiare:
Se non sai ancora da dove cominciare,
- (un coinvolgente app per Android 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 Sheremyova
Fonte: habr.com
