Uma sugestão de caminho para novas pessoas desenvolvedoras

Adriano Croco
7 min readSep 23, 2020

--

Olá!

Nos últimos meses eu comecei um trabalho de mentoria pelo LinkedIn e gostaria de tentar responder algumas perguntas frequentes típicas de quem está começando na área de TI.

Vamos lá! :-)

Disclaimer: observações puramente pessoais.

1-) Preciso fazer faculdade para ser uma pessoa desenvolvedora?

Depende do momento de vida que você está.

Se você é mais jovem (18~25 anos) e não fez nenhuma outra faculdade até o momento (e puder fazer, obviamente), então faça. Qual o curso? na minha opinião, cursos como análise e desenvolvimento de sistemas, sistemas de informação e demais tecnólogos são todos muito parecidos. Depende mais de você do que da faculdade em si.

Há um diferencial em ciência da computação que gostaria de mencionar: a base teórica (tanto em lógica e matemática) será mais aprofundada. Isso não é um divisor de águas, mas vai te ensinar a absorver conceitos mais fundamentais como estrutura de dados, algoritmos e Big O Notation com mais facilidade, vou detalhar um pouco mais sobre esses pontos mais pra frente.

Se você já tem mais tempo de carreira e está querendo mudar de carreira (já tenho alguma outra graduação ou algo similar), não é necessário fazer faculdade — dado que você não tem tempo para experimentar, certo? — para te tranquilizar, eu afirmo que mais da metade das empresas não se preocupa com formação superior para contratar pessoas desenvolvedoras. Fonte? aqui.

Porém (sempre há um porém): se você não fez faculdade, você vai ter que se esforçar sozinho(a) para aprender conceitos fundamentais que são muito importantes (e atemporais).

O conhecimento em fundamentos é a única coisa dentro da TI que você não perde com as mudanças tecnológicas. Portanto, invista um tempo nisso. Isso ajuda até lidar com desconfortos como a síndrome do impostor e é a diferença entre um amador remunerado e um profissional.

2-) Qual área escolher dentro da TI?

Primeiro, escolha o que você quer fazer. Você gosta de construir interfaces bonitas e tem simpatia com web? Experimente Front-End. Gosta de escrever sistemas complexos? Back-End. Quer mexer com automação e Cloud Computing? DevOps e Site Relialibity Engineering. Gosta de padrões rígidos, qualidade e quer se certificar que as coisas funcionem? Quality Assurance. Quer invadir e defender sistemas ou definir protocolos e políticas para tornar os sistemas seguros? InfoSec. Quer fazer apps? Mobile. Quer mexer com dados e pensar em como servi-los da melhor forma? Data Engineering. Quer mexer com inteligência artificial? Machine Learning Engineering ou Data Science.

Felizmente, a TI é bem grande e tem muitas opções que agradam diferentes perfis. Por favor, só escolha um aderente a quem você é para você não se frustar com algo que não gosta. Se você não está se divertindo ao interagir com alguma tecnologia, tem alguma coisa errada.

Escolheu o que tem mais afinidade? Não sabe por onde começar? Utilize esse roadmap feito pela comunidade com a ordem dos assuntos a serem estudados e algumas recomendações. No link não há todas as áreas, mas já é um começo.

Um detalhe: eu sou do time que full-stack não existe. Sempre haverá uma área que você terá mais afinidade ou especialidade, portanto, em alguma área seu trabalho sairá com qualidade abaixo do ideal.

Você quer ser full-stack? Seja, a carreira é sua :)

3-) Escolhi back-end e agora?

Ótimo! com essa área eu consigo te ajudar. Vamos começar vendo o que é necessário saber para ser uma pessoa desenvolvedora profissional (Ou seja, quem faz isso como carreira e é sua ocupação principal):

Back-end Roadmap 2020

Esse mapa foi feito pela comunidade e viralizou no github faz algum tempo. Eu concordo com quase tudo (até na ordem de estudos), porém, tenho algumas considerações referente a prioridades de estudos e linguagens de programação recomendadas.

Eu recomendo que você estude Docker e Kubernetes o quanto antes. Se está tendo dificuldades para entender o que ambas fazem, continue seguindo o roadmap e volte depois de algum tempo até essas tecnologias, até absorver.

Ambas as tecnologias vieram para ficar e mudaram o paradigma de como sistemas são desenvolvidos de forma definitiva. Quem não sabe isso, está em sério risco de passar por dificuldades de recolocação.

Qualquer uma das linguagens mencionadas no Roadmap possui mercado no Brasil. Algumas mais, outras menos. Há diferença de salários entre elas? Sim. Mas no geral, todas as pagam em média a mesma coisa. Tem um detalhe: São Paulo é onde estão as melhores oportunidades e também os maiores salários, infelizmente.

