Bem, encontrei tempo para compartilhar minha pequena história.
Prólogo
Comecemos pelo fato de que tenho 30 anos, tenho formação superior em química (não vou entrar em detalhes) e trabalho em uma fábrica há quase 8 anos. O trabalho era realmente bastante interessante, mas olhando para os meus colegas de trabalho, percebi que não queria trabalhar aqui durante vinte anos até me aposentar. Não é assim que quero passar a minha vida. Quero acrescentar também que tenho uma família, incluindo dois filhos (o mais velho tem 6 anos, o mais novo tem 1 ano) e, previsivelmente, uma hipoteca. Por fim, decidi tentar mudar para outro lugar, para outra fábrica com salários mais altos e crescimento real na carreira. Eu tinha criado raízes na primeira fábrica, então foi difícil sair, mas eu tinha me decidido. Minha viagem a São Petersburgo durou um mês. Eu estava oficialmente trabalhando lá há uma semana quando percebi que a situação das fábricas em nosso país (Sviatoslav é da Rússia – nota do editor) é desanimadora em sua maior parte. Voltei para minha cidade natal. Não queria voltar atrás, pois me parecia que era um retrocesso. Neste ponto, decidi que se eu mudar minha vida - e mudar radicalmente! Por cerca de uma semana ponderei sobre qual linguagem de programação escolher e, bem, a escolha recaiu sobre Java. Depois disso, comecei a procurar cursos. A realidade é que existem muitos cursos bons, alguns até com preços razoáveis, mas tive um problema: estava super motivado e tinha muito tempo para estudar, mas meu colchão financeiro duraria no máximo 3-4 meses. Todos os cursos que gostei tinham duração de meio ano ou mais, com duas aulas por semana (na maioria das vezes). Mas então uma amiga me recomendou o CodeGym depois de saber que é um recurso muito bom. Vi que esse curso tem tudo que eu precisava:- uma assinatura com materiais e tarefas de aprendizagem;
- sem limite de tempo - eu poderia estudar tanto quanto minha agenda (que era aberta) e minha vontade (como falei acima, estava super motivada) permitissem.
Parte 1: Em busca do conhecimento
No dia 26 de novembro de 2019 me inscrevi e iniciei meus estudos. Direi desde já que houve dias em que fiquei 14 horas seguidas sentado, estudando, lendo todos os links relacionados, e tentando encontrar soluções mais bonitas (sem espiar a Ajuda). Só quando pensei que minha solução era a melhor é que procurei a Ajuda. Muitas vezes fiquei surpreso com as soluções ainda mais bonitas e concisas. No final de janeiro, ao chegar ao nível 17, resolvi começar a fazer entrevistas, avaliar minhas habilidades e ver o que o mercado quer. Acontece que ninguém realmente me respondeu, mas houve um escritório que me aceitou como estagiário probatório não remunerado: o primeiro mês não foi remunerado, o segundo e o terceiro incluíram uma pequena bolsa. Em seguida, haveria outra entrevista baseada no meu desempenho após três meses e, se o estágio fosse bem-sucedido, então o emprego.Parte 2: Correndo para a batalha
Meu estágio envolveu escrever um plugin para Chrome com back-end Java para automatizar as tarefas rotineiras de um dos departamentos internos da empresa. Tive um mentor maravilhoso e com muito conhecimento, o que considero também importante. Basicamente, para não me perder no mato, contarei agora sobre a pilha de tecnologia que utilizei e, no final do artigo, fornecerei vários links que se mostraram muito úteis para mim.Pilha de tecnologia:
Java 11 (o projeto foi escrito totalmente do zero), Spring (Boot, Security, OAuth2); Usei o MongoDB como banco de dados; para testes automatizados, usei AssertJ, Mockito e Spring-boot-starter-test; e usei o fluxo bastante popular do GitHub (veja este artigo ). Aliás, se você tem dificuldade com o inglês, então este é o momento de aconselhá-lo a aprendê-lo. Meu nível de fluência é A2, mas procuro sempre ler artigos em inglês (sem usar tradutor, claro). Essa foi a minha maior dificuldade ao iniciar o projeto de estágio, pois tive que trabalhar com um CRM de terceiros e toda a documentação estava em inglês. Além disso, ao trabalhar com Spring, é melhor ler a documentação original. É muito bom e detalhado. Além do mais, quase toda a documentação é em inglês (um pouco do Capitão Óbvio). Além disso, meu mentor me disse para escrever todos os comentários no código e na documentação da API em inglês, então repito mais uma vez: aprenda inglês, se você não for um falante nativo! Mesmo que você não vá trabalhar com clientes estrangeiros ou viajar para o exterior, essa habilidade simplesmente simplificará muito seu estudo e desenvolvimento.Parte 3: Resultado
Esta parte será bem mais curta :) No final do estágio, passei com sucesso na entrevista de avaliação de desempenho e consegui um emprego, onde continuei a trabalhar neste projeto. A primeira etapa seria implementada no âmbito do meu estágio, mas foram três etapas ao todo. Com o início da pandemia, muitos projetos comerciais desapareceram e eu implementei todas as etapas e todas as outras ideias/desejos que poderiam existir para este projeto. Havia outras tarefas, mas, como dizem, isso é outra história.Parte 4: Houve um final feliz, embora as coisas estejam longe de terminar ;)
Em meados de julho, recebi uma ligação e me perguntaram se eu estava procurando trabalho. Eu havia postado meu currículo, embora ele não fosse atualizado há muito tempo. Eu decidi me testar. Passei por 3 etapas: uma tarefa de teste, uma entrevista técnica e uma entrevista com o chefe. Eles me enviaram uma oferta e... Esta foi uma oferta que eu não pude recusar. Eu entendo, é claro, que em seus primeiros empregos você tentará entrar onde quer que eles o levem, mas mesmo assim. Meu primeiro emprego foi como terceirizado, mas meu trabalho atual é na indústria alimentícia. Também me contrataram como desenvolvedor júnior, mas não estou nem um pouco chateado, pois há espaço para crescer tanto em conhecimento quanto em dinheiro.Epílogo
Então, amigos, não desanimem. O principal é se decidir e não se desviar do caminho. No meu caso, eu tinha uma responsabilidade enorme de cuidar da minha família e uma vontade de mudar alguma coisa na minha vida, de começar a fazer o que realmente gosto. O desenvolvimento de software é especialmente bom, porque você pode subir na carreira, independentemente de haver uma vaga mais alta na sua empresa, independentemente de alguém ter se aposentado depois de trabalhar por vinte anos e independentemente de você ter conexões pessoais para conseguir o emprego. trabalho superior. Na nossa área tudo está em nossas mãos!Aqui estão alguns artigos que gostaria de compartilhar:
- Entendendo a arquitetura . Pessoalmente, li este artigo 4 vezes enquanto estávamos trabalhando na arquitetura de um aplicativo futuro. Eu uso a palavra "nós" porque meu mentor verificou tudo e enviou de volta para correções (ou seja, ele fez revisões de código). Na primeira vez não entendi muito. Então eu li três meses depois e descobri que entendi o porquê. Posteriormente, li mais 2 vezes para solidificar e assimilar totalmente todas as informações.
- Aprendizagem interativa do Git .
- Recomendo que todos aprendam como trabalhar com streams. Eles são realmente gloriosos: muitas vezes você pode substituir grandes volumes de código por um pequeno fluxo.
- Documentação da primavera.
- Como trabalhei com um banco de dados não relacional, e a maioria das empresas (especialmente as grandes) trabalha com SQL, em meu tempo livre tentei resolver pelo menos alguns problemas envolvendo a construção de consultas SQL. Existem muitos sites diferentes para isso.
- Eu também recomendaria ler sobre como escrever testes (Assertj, Mockito), mas não me lembro de nenhum artigo bom, apenas documentação.
- E quando você estiver desenvolvendo um aplicativo (mas agora já ultrapassamos o nível iniciante), tente usar padrões de design . Pelo menos dê uma olhada rápida nos padrões bem conhecidos. Isso será útil quando você começar.
GO TO FULL VERSION