Mensagem para o futuro programador

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

Talvez você esteja interessado em criar algo novo.

Talvez grandes salários estejam atraindo você.

Talvez você queira apenas mudar seu ramo de atividade.

Não é o ponto.

O que importa é você decidir torne-se um programador.

O que fazer agora?

Mensagem para o futuro programador

E existem várias abordagens.

Primeiro: vai para a universidade para uma especialidade de TI e receber educação especializada. O método mais banal, relativamente confiável, extremamente longo e fundamental. Funciona se você ainda está terminando os estudos ou tem meios para se sustentar de um e meio (na melhor das hipóteses, se você pegar tudo na hora e puder começar a trabalhar no 2º ano) a quatro (se combinar trabalho e estudo não é o seu ponto forte) anos.

O que é importante saber aqui?

  • É necessário escolher a universidade certa. Veja programas de treinamento, classificações. Um bom indicador são as competições da universidade. Se as equipes universitárias, pelo menos periodicamente, ficarem entre os dez primeiros em olimpíadas de programação relativamente grandes, então a codificação na universidade não será um rudimento (apesar do fato de que você pessoalmente pode não estar interessado em olimpíadas). Bem, em geral, o bom senso rege: é improvável que a filial de Bratsk da Baikal State University torne você um full stack poderoso.
    Exemplos de boas universidades: Universidade Estadual de Moscou/Universidade Estadual de São Petersburgo (obviamente), Baumanka (Moscou), ITMO (São Petersburgo), NSU (Novosibirsk). Apesar de toda a sua eminência, é bem possível entrar neles com um orçamento limitado, se você não visar departamentos de ponta.
  • Não apenas uma universidade. Apesar de você ser treinado de forma abrangente em todos os tipos de coisas, isso não é suficiente. Devido à burocracia, o programa de formação quase sempre ficará atrás das tendências modernas. Na melhor das hipóteses - por um ano ou dois. Na pior das hipóteses - por 5 a 10 anos. Você terá que compensar a diferença sozinho. Bem, o óbvio: se você estudar o material junto com outros alunos, cada um deles será seu concorrente igual. Se você opcionalmente sair na frente, terá uma aparência muito melhor no mercado.
  • Procure um emprego 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 modesto júnior sem experiência. Acho que é óbvio que depois de se formar na faculdade, ganhar 100 mil é mais prazeroso do que ganhar 30 mil. Como conseguir isso? Em primeiro lugar, veja os pontos A e B. Em segundo lugar, vá a meetups, festivais, conferências, feiras de emprego. Monitore o mercado e tente conseguir um emprego como júnior/estagiário de meio período em qualquer empresa para a qual você seja pelo menos aproximadamente adequado. Não tenha medo de conferências pagas: elas costumam oferecer descontos muito bons para estudantes.

Se você seguir todos esses pontos, ao receber seu diploma, poderá se tornar um especialista extremamente bom, com experiência profissional e uma riqueza de conhecimentos fundamentais, que os autodidatas muitas vezes negligenciam devido à sua natureza pouco aplicada. Bom, a crosta pode ajudar se você for para o exterior: eles olham isso com frequência lá.

Se você não cumprir... Bem, você pode obter uma pontuação seguindo o fluxo, copiando e se preparando para o exame durante a noite. Mas quão competitivo você acha que será então? Claro, não estou dizendo que você precisa tirar A em tudo. Você só precisa adquirir conhecimento. Use o senso comum. Estude o que é interessante e útil e não se preocupe com notas.

Mensagem para o futuro programador

O principal não é o que eles estão tentando empurrar para dentro de você. O principal é o que é interessante e relevante

-

Além disso, segunda maneira: cursos de programação. A Internet está repleta de ofertas para torná-lo um júnior em apenas 3 meses de aulas. Só com um portfólio, e eles vão até te ajudar a encontrar um emprego. Apenas 10 mil por mês, sim.
Talvez isso funcione para alguns, mas puramente IMHO: isso é uma besteira completa. Não desperdice seu tempo e dinheiro. E é por causa disso:

Quem está longe da TI não conseguirá entender as especificidades da profissão em 3 meses. De jeito nenhum. Há muita informação para absorver, muita coisa para entender e, além disso, muita coisa para se acostumar.

Então o que eles vão vender para você? Eles vão te vender uma “habilidade mecânica”. Sem se aprofundar muito nos 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ê escreverá algum tipo de aplicativo. Um, no máximo dois. Aqui está o portfólio. E a ajuda para encontrar um emprego é enviar vagas para juniores de grandes empresas onde é improvável que você consiga uma entrevista.