4-) Quais cursos são recomendados? Cursos pagos são melhores?

Não recomendo nenhum curso em específico. Não acho que cursos pagos sejam melhores, quem acha quer te vender curso. É possível aprender tecnologia somente com Youtube, por exemplo. Se você quer algo mais estruturado, vá lá e pague por algo do Udemy ou similares, porém, nenhum curso vai te garantir um emprego. A minha recomendação aqui é aprender a aprender. Quanto mais autodidata você for, mais flexibilidade você terá para escolher onde trabalhar (sim, na TI isso é possível).

5-) E o inglês hein?

Obrigatório.

Em TI, todos os materiais relevantes estão em inglês, mesmo escritos fora dos Estados Unidos. Toda palestra, artigo ou screencast relevante infelizmente sempre está em inglês.

Existem ótimos criadores de conteúdo em português, porém, sem o inglês, você sempre ficará aguardando alguém traduzir o conteúdo para você. A melhor forma de aprender alguma coisa é ir na direto na fonte, certo?

6-) Quero sair do Brasil com TI, como faz?

Pela minha experiência com processos internacionais, tive a seguinte percepção: para a empresa justificar o custo de te contratar de outro país, você tem que ser um profissional raro(ou seja, que não existe naquele país, seja no ramo ou com experiência em determinada tecnologia) ou acima da média de alguma forma.

O país em questão fica a seu critério, mas lembre-se: xenofobia existe, não importa o que você faça, você provavelmente não será tratado como cidadão de “primeira classe” em outro país.

Se você tem cônjuge, pode não ser tão fácil para seu cônjuge se recolocar se a pessoa em questão não exercer uma profissão que o pais de destino tenha demanda, ou, até mesmo que a pessoa tenha que fazer algum tipo de curso para conseguir exercer a profissão em outro país. Consulte o programa de imigração do país desejado para se informar melhor, há incentivos para algumas profissões.

7-) Como saber o que tá rolando? E as tendências para o futuro?

Uma das ferramentas que uso é o Tech Radar da consultoria global Thoughtworks (sim, aquela do Martin Fowler), que recomenda o uso, adoção, experimentação e a evitação (sim, essa palavra existe) de técnicas, ferramentas, linguagens e plataformas para tentar dar um panorama geral do que o mundo está experimentando com tecnologia. Um jeito indireto de saber quais as tendências para o futuro é acompanhar esse material e perceber quais as tecnologias que se repetem nas classificações Adote e Experimente por mais de um Radar. Foi daqui que tiro meu embasamento para recomendar Docker, Kubernetes e .NET Core, por exemplo. A cada semestre, esse material é atualizado. Quer aprender bastante coisa moderna e rápido? Pesquise os termos no google que você não conhece da imagem abaixo e divirta-se:

Tech Radar — 2020

8-) Recomendações gerais de carreira

O mercado remunera raridade. Portanto, quanto mais especialista você for considerando mercado e tecnologia (ex: C# e mercado financeiro, Java e Seguros, PHP e ECommerce, etc), maior a raridade do seu perfil, portanto, maior o salário (dado que haja demanda). Logo, especialize-se (pelo menos nos primeiros anos).

Entreviste a empresa também. Além de responder as perguntas do entrevistador, pergunte-se: eu gostaria de trabalhar aqui? O que é importante para mim? O que eu não quero lidar? Quais os tipos de desafios que eu quero atuar? Questione sobre a forma de trabalho e o dia-a-dia, quais expectativas a vaga possui, qual é a situação financeira da empresa, enfim, quanto mais bem informado(a) você estiver, melhor será sua decisão.

Vou ser repetitivo: estude os fundamentos com profundidade. Estrutura de dados (arrays, linked lists, binary trees, hash tables, tries e afins) não mudam, não importa a linguagem ou o framework da moda. Se você quer um material mais direcionado, consulte esse vídeo aqui (são 8 horas de vídeo que equivalem a 1 semestre de faculdade na disciplina de estrutura de dados). A diferença entre resolver um problema usando força bruta e/ou implementações ingênuas é o conhecimento desses tópicos. Na maioria das vezes, não existe o jeito certo de resolver um problema, mas existe o errado. Força bruta, 99% das vezes, é o errado.

Para finalizar, fica o convite: se após ler esse texto você ainda ficou com alguma dúvida de como proceder na área de TI e gostaria de participar da mentoria, me mande uma mensagem pelo LinkedIn :-)

Até!

Você gostou do conteúdo e gostaria de fazer mentoria comigo? Clique aqui e descubra como.

--

--