Mensagem para o futuro programador

Então, você decidiu se tornar um programador.


Você pode estar interessado em criar algo novo.


Talvez você seja atraído por grandes salários.


Talvez você queira apenas alterar o escopo da atividade.


Não é o ponto.


Importante - você decide se tornar um programador .


O que fazer agora?


KDPV


E existem várias abordagens.


Primeiro : vá para a universidade para obter uma especialidade em TI e obtenha uma educação especializada. A maneira mais comum, relativamente confiável, extremamente longa e mais fundamental. Funciona se você ainda está se formando na escola ou se tem meios para se sustentar desde o próximo ano e meio (na melhor das hipóteses, se você pegar tudo rapidamente e começar a trabalhar no segundo ano) a quatro (se combinar trabalho com escola não for o seu objetivo) ) anos.


O que é importante saber aqui?


  • Você deve escolher a universidade certa. Veja programas de treinamento, classificações. Um bom indicador são as olimpíadas da universidade. Se as equipes da universidade ocorrerem, pelo menos periodicamente, entre os dez melhores em olimpíadas de programação relativamente grandes, a codificação na universidade não será um rudimento (apesar do fato de que você pessoalmente não esteja interessado em olimpíadas). Bem, em geral, regras de bom senso: é improvável que o ramo fraterno da Universidade Estadual de Baikal faça de você uma poderosa pilha completa.
    Exemplos de boas universidades: Universidade Estadual de Moscou / Universidade Estadual de São Petersburgo (obviamente), Baumanka (Moscou), ITMO (Peter), NSU (Novosibirsk). Apesar de toda a sua eminência, é bem possível obter o orçamento neles, se não para marcar os principais departamentos.
  • Não é um universal uni. Apesar de você ser treinado de maneira abrangente em todo tipo de coisa, isso não é suficiente. Em virtude da burocracia, o programa de treinamento quase sempre fica para trás das tendências modernas. Na melhor das hipóteses, por um ano ou dois. Na pior das hipóteses - 5-10 anos. Você terá que compensar a diferença. Bem, o óbvio: se você estuda o material em pé de igualdade com o restante dos alunos, cada um deles será seu concorrente igual. Se você, opcionalmente, avançar, terá uma aparência muito melhor no mercado.
  • Procure trabalho o mais cedo possível. Comecei a trabalhar no segundo ano. No final da universidade, eu já era um desenvolvedor intermediário, e não um junho modesto sem experiência. Eu acho que é óbvio que, após a formatura, ganhar 100k é mais agradável que 30k. Como conseguir isso? Em primeiro lugar, veja os pontos A e B. Em segundo lugar, vá a reuniões, festivais, conferências, feiras de emprego. Monitore o mercado e tente contratar um estagiário em tempo parcial em qualquer empresa em que você esteja pelo menos aproximadamente em forma. Não tenha medo de conferências pagas: os alunos geralmente recebem descontos muito bons lá.

Se todos esses pontos forem observados, quando você receber um diploma, poderá se tornar um especialista extremamente bom, com experiência profissional e uma riqueza de conhecimentos fundamentais, nos quais as pessoas autodidatas costumam se envolver por causa de um caráter inadequado. Bem, uma crosta pode ajudar se você estiver planejando ir para o exterior: eles costumam olhar para ela lá.


Se você não cumprir ... Bem, você pode obter uma crosta indo com o fluxo, anulando e se preparando para o exame para a noite. Mas como você pensa, quão competitivo você será então? Claro, não estou dizendo que você precisa fechar tudo entre os cinco primeiros. Você só precisa obter conhecimento. Use o bom senso. Aprenda o que é interessante e útil, mas não se importe com notas.


Educação e motivação


O principal não é o que eles estão tentando colocar em você. O principal é que é interessante e relevante


-


A seguir, a segunda maneira : programar cursos . A Internet está repleta de ofertas para torná-lo júnior em apenas 3 meses de aula. Bem aqui com o portfólio e até ajuda a encontrar um emprego. Apenas por 10 mil por mês, sim.
Talvez para alguém funcione, mas puramente IMHO: isso é lixo completo. Não perca tempo e dinheiro. E aqui está o porquê:


Uma pessoa que está longe da área de TI não poderá inserir as especificidades da profissão em três meses. Isso não é nada. Muita informação precisa ser aprendida, muito para entender e, além do mais, para que você tenha as mãos cheias.


Então, o que eles vão vender para você? Você receberá uma "habilidade mecânica". Sem muita compreensão dos detalhes, eles mostrarão o que você precisa escrever para obter exatamente esse resultado. Com instruções detalhadas e a ajuda de um professor, você ainda escreverá algum tipo de aplicativo. Um, no máximo dois. Aqui está o portfólio. E ajude a encontrar um emprego que remeta as vagas de junho de grandes empresas, das quais é improvável que você passe na entrevista.


Porque assim? É simples: é muito importante para um programador pensar abstratamente. Um programador resolve problemas que podem ser resolvidos de um bilhão de maneiras possíveis. E a principal tarefa é selecionar um dos bilhões, o mais correto, e realizá-lo. Criar um ou dois projetos de acordo com as instruções fornecerá algum conhecimento da linguagem de programação, mas não ensinará como resolver problemas abstratos. Fazendo uma analogia: imagine que você prometeu ser treinado em orientação, será conduzido por um par de rotas turísticas simples e depois dirão que você está pronto para conquistar a taiga sozinho no inverno. Eles ensinaram você a usar uma bússola e acender uma fogueira sem fósforos.


Resumindo: não acredite naqueles que prometem "guiá-lo" em pouco tempo. Se isso fosse possível, todos teriam sido programadores há muito tempo.


Como desenhar uma coruja


Esquerda: o que você será ensinado. Certo: o que será exigido de você no trabalho


-


O terceiro caminho é o caminho escolhido pela maioria. Auto-estudo .


A maneira mais difícil, mas talvez a mais nobre. Vamos insistir nisso com mais detalhes.


Então você decidiu se tornar um programador. Por onde começar?


Primeiro de tudo, você precisa responder à sua pergunta: por que você quer isso? Se a resposta for "bem, isso, é claro, não é particularmente interessante, mas eles pagam muito", então podemos parar por aqui. Você não está aqui. Mesmo que sua força de vontade seja suficiente para extrair muitas informações, escrever milhares de linhas de código, sofrer centenas de falhas e ainda assim conseguir um emprego, como resultado, sem amor pela profissão, isso só levará a um desgaste emocional. A programação requer uma enorme quantidade de esforço intelectual, e se esses esforços não forem alimentados por retornos emocionais na forma de satisfação pela tarefa, o cérebro irá, mais cedo ou mais tarde, surtar e privá-lo da capacidade de decidir qualquer coisa. Não é o cenário mais agradável.


Se você tem certeza de que está interessado, pode decidir sobre os detalhes - o que exatamente você quer fazer. Se você não sabe como os programadores podem diferir entre si, o Google o ajudará.


Imediatamente vou escrever o primeiro conselho para não esquecer: aprenda inglês. Inglês é necessário. Sem inglês, em lugar nenhum. De jeito nenhum. Sem o inglês, você não pode se tornar um programador normal. É isso.


Em seguida, é aconselhável elaborar um roteiro: um plano segundo o qual você desenvolverá. Estude as especificidades, veja as vagas na sua especialidade, descubra superficialmente quais tecnologias são usadas lá.


Um exemplo de roteiro para um programador de back-end (não para ninguém, é claro, esta é apenas uma das opções possíveis):


  1. O básico de html / css.
  2. Python O básico.
  3. Programação de rede. Interação Python e web.
  4. Estruturas de desenvolvimento. Django, balão. (observação: apenas para entender que tipo de "django" e "balão" você precisa examinar as vagas e ler o que é necessário lá)
  5. Estudo aprofundado de python.
  6. O básico de js.

Repito que este é um plano muito difícil, cada um dos quais é enorme por si só, e muitos tópicos não estão incluídos (por exemplo, teste de código). Mas isso é pelo menos algum tipo de sistematização do conhecimento, que permitirá que você não se confunda com o que sabe e o que não. No processo de estudo, ficará mais claro o que está faltando, e esse roteiro será complementado.


A seguir: encontre os materiais com os quais você aprenderá. As principais opções são:


  • Cursos online. Não os cursos que são "junho em três dias", mas que ensinam uma coisa específica. Muitas vezes, esses cursos são gratuitos. Exemplos de sites com cursos normais: stepik , coursera .
  • Tutoriais online. Existem grátis, shareware, pagos. Onde pagar e onde não, você vai descobrir por si mesmo. Exemplos: htmlacademy , learn.javascript.ru , livro do django .
  • Livros. Existem muitos, muitos. Se você não pode escolher, três dicas: tente pegar novos livros, como as informações ficam desatualizadas muito rapidamente; O editor O'Reilly tem um nível de qualidade bastante alto e uma apresentação normal; se possível, leia em inglês.
  • Mitapia / conferências / palestras. Não é tão útil em termos de saturação de informações, mas extremamente útil em termos da capacidade de se comunicar com colegas da loja, fazer perguntas atuais e fazer amigos. Talvez até encontre um emprego.
  • Google. Muitos subestimam, mas a capacidade de simplesmente encontrar respostas para algumas perguntas é muito importante. Sinta-se livre para pesquisar coisas estranhas no Google. Mesmo idosos experientes estão fazendo isso. A capacidade de encontrar rapidamente informações sobre algo é praticamente equivalente ao fato de você conhecê-lo.

Ok, nós decidimos sobre as fontes de informação. Como trabalhar com eles?


  1. Leia / ouça atentamente. Não leia cansado. Mergulhe no significado, não pule momentos que parecem óbvios. Freqüentemente, a transição do óbvio para o incompreensível acontece muito rapidamente. Sinta-se livre para voltar e reler.
  2. Descreva as informações. Primeiro, será mais fácil classificar suas anotações quando houver muita informação. Em segundo lugar, desta maneira a informação é melhor absorvida.
  3. Execute todas as tarefas que a fonte oferece. Não, não é assim. Execute TODAS as tarefas que a fonte oferece. Mesmo aqueles que parecem simples. Especialmente aqueles que parecem muito complicados. Se você estiver emperrado, peça ajuda no stackoverflow , pelo menos através do google translate. As tarefas são escritas por uma razão, são necessárias para a assimilação correta do material.
  4. Pense em tarefas você mesmo e faça-as também. A prática, idealmente, deveria ser mais do que teoria. Quanto mais denso você conserta o material, maior a probabilidade de que em um mês você não o esqueça.
  5. Opcional: enquanto você lê, redija seu questionário. Escreva perguntas complicadas para uma fonte separada e, depois de uma semana ou um mês, leia e tente responder. Não funciona: estude novamente.

E repetimos esses 5 pontos para cada tecnologia que está sendo estudada. Somente dessa maneira (com um estudo aprofundado da teoria e uma densa cobertura da prática) você terá uma base de conhecimento de alta qualidade com a qual poderá se tornar um profissional.


E parece que tudo é simples: aprendemos a tecnologia um por um, compreendemos o Zen e começamos a trabalhar. É assim que é, mas não é assim.


A maioria das pessoas que estuda programação faz algo assim:


Dunning krueger


a imagem é honestamente roubada daqui


E aqui você precisa se aprofundar em cada uma das etapas com mais detalhes:


Início : você tem zero conhecimento. Ponto de partida. Até agora, nada está claro, mas provavelmente extremamente interessante. O caminho começa subindo, mas leve. Em breve você vai subir


Pico do absurdo : "Hooray, você completou os dois primeiros cursos! Tudo acaba!" Nesta fase, a euforia dos primeiros sucessos obscurece os olhos. O sucesso parece estar próximo, mesmo que você ainda esteja no início da jornada. E lutando por esse sucesso, você pode não perceber como começa uma rápida queda no poço. E o nome deste poço:


Vale do Desespero : Então você passou pelos pratos principais, leu alguns livros e decidiu começar a escrever algo de sua autoria. E de repente não funciona . Tudo parece ser conhecido, mas como combinar isso para que funcione não está claro. "Não sei de nada " , "não conseguirei" . Neste ponto, muitos desistem. De fato, existe realmente conhecimento, e eles não evaporaram em lugar algum. Requisitos claros, o suporte simplesmente desapareceu. Programação real começou. Quando você precisa manobrar em um espaço onde há um objetivo, mas não há estágios intermediários, muitos caem em um estupor. Mas, na realidade, esse é apenas mais um estágio do treinamento - mesmo que pelas primeiras dez vezes tudo ocorra de alguma maneira, com grandes esforços, feio. O principal é concluir o assunto repetidamente, pelo menos de alguma maneira . Pela décima primeira vez, as coisas serão mais fáceis. No quinquagésimo, aparecerá uma solução que parecerá bonita para você. No centésimo, não será assustador. E então vem


A inclinação da iluminação : Nesta fase, os limites do seu conhecimento e da sua ignorância estão claramente emergindo. A ignorância não é mais assustadora, o entendimento parece como superá-la. Manobrar no espaço sem soluções se tornará mais fácil. Esta é a linha de chegada. Já ciente do que lhe falta como especialista, você terminará e consolidará o necessário e com uma alma calma entrará


Platô da estabilidade : Parabéns. Este é o fim. Você é um especialista. Você pode trabalhar, não se perderá ao encontrar uma tecnologia desconhecida. Você pode superar quase qualquer problema se fizer esforço suficiente. E apesar do fato de que esse final é apenas o começo de um caminho ainda maior.


Os caminhos de um programador.


Boa sorte com isso!


Literatura para leitura opcional :
Sobre como se tornar um programador e o efeito Dunning-Krueger: tyk .
Hardcore-way para se tornar um programador em 9 meses (não para todos): tyk .
Lista de projetos que podem ser implementados independentemente durante o treinamento: tyk .
Apenas um pouco de motivação extra: tyk .

Source: https://habr.com/ru/post/pt450652/


All Articles