Porque isto é 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 é escolher um, o mais correto, entre bilhões, e implementá-lo. Criar um ou dois projetos de acordo com as instruções lhe dará algum conhecimento de uma linguagem de programação, mas não lhe ensinará como resolver problemas abstratos. Para fazer uma analogia: imagine que eles prometem lhe ensinar orientação, levá-lo por alguns percursos pedestres simples e depois dizer que você está pronto para conquistar a taiga sozinho no inverno. Bem, você foi ensinado a usar uma bússola e acender uma fogueira sem fósforos.

Resumindo: não acredite naqueles que prometem “rolar” você em pouco tempo. Se isso fosse possível, todos já teriam se tornado programadores há muito tempo.

Mensagem para o futuro programador

Esquerda: O que você aprenderá. Certo: O que será exigido de você no trabalho?

-

O Terceiro Caminho - o caminho escolhido pela maioria. Autoeducação.

O caminho mais difícil, mas talvez o mais nobre. Vejamos isso com mais detalhes.

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

Primeiro de tudo, você precisa responder a pergunta: por que você quer isso? Se a resposta for “bem, claro, não é particularmente interessante, mas eles pagam muito”, então você pode parar por aí. Este não é o lugar para você. Mesmo que sua força de vontade seja suficiente para peneirar um monte de informações, escrever milhares de linhas de código, suportar centenas de falhas e ainda conseguir um emprego, por isso, sem amor pela profissão, isso só levará ao esgotamento emocional. A programação requer um enorme esforço intelectual, e se esses esforços não forem alimentados por um retorno emocional na forma de satisfação pelo problema resolvido, então, mais cedo ou mais tarde, o cérebro enlouquecerá e o privará da capacidade de resolver qualquer coisa. . Não é o cenário mais agradável.

Se tiver certeza de que está interessado nisso, você poderá decidir sobre os detalhes - o que exatamente deseja fazer. Se você não sabe como os programadores podem diferir uns dos outros, o Google pode ajudá-lo.

Vou escrever logo o primeiro conselho para você não esquecer: aprenda inglês. Inglês é necessário. Você não pode ir a lugar nenhum sem o inglês. Sem chance. Sem inglês você não pode se tornar um programador normal. É isso.

A seguir, é aconselhável traçar um roteiro: um plano segundo o qual você irá desenvolver. Estude as especificidades, veja as vagas na sua especialidade, descubra superficialmente que tipo de tecnologias são utilizadas ali.

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

  1. Noções básicas de html/css.
  2. Pitão. Fundamentos.
  3. Programação em rede. Interação entre python e web.
  4. Estruturas para o desenvolvimento. Django, frasco. (observação: só para entender que tipo de “django” e “frasco” eles são, você precisa olhar as vagas e ler o que é exigido ali)
  5. Estudo aprofundado de python.
  6. noções básicas de js.

Ele muito, Eu repito, muito um plano aproximado, cada um dos pontos é enorme por si só e muitos tópicos não estão incluídos (por exemplo, teste de código). Mas isso é pelo menos uma espécie de sistematização do conhecimento que permitirá que você não se confunda sobre o que sabe e o que não sabe. No processo de estudo ficará mais claro o que falta e esse roteiro será complementado.

