Guia para iniciantes absolutos.
(Nota do tradutor: esses são conselhos de um autor indiano, mas parecem úteis. Complementem nos comentários.)

Um mês é muito tempo. Se dedicar de 6 a 7 horas todos os dias ao aprendizado, é possível fazer bastante.
Meta para o mês:
- Familiarizar-se com os conceitos básicos (variável, condição, lista, loop, função)
- Praticar mais de 30 problemas de programação
- Criar dois projetos para aplicar os novos conhecimentos na prática
- Familiarizar-se com pelo menos dois frameworks
- Começar a trabalhar com IDE (ambiente de desenvolvimento), Github, hospedagem, serviços, etc.
Assim você se tornará um desenvolvedor júnior (junior) em Python.
Agora o plano por semanas.
Este artigo foi traduzido com o apoio da empresa EDISON Software, que , além de .
Primeira semana: familiarize-se com Python
Entenda como tudo funciona em Python. Teste o maior número de coisas possível.
- Dia 1: 4 conceitos principais (4 horas): entrada, saída, variável, condições
- Dia 2: 4 conceitos principais (5 horas): lista, loop for, loop while, função, importação de módulos
- Dia 3: Problemas simples de programação (5 horas): trocar duas variáveis de lugar, converter graus Celsius em graus Fahrenheit, somar todos os dígitos de um número, verificar se um número é primo, gerar um número aleatório, remover duplicatas de uma lista
- Dia 4: Problemas de programação de dificuldade média (6 horas): inverter uma string (verificar se é palíndromo), calcular o máximo divisor comum, mesclar dois arrays ordenados, criar um jogo de adivinhação de números, calcular a idade, etc.
- Dia 5: Estruturas de dados (6 horas): pilha, fila, dicionário, tuplas, lista encadeada
- Dia 6: OOP — Programação Orientada a Objetos (6 horas): objeto, classe, método e construtor, herança em OOP
- Dia 7: Algoritmo (6 horas): busca (linear e binária), ordenação (por bolha, seleção), função recursiva (fatorial, sequência de Fibonacci), complexidade temporal dos algoritmos (linear, quadrática, constante)
Não instale o Python:
Eu sei, isso soa contraditório. Mas acredite em mim. Conheço várias pessoas que perderam toda a vontade de aprender depois de não conseguir instalar o ambiente de desenvolvimento ou o software. Eu recomendo que você já comece com um aplicativo Android como ou no site e comece a explorar a linguagem. Não se preocupe em instalar o Python imediatamente se você não tiver um bom conhecimento técnico.
Segunda semana: comece a desenvolver software (crie um projeto)
Ganhe experiência em desenvolvimento de software. Tente usar tudo o que aprendeu para criar um projeto real.
- Dia 1: Familiarize-se com o ambiente de desenvolvimento (5 horas): O ambiente de desenvolvimento é um espaço interativo onde você irá escrever código para os maiores projetos. Você deve conhecer bem pelo menos um ambiente de desenvolvimento. Recomendo começar com ou Jupyter notebook
- Dia 2: Github (6 horas): Estude , crie um repositório. Tente fazer um commit, enviar o código, calcular a diferença entre duas árvores do Git. Além disso, familiarize-se com ramificações, fusões e pull requests.
- Dia 3: Primeiro projeto: Calculadora Simples (4 horas): Familiarize-se com Tkinter. .
- Dia 4, 5, 6: Projeto pessoal (5 horas por dia): Escolha um dos projetos e comece a trabalhar nele. Se você não tiver ideias para um projeto, veja esta lista:
- Dia 7: Hospedagem (5 horas): Entenda sobre servidor e hospedagem para . Configure o Heroku e faça o deploy da sua aplicação.
Por que o projeto:
Apenas seguir cegamente os passos do tutorial ou vídeo não vai desenvolver sua capacidade de pensar. Você deve aplicar seu conhecimento em um projeto. Assim que você dedicar todos os seus esforços para encontrar uma resposta, você a memorizará.
Terceira semana: aperfeiçoe-se como programador
Seu objetivo na terceira semana é obter uma visão geral do processo de desenvolvimento de software. Você não precisará aperfeiçoar suas habilidades. Mas deve conhecer algumas bases, pois elas afetarão seu trabalho diário.
- Dia 1: Fundamentos de bancos de dados (6 horas): Consulta SQL básica (Create Table, Select, Where, Update), Função SQL (Avg, Max, Count), banco de dados relacional (Normalização), Junção interna, Junção externa, etc.
- Dia 2: Usando bancos de dados em Python (5 horas): Utilize um framework de banco de dados (SQLite ou Pandas), conecte-se ao banco de dados, crie e adicione dados em várias tabelas, leia dados dessas tabelas
- Dia 3: API (5 horas): Aprenda a chamar APIs, estude JSON, microserviços, REST API
- Dia 4: Numpy (4 horas): e pratique seu uso em
- Dia 5, 6: Portfólio do site (5 horas por dia): Aprenda Django, , também dê uma olhada no framework Flask
- Dia 7: Testes de unidade, logs, depuração (4 horas): Compreenda testes de unidade (PyTest), aprenda a trabalhar com logs e a verificá-los e utilize breakpoints
O verdadeiro senso de tempo (Segredo):
Se você estiver doente por esse tópico e dedicar-se totalmente a ele, será capaz de fazer tudo em um mês.
- Estude Python continuamente. Comece às 8 da manhã e estude até às 5 da tarde. Faça uma pausa para o almoço e lanches (no total, uma hora)
- Às 8 da manhã, elabore uma lista de coisas que você estudará hoje. Depois, dedique uma hora para relembrar e praticar tudo que você aprendeu ontem.
- Das 9 da manhã até meio-dia, estude e pratique um pouco menos. Após o almoço, aumente o ritmo. Se você ficar preso em algum problema, procure sua solução na internet.
- Dedique de 4 a 5 horas por dia ao aprendizado e 2 a 3 horas à prática. (no máximo, você pode se dar um dia de folga por semana)
- Seus amigos acharão que você está louco. Não os decepcione—mantenha a imagem.
Se você trabalha em tempo integral ou estuda na universidade, precisará de mais tempo. Quando era estudante, levei 8 meses para fazer tudo o que estava na lista. Agora sou desenvolvedor sênior. Minha esposa, que trabalha no banco central dos EUA, levou seis meses para concluir todas as tarefas da lista. Não importa quanto tempo você precise. Complete a lista.
Quarta semana: leve a sério a obtenção de um emprego (estágio)
Seu objetivo na quarta semana é pensar seriamente em conseguir um trabalho. Mesmo que você não deseje conseguir um emprego agora, aprenderá muito no processo de entrevistas.
- Dia 1: Currículo (5 horas): Crie um currículo de uma página. No topo do currículo, inclua um resumo de suas habilidades. Não se esqueça de adicionar uma lista de seus projetos com links para o Github.
- Dia 2: Portfólio do site (6 horas): Escreva alguns blogs. Adicione-os ao portfólio do site anterior que você criou.
- Dia 3: Perfil do LinkedIn (4 horas): Crie um perfil no LinkedIn. Transfira para o LinkedIn tudo o que você tem em seu currículo.
- Dia 4: Preparação para a entrevista (7 horas): Pesquise as perguntas mais frequentes em entrevistas. Pratique resolver 10 problemas de programação que são normalmente perguntados. Faça isso no papel. Você pode encontrar questões de entrevistas em sites como Glassdoor, Careercup.
- Dia 5: Networking (~ horas): Saia do seu quarto. Comece a participar de meetups e feiras de emprego. Conheça recrutadores e outros desenvolvedores.
- Dia 6: Apenas se candidate a vagas (~ horas): Pesquise 'emprego Python', veja quais vagas estão disponíveis no LinkedIn e em sites locais de ofertas de emprego. Escolha 3 vagas para as quais você se candidatará. Ajuste seu currículo para cada uma delas. Encontre 2-3 coisas nas listas de requisitos que você não conhece. Passe os próximos 3-4 dias para entender esses pontos.
- Dia 7: Aprenda com as recusas (~ horas): Cada vez que você receber uma negativa, defina 2 coisas que você precisa saber para conseguir o emprego. Em seguida, passe 4-5 dias aprimorando suas habilidades nessas áreas. Assim, após cada negativa, você se tornará um desenvolvedor melhor.
Prontidão para o trabalho:
A verdade é que você nunca estará 100% preparado para o trabalho. Tudo o que você precisa é dominar muito bem 1-2 coisas. E ter uma noção sobre outros tópicos, para superar a barreira das entrevistas. Assim que conseguir o emprego, você aprenderá muito com ele.
Aprecie o processo:
Aprender é um processo. Em seu caminho, você certamente encontrará dificuldades. Quanto mais elas aparecerem, melhor você se tornará como desenvolvedor.
Se você conseguir completar a lista em 28 dias, você é realmente incrível. Mas mesmo que você finalize 60-70% da lista, desenvolverá as qualidades e habilidades necessárias. Elas o ajudarão a se tornar um programador.
Onde estudar:
Se você ainda não sabe por onde começar,
- (um aplicativo Android envolvente para aprender Python)
- (recursos gratuitos de aprendizado na versão web)
- (assista aos vídeos e aprenda)
Desejo a você uma jornada emocionante. O futuro está em suas mãos.
Tradução: Diana Sheremyeva
Fonte: habr.com
