Continuamos uma série especial em nosso blog sobre desenvolvedores que estudaram na CodeGym e hoje trabalham em nossa empresa, criando e aprimorando o produto. É a história de Alexandr, que se formou em Negócios Internacionais porque seu pai queria que ele seguisse seus passos. Alexandr sempre foi muito bom com computadores, sabia um pouco de HTML/CSS e um dia decidiu mudar de emprego. Agora Alexandr é desenvolvedor da CodeGym, ele cria novas tarefas para o curso e testa novos projetos de curso. “Meu único arrependimento é não ter feito isso antes”: uma história de Alexandr, desenvolvedor da CodeGym - 1

“Comecei a pensar em mudar para TI em 2016”

Nasci na Lituânia. Meus pais ucranianos vieram trabalhar para lá logo depois de se formarem em uma universidade na Ucrânia. Passei minha juventude na Lituânia e depois fui para o Reino Unido na década de 90 para estudar inglês. Fiquei lá para terminar o ensino secundário e depois entrei numa das universidades do Reino Unido na costa sul para estudar BA (Hons) em Negócios Internacionais. A escolha do curso universitário pareceu-me relativamente simples naquela altura, uma vez que o meu pai estava envolvido em negócios internacionais e eu queria seguir os seus passos. No entanto, olhando agora para esta decisão, gostaria de ter estudado Ciência da Computação. Comecei a pensar em mudar para TI em 2016. Não estava trabalhando na época e tentei encontrar algo parecido com o que fazia antes ou escolher uma profissão completamente diferente e mais emocionante até que fosse tarde demais. Escolhi TI porque sempre fui muito bom com computadores, sabia um pouco de HTML/CSS e ainda me arrependi de não ter estudado algo relacionado a informática na universidade. De alguma forma, eu sabia que poderia ter sucesso neste campo. Comecei a pesquisar todos os tipos de opções, incluindo programação (backend/frontend), administração de sistemas e outras, antes de finalmente decidir que programação parecia a opção mais aplicável para mim. Depois de restringir as opções para “programação”, passei mais de duas semanas pesquisando diferentes linguagens: onde você as usa, para que servem e qual popularidade está crescendo. Depois disso, comecei a procurar cursos gratuitos que ensinassem diversas linguagens de programação e praticassem. Era difícil entender se eu realmente gostaria de um determinado idioma sem trabalhar com ele.

“Encontrei o CodeGym em uma de minhas pesquisas e decidi tentar”

Acabei restringindo minha lista a duas linguagens: Python e Java. Python estava realmente em ascensão naquela época, mas minha escolha final foi Java. Uma das primeiras coisas que mais gostei em Java é que ela é uma linguagem de programação OOP fortemente tipada e também independente de plataforma, então não precisei escolher uma plataforma específica. Muitas empresas o utilizam, desde start-ups até grandes empresas. Então, eu sabia que se aprendesse Java, teria mais chances de encontrar um emprego e mais oportunidades de alternar entre setores, se quisesse. Depois que decidi que Java era "The One", comecei a procurar vários recursos onde pudesse aprender a linguagem adequadamente (e de preferência de graça). Assisti alguns vídeos no Youtube e procurei vários sites com cursos gratuitos/freemium, mas todos estavam faltando alguma coisa para mim. Finalmente, encontrei o CodeGym em uma de minhas pesquisas e decidi tentar. Afinal, o site parecia mais profissional do que a maioria dos outros sites relacionados a Java, e gostei da estrutura do curso. Naquela época, eu poderia passar por 10 níveis gratuitamente, então me inscrevi e rapidamente fui levado a concluir as tarefas do curso. Também ajudou o fato de haver uma grande comunidade de outros alunos que respondiam a perguntas se alguém ficasse preso. Resumindo, decidi continuar com o curso CodeGym e complementá-lo com alguns vídeos do Youtube e outras pesquisas quando e se necessário. Lembro-me de não ter passado pelos 10 níveis gratuitos antes de adquirir uma assinatura anual. Eu já sabia que queria terminar o curso e a assinatura paga foi uma motivação extra para começar.

“O que também ajudou é que não estive sozinho numa situação semelhante”

Não tinha um prazo específico para terminar o curso. Eu sabia que queria passar por isso o mais rápido possível, mas, ao mesmo tempo, queria aprender o idioma corretamente. Pelo que me lembro, demorei cerca de três meses para completar as duas primeiras missões. O resto do curso se arrastou muito porque comecei a trabalhar e não tive muito tempo para estudar. Reiniciei o curso algumas vezes para repetir o que aprendi antes de prosseguir para outras missões. Com a infeliz natureza de parar e recomeçar da minha aventura de aprendizagem, passei cerca de dois anos fazendo o curso. Uma coisa importante que recomendo para quem está começando a aprender qualquer linguagem de programação é evitar longas pausas, ou você eventualmente terá que passar pela teoria/tarefas novamente. Quando você está começando a aprender, é essencial continuar. Caso contrário, é fácil esquecer o que aprendeu sem prática contínua. Não precisei de motivação extra até encontrar tarefas desafiadoras no final da segunda missão. Dois pensamentos me ajudaram a continuar:
  1. Estou na metade do caminho e seria estúpido desistir agora.
  2. Esta é uma chance de mudar minha vida, por isso preciso manter a cabeça baixa e lidar com as dificuldades.
