CodeGym/Blogue Java/Random-PT/Não há necessidade de combater o mal no desenvolvimento, ...
John Squirrels
Nível 41
San Francisco

Não há necessidade de combater o mal no desenvolvimento, mas também não se deve tocá-lo: a história de Irina, a Programadora

Publicado no grupo Random-PT
Sabemos que os alunos do CodeGym querem ouvir as histórias de quem já trabalha com TI. Então resolvemos o problema com nossas próprias mãos e lançamos uma série sobre desenvolvedores de vários países e empresas que concluíram nosso treinamento em Java. Esta história é sobre Irina. Na escola e na universidade, ela adorava as ciências técnicas. Ela sabia um pouco sobre programação, mas optou por trabalhar em publicidade contextual. Mesmo assim, Irina queria tentar o desenvolvimento. Um dia, ela recebeu um e-mail informando que estagiários desenvolvedores estavam sendo contratados para um determinado serviço. E embora nossa heroína não tenha passado na entrevista, a experiência a motivou a começar a aprender Java.“Não há necessidade de combater o mal no desenvolvimento, mas também não se deve tocá-lo”: a história de Irina, a Programadora - 1

"Eu definitivamente queria me testar no desenvolvimento"

Depois do 9º ano, quando tive de escolher a direcção para estudos posteriores (ou seja, áreas técnicas, humanitárias, económicas e médicas), fiquei dividido entre as áreas humanitária e técnica. Para mim, as humanidades representaram uma carreira como jornalista, denunciando o mal e defendendo boas causas em todo o mundo. Ao contemplar a pista técnica, pensei, se não estou lutando contra o mal, pelo menos não vou tocá-la. Segui o caminho de menor resistência e escolhi a pista técnica. Depois da escola, entrei na universidade, com especialização em Ciência da Computação e Engenharia da Computação. Infelizmente, a universidade não oferecia nenhuma habilidade em nenhum idioma específico. De forma desconexa, aprendi algumas coisas sobre C++, C#, JavaScript e layout de UI. No meu terceiro ano, me interessei aleatoriamente por publicidade contextual e por acaso consegui um emprego em uma empresa bastante conhecida. Como resultado, permaneci na publicidade por 2 anos. Tive sucessos decentes, mas definitivamente queria me testar no desenvolvimento. Meu retorno à programação também ocorreu sem um plano bem pensado: recebi um e-mail no trabalho sobre um novo serviço que buscava contratar estagiários desenvolvedores Java. Resolvi ir a uma entrevista. Claro que naquela época meu conhecimento básico não era suficiente para conseguir uma oferta, mas esse episódio me levou a procurar alguns recursos sobre Java. Encontrei este curso na Internet. Eles não me fisgaram no início: todas as fotos engraçadas e histórias de robôs fizeram com que não parecesse nada sério para mim, mas gostei muito da oportunidade de praticar e verificar minhas tarefas. Eu demorei e decidi tentar, e então fui atraído.

"Eu falhei nas primeiras entrevistas"

Estudei sem horários rígidos, aos trancos e barrancos: nos intervalos do trabalho, às vezes à noite. Por volta do nível 16-17, comecei a tentar procurar emprego. Naquela época, eu já estava estudando há cerca de três meses, com algumas pausas. Se você não tem experiência profissional, eles gostam de perguntar sobre algoritmos, mas eu também mal os conhecia. Então falhei nas primeiras entrevistas. Tive que me preparar mais, procurar as perguntas mais frequentes e memorizar as respostas. Aprendi SQL com urgência, estudei sistemas de versionamento de código (IMO, CodeGym menciona Git em um nível excessivamente avançado, não até o nível 30) e princípios SOLID, e aprendi algoritmos de classificação. No final, fui contratado como desenvolvedor júnior em uma pequena empresa. Minhas tarefas no meu primeiro trabalho foram super triviais: desenvolver novas funcionalidades do sistema, aprimorar funcionalidades existentes, corrigir bugs. Usamos a metodologia em cascata: um empresário envia uma tarefa, um analista a descreve com um pouco mais de detalhes, um desenvolvedor a implementa, um analista a testa e então o desenvolvedor a incorpora no produto. Não usamos nenhuma tecnologia especial: escrevemos tudo em Java puro — um monólito em vez de microsserviços. Para trabalhar com o banco de dados, usamos nossa própria estrutura proprietária de código fechado. Houve um oceano de dificuldades no início - desde aprender como fazer upload do projeto para o repositório até como escrever uma solicitação no banco de dados para que o tempo não expire. Tive que pesquisar muito no Google sobre como trabalhar com JSON, SOAP, sobre o que é Maven e sobre como construir um projeto Maven. Não abandonei o aprendizado. Tentei estudar pelo menos dia sim, dia não, mas houve algumas vezes em que tive que reservar um mês. Mas meu objetivo era terminar os queridos 40 níveis. Paralelamente, fiz um curso sobre o framework Spring. A primavera abriu muitas novas oportunidades para mim e as ofertas que recebo graças ao meu currículo multiplicaram-se muitas vezes. Durante a quarentena, mudei de emprego e mudei para um projeto com arquitetura de microsserviços. Estamos criando um serviço de busca, venda, compra e locação de imóveis residenciais e comerciais, bem como solicitação e manutenção de hipotecas. 80% dos nossos serviços são escritos em Kotlin. Os outros 20% são escritos em Java.

