Dizem que quem não tem formação técnica não tem lugar na programação. Eles tentam amedrontá-lo e impedi-lo de pensar em uma mudança de carreira depois de completar 30 anos. Mas e se apenas aos 30 anos ficar claro que todo o seu conhecimento e experiência anteriores o levaram ao destino errado?

Na realidade, não é tão assustador. Qualquer um pode se tornar um programador em qualquer idade. Aqui está a história de PielsLie, um de nossos alunos de São Petersburgo cuja formação é em humanidades e que trabalhou por 10 anos em gerenciamento e vendas.

Na época em que escreveu sua história de sucesso, ele tinha 32 anos. Em cerca de 5 meses, ele alcançou o nível 35 no CodeGym. Ele passou 2 a 3 meses em projetos de autodidata e redação, e mais alguns meses em busca de emprego. Nesse ponto, ele recebeu uma boa oferta e conseguiu um emprego como desenvolvedor de software.

ETAPA 1. Aprendizagem

Os requisitos para a principal fonte de aprendizagem eram claros: uma apresentação estruturada do material Java Core, muita prática e uma grande comunidade:

  • durante as entrevistas, você pode ser questionado sobre qualquer coisa sobre "conhecimento básico" — desde deslocamento bit a bit e conversão de genéricos até E/S e serialização;
  • a prática é obrigatória; você pode se lembrar de coisas na programação se entender profundamente o material e reforçá-lo por meio da prática;
  • E quanto à comunidade: se você resolver uma tarefa, vá em frente e mostre nos comentários; se você não conseguir resolvê-lo, fique à vontade para fazer perguntas, mas provavelmente ninguém lhe dará uma solução pronta.

Em todos os aspectos, o CodeGym se encaixa na conta da principal plataforma de aprendizado. O graduado recomenda a leitura de livros: "Este mesmo Schildt cobre melhor o tópico em questão e muitas vezes expõe certos pontos".

Dicas para aqueles que estão abordando seu aprendizado de Java com uma ardósia limpa

  1. Todo mundo que começa do zero acha a jornada difícil. Não é uma grande porcentagem daqueles que começam chegam ao final do curso. Seu objetivo é se tornar um daqueles que fazem.
  2. Você experimentará o maior entusiasmo depois de um ou dois meses, quando as tarefas se tornarem mais difíceis e mais interessantes. Aguentar.
  3. O mais importante é fazer progressos semanais. Depois de fazer uma pausa de duas semanas, é um desafio voltar à sela, mas nem todo mundo consegue escrever código todos os dias por vários meses seguidos.

Defina uma meta para si mesmo, medida em horas por semana: por exemplo, 15. Você pode codificar 1,5 horas todos os dias da semana e outras 3-4 horas todos os dias do fim de semana, ou pode descansar por algumas noites, mas depois seu "cota de fim de semana" aumentará. Se você fizer dessa maneira, sua programação será flexível, mas consistente. É claro que mais tarde você poderá medir seu trabalho em termos de tarefas e projetos concluídos, mas quando falamos de sintaxe e conhecimento básico, faz sentido trabalhar em horas.

No total, foram necessários cerca de 5 meses para concluir o curso (antes de ter acesso ao estágio), incluindo férias e pausas curtas, e isso foi conseguido com uma semana de trabalho padrão de cinco dias que deixava apenas tempo livre nos fins de semana e dias úteis das 10 PM à meia-noite.

Portanto, se você tiver um horário mais aberto ou adotar um regime de treinamento mais rigoroso, poderá administrar muito mais rapidamente.

PASSO 2. Auto-educação

Ao atingir o nível 35, por vários meses ele explorou independentemente Spring MVC, Spring Boot + Data, Spring Security, Hibernate, jUnit, Maven, Git e RDBMS, dominou o SQL e reuniu todo esse conhecimento em um todo unificado. Seis meses depois, o aluno tinha projetos que lhe davam experiência prática usando frameworks "adultos", bem como um perfil do Github, que ele poderia mostrar se um potencial empregador o solicitasse.

Como criar um plano de desenvolvimento pessoal

  1. Analise as ofertas de emprego para cargos de desenvolvedor Java júnior/intermediário (ou alguma outra área de interesse) e veja quais tecnologias e estruturas são mencionadas com mais frequência.
  2. Sonhe e anote algumas tarefas de teste para eles. Estabeleça prazos para você mesmo implementá-los.

PASSO 3. Procurando trabalho

Esta etapa foi a mais longa e não tão suave quanto as duas anteriores.

Enviando um currículo honesto de novato

Depois de concluir projetos pessoais, o aluno enviou cerca de 30 inscrições para vagas de júnior/trainee (através de HH, LinkedIn e agências de recrutamento), indicando a familiar pilha de tecnologia em seu currículo, juntamente com algumas habilidades interpessoais e uma menção modesta de sua experiência.

Isso rendeu duas ligações, uma das quais terminou imediatamente devido às suas habilidades de inglês pré-intermediárias (então aprenda inglês também). Mais duas empresas enviaram suas tarefas de teste. Ele teve uma "entrevista" que resultou em um "ligaremos para você".

Tentativa de estágio

Talvez você possa ganhar experiência por meio de estágios não remunerados ou pagos condicionalmente e, de alguma forma, ganhar uma posição em uma grande empresa de TI? Essa é uma boa abordagem, mas, como se vê, não é para todos. O autor da história realizou a tarefa de teste, mas não passou da entrevista final.

Depois dessa experiência, nosso ex-aluno escreve que "ficou um tanto deprimido e interrompeu toda a busca por emprego por quase seis meses". Ele trabalhou em sua antiga profissão e escreveu algumas aplicações para si mesmo.

Isso continuou até que ele encontrou um conhecido com quem compartilhou suas falhas em encontrar um emprego de desenvolvedor júnior. Naquela época, seu conhecido trabalhava como desenvolvedor de nível médio, mas ele começou da mesma forma - estudando sozinho.

Seu amigo deu algumas recomendações (alguns "truques", segundo o autor):

  1. De uma forma ou de outra, consiga mais de 6 meses de experiência profissional em seu currículo: estágios, projetos de tese, freelancer, trabalho remoto - o que for. Isso ajudará muito no estágio em que o pessoal de RH fizer a triagem inicial da pilha de currículos;
  2. Remova a palavra "júnior" e a pretensão salarial de seu currículo; apenas saia de "Desenvolvedor Java" e discuta seu salário individualmente com cada empresa;
  3. Tente fazer com que a pessoa do RH divulgue a faixa salarial possível antes de declarar suas expectativas. Se uma empresa está oferecendo US$ 5.000 a US$ 6.500 e você está disposto a começar por US$ 2.000, alguns tomadores de decisão de contratação formarão uma opinião negativa sobre você.
  4. Responda a todas as vagas de emprego que correspondam à sua pilha de tecnologia, mesmo que sejam necessários 1 a 3 anos de experiência profissional.

E deu tudo certo.

primeira oferta

Depois que o autor da história seguiu as recomendações, a situação de procura de emprego melhorou significativamente.

Primeiro, de cerca de 12 novas respostas, metade terminou quase imediatamente com uma reunião pessoal, uma entrevista pelo Skype ou uma tarefa de teste.

Em segundo lugar, os representantes de RH começaram a entrar em contato por iniciativa própria – por meio de aplicativos de mensagens, e-mail e LinkedIn.

Em terceiro lugar, os requisitos de experiência profissional mostraram-se um tanto flexíveis: muitas empresas estavam prontas para se comunicar com um candidato que não se enquadrasse na faixa especificada de 1 a 3 anos de trabalho no mundo corporativo.

O resultado final foi uma oferta para uma posição de desenvolvedor júnior e outra para uma posição de nível médio com um período de experiência. No total, a procura de emprego durou dois meses.

Você não pode escrever um monte de código Java, depois procurar um emprego por muito, muito tempo e, finalmente, tudo dar em nada.

A água desgasta a pedra e, como escreve o autor, "se um estudante de humanidades de 30 anos conseguir, você também terá sucesso. O principal é não ter medo dos primeiros telefonemas, tarefas de teste e entrevistas. Cada 'fracasso' pode ser uma chance de aprender algo novo sobre você e preencher quaisquer lacunas em seu conhecimento. E toda vez você se sentirá mais confiante."