O que também ajudou é que eu não estava sozinho em uma situação semelhante e houve muita ajuda nos fóruns do curso e online. Como descobri mais tarde, pesquisar e fazer perguntas é um dos “trabalhos” mais comuns que todo programador profissional deve realizar constantemente, portanto, não deixe que tarefas complexas o desmotivem. Sempre há ajuda disponível em algum lugar. Multithreading é provavelmente um dos tópicos mais desafiadores para mim. É apenas mais difícil compreender um pouco da sintaxe e da teoria. Mas isso sou só eu. Poderia ser outra coisa para outros. É bastante individual e depende do seu nível de lógica e da capacidade de compreensão das informações fornecidas.

“Se você acha a codificação atraente em geral - faça-a”

CodeGym é meu primeiro trabalho como desenvolvedor Java. No momento, estou envolvido principalmente na criação de novas tarefas para o curso, testando novos projetos de curso e mantendo/administrando nosso CRM. Ainda tenho muito que aprender, então quero garantir que posso cobrir bem todos os princípios básicos. Inclui não apenas a linguagem em si, mas também os "extras" necessários, como bancos de dados, frameworks, etc. Quero me tornar um Desenvolvedor Sênior um dia e ajudar novos caras como eu a iniciar esta jornada emocionante. Agora sei por experiência própria que se tornar um desenvolvedor Java não é uma tarefa fácil e, no início, você precisa de toda a ajuda que puder obter de seus colegas mais experientes. Também estou pensando em tentar o desenvolvimento Android no futuro, quando tiver muito mais experiência, pois acho que pode ser bem interessante. Adoraria criar um aplicativo que usaria diariamente. Fico pensando por que não fiz isso antes. Eu sugiro que se você achar a codificação atraente em geral - faça-o, não hesite. Porque você logo mudará de ideia e continuará trabalhando em seu mesmo emprego tedioso ou continuará perdendo tempo pensando "devo, não devo" enquanto outros estudam e encontram emprego. A menos que você tente, você não saberá. Quanto mais rápido você tentar, mais rápido descobrirá se essa é a mudança de carreira que deseja ou não. No segundo caso, você deixará de perder tempo pensando nisso e seguirá em frente. Da forma como as coisas estão mudando no mundo de hoje, a programação é uma das principais opções de carreira, na minha opinião. E o benefício significativo é que você pode trabalhar em qualquer lugar do mundo. Depois que entrei em TI, me senti muito mais feliz trabalhando em um ambiente amigável e de mente aberta. Posso falar com o chefe sem agendar compromissos com dias/semanas de antecedência. Posso fazer qualquer pergunta "estúpida" aos meus colegas, e eles ficarão felizes em ajudar, já que já estiveram na mesma posição. Toda a atmosfera aqui é muito melhor do que nos meus empregos anteriores. No geral, estou feliz por ter feito a mudança e, como mencionei antes, meu único arrependimento é não ter feito isso antes.

Dicas para desenvolvedores novatos:

  1. Tente dedicar pelo menos algumas horas por dia (se você trabalha ou estuda em tempo integral) para aprender Java. Se você puder dedicar mais do que isso, seria melhor, é claro. Além das informações fornecidas nas aulas do curso, experimente pesquisar materiais extras no Youtube/Google com exemplos práticos e explicações. Acho os vídeos mais úteis ao aprender a codificar, pois posso ver exemplos reais e a lógica por trás do código. Procure descontos na Udemy ou em outros serviços, onde às vezes você pode conseguir um curso para iniciantes por apenas dez dólares. Isso também deve ajudá-lo a compreender a teoria essencial.

  2. Tente não pular nenhuma tarefa. Eu sei que às vezes é muito tentador seguir em frente e pular as tarefas mais desafiadoras, mas isso será contraproducente no longo prazo. Se você estiver preso em uma tarefa difícil, pesquise mais on-line, faça perguntas no fórum do curso/seções de ajuda e tenho certeza de que você será capaz de encontrar uma solução.

  3. Para resumir, gaste o máximo de tempo possível por dia aprendendo Java, faça mais pesquisas e não pule tarefas. Além disso, lembre-se: é importante não fazer pausas longas (mesmo em feriados!).