A seguir: encontre os materiais que você usará para estudar. Principais opções possíveis:

  • Cursos online. Não aqueles cursos que “junho em 3 dias”, mas aqueles que ensinam uma coisa específica. Muitas vezes esses cursos são gratuitos. Exemplos de sites com cursos normais: stepik, curso.
  • Livros didáticos on-line. Existem gratuitos, shareware e pagos. Você descobrirá por si mesmo onde pagar e onde não pagar. Exemplos: academia html, aprenda.javascript.ru, livro de django.
  • Livros. Existem muitos, muitos deles. Se não consegue escolher, três conselhos: procure levar livros novos, porque... as informações ficam desatualizadas muito rapidamente; A editora O'Reilly tem um nível de qualidade bastante elevado e apresentação normal; Se possível, leia em inglês.
  • Meetups/conferências/palestras. Não tão útil em termos de riqueza de informações, mas extremamente útil em termos de oportunidade de comunicar-se com colegas, fazer perguntas relevantes e fazer novas amizades. Talvez até encontre uma vaga.
  • Google. Muitas pessoas subestimam, mas a capacidade de simplesmente encontrar respostas para algumas perguntas é muito importante. Sinta-se à vontade para pesquisar no Google coisas que você não entende. Até os idosos experientes fazem isso. A capacidade de encontrar rapidamente informações sobre algo é essencialmente o mesmo que conhecê-lo.

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

  1. Leia/ouça com atenção. Não leia quando estiver cansado. Aprofunde-se no significado, não pule os pontos que parecem óbvios. Freqüentemente, a transição do óbvio para o incompreensível acontece rapidamente. Sinta-se à vontade para voltar e reler.
  2. Faça anotações. Em primeiro lugar, será mais fácil compreender as suas notas quando houver muita informação. Em segundo lugar, desta forma a informação é melhor absorvida.
  3. Faça todas as tarefas que a fonte lhe sugerir. Embora não, não é assim. Fazer Todos tarefas que a fonte lhe oferece. Mesmo aqueles que parecem simples. Principalmente aqueles que parecem muito complicados. Se você ficar preso, peça ajuda em estouro de pilha, pelo menos através do Google Tradutor. As tarefas são escritas por um motivo: são necessárias para a correta assimilação do material.
  4. Crie tarefas você mesmo e execute-as também. Idealmente, deveria haver mais prática do que teoria. Quanto mais firmemente você fixar o material, maior será a probabilidade de que em um mês você não o esqueça.
  5. Opcional: crie questionários enquanto lê. Escreva perguntas complicadas em uma fonte separada e, depois de uma semana ou mês, leia e tente responder. Se não funcionar, tente novamente.

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

E parece que tudo é simples: aprendemos as tecnologias uma a uma, compreendemos o Zen e vamos trabalhar. É assim que é, mas não é.

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

Mensagem para o futuro programador

a foto foi honestamente roubada por isso

E aqui você precisa examinar cada uma das etapas com mais detalhes:

Старт: Você não tem conhecimento. Ponto de partida. Nada está claro ainda, mas provavelmente é extremamente interessante. O caminho começa subindo, mas levemente. Muito em breve você subirá

Pico da Loucura: “Viva, você concluiu seus primeiros cursos! Tudo dá certo!” Nesta fase, a euforia dos primeiros sucessos cega os olhos. Parece que o sucesso já está próximo, apesar de você ainda estar no início da sua jornada. E enquanto se esforça por esse sucesso, você pode não perceber como começará sua rápida queda no buraco. E o nome deste poço:

Vale do Desespero: Então você concluiu os cursos básicos, leu alguns livros e decidiu começar a escrever algo de sua autoria. E de repente não está funcionando. Parece que tudo se sabe, mas não está claro como combiná-lo para que funcione. "Eu não sei de nada", “Não vou conseguir”. Nesta fase muitas pessoas desistem. Na verdade, o conhecimento realmente existe e não evaporou em lugar nenhum. Requisitos claros e suporte simplesmente desapareceram. A verdadeira programação começou. Quando você tem que manobrar em um espaço onde existe uma meta, mas não existem estágios intermediários, muitas pessoas caem no estupor. Mas, na realidade, esta é apenas mais uma etapa de aprendizagem - mesmo que nas primeiras dez vezes tudo acabe de alguma forma, com enorme esforço, feio. O principal é concluir o assunto repetidamente, pelo menos de alguma forma. Na décima primeira vez as coisas serão mais fáceis. No dia quinquagésimo aparecerá uma solução que lhe parecerá linda. No centésimo não será mais assustador. E então virá

Inclinação da Iluminação: Nesta fase, os limites do seu conhecimento e da sua ignorância emergem claramente. A ignorância não é mais assustadora; há uma compreensão de como superá-la. Será mais fácil manobrar no espaço sem decisões. Esta já é a linha de chegada. Já percebendo o que lhe falta como especialista, você completará e consolidará o que for necessário e entrará em campo com a alma tranquila.

Platô de Estabilidade: Parabéns. Esta é a linha de chegada. Você é um especialista. Você pode trabalhar, não se perderá ao se deparar com uma tecnologia desconhecida. Quase qualquer problema pode ser superado se você fizer esforço suficiente. E apesar de esta ser a linha de chegada, é apenas o começo de uma jornada ainda maior.

O caminho do programador.

Boa sorte com isso!

Literatura para leitura opcional:
Sobre se tornar um programador e o efeito Dunning-Kruger: tyk.
Maneira hardcore de se tornar um programador em 9 meses (não adequado para todos): tyk.
Lista de projetos que você pode implementar de forma independente durante seus estudos: tyk.
Apenas um pouco de motivação extra: tyk.

Fonte: habr.com

Adicionar um comentário