Meus planos para o futuro próximo são:

  1. Imersão mais profunda na arquitetura. Eu gostaria de me aprofundar no design da arquitetura de back-end.

  2. Aprendendo C++. Acho que isso definitivamente será útil para qualquer programador — ser capaz, se necessário, de escrever as partes de um aplicativo que precisam ser executadas excepcionalmente rápido. Isso será útil para quaisquer cálculos matemáticos complexos.

  3. DevOps. Algumas empresas até tornam essa habilidade um requisito obrigatório para programadores. E com certeza será útil em qualquer outra empresa.

Não me arrependo nem um pouco de ter optado pelo curso técnico no 9º ano e de há dois anos ter tido coragem de deixar a publicidade e iniciar a carreira de programador. O desenvolvimento é uma espécie de magia, uma forma de tornar simples coisas complexas para as pessoas, de substituir a confusão pela clareza. Atualmente estou tentando fazer com que meu irmão mais novo de 12 anos se interesse por programação. Há um ano, dei a ele um kit inicial do Arduino e estou pensando em comprar um livro para ele sobre codificação Python para Minecraft. Quando ele ficar um pouco mais velho, vou apresentá-lo ao CodeGym. Acho que ele vai gostar. Uma coisa importante que aprendi com o CodeGym é que percebi que você realmente não deveria ter medo de pagar por bons materiais. Vai render cem vezes mais.

Dicas para desenvolvedores iniciantes:

  • Continuar a programação. O trabalho de um programador consiste inteiramente em resolver certos problemas, encontrar certos erros e corrigi-los. Às vezes isso pode (e definitivamente vai!) parecer insuportavelmente difícil, chato e irritante, mas quando você finalmente resolve o problema, parece um verdadeiro avanço, uma vitória, quase uma descoberta. E esse ciclo se repete. Raiva, aceitação, longas tentativas e fracassos intermináveis, depois vitória. A emoção do trabalho de um programador reside na antecipação do próximo avanço e vitória. “Não há necessidade de combater o mal no desenvolvimento, mas também não se deve tocá-lo”: a história de Irina, a Programadora - 2
  • Continue aprendendo sempre e onde for possível. Leia artigos e livros. Encontre e faça cursos em diversas áreas de desenvolvimento de software. Não deixe de experimentar novas tecnologias. Aplique-os em seus projetos pessoais. Interaja com outras pessoas que são apaixonadas pelo desenvolvimento de software. Trocar experiências e ideias. Era uma vez conversar com gente tão ambiciosa que me ajudou a não definhar na minha primeira empresa e a não ter medo de seguir em frente.

  • Daí a minha terceira dica — Não tenha medo de mudar as coisas : um novo emprego, um novo framework, uma nova linguagem (perdoe-me, CodeGym). Todas as minhas grandes vitórias sobre mim aconteceram exatamente no momento em que mudei de emprego. Inicialmente parece assustador ir a algum lugar sem dominar totalmente a tecnologia ou linguagem, mas isso estimula muito o crescimento, à medida que você estuda essa tecnologia ou linguagem desconhecida. Seu segundo fôlego entra em ação e você encontra um significado especial em compreender e estudar algo novo.

  • Seja razoável ao avaliar seus pontos fortes. Mesmo que você consiga combinar emprego, estudo independente em casa, alguns cursos online, universidade e talvez uma família, por um tempo, há uma grande chance de você ficar exausto. Infelizmente, conheço alguns caras que se esgotaram e abandonaram a programação após um período prolongado combinando a universidade, tendo um emprego remunerado e também trabalhando como estagiário de desenvolvedor não remunerado. Se eles tivessem tirado um dia extra de folga ou licença acadêmica na universidade, se tivessem tirado um dia de férias e deixado de estudar, se tivessem feito uma pausa nos cursos on-line por algumas semanas, então talvez tudo tivesse dado certo. diferentemente.

Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário