É realmente engraçado como a gente vê as coisas de maneira diferente quando temos um pouquinho mais de experiência. E, claro, com a carreira de desenvolvedora não foi diferente. Todo mundo sabe que a universidade e a academia ainda estão num descompasso imenso. E eu tô aqui pra dar umas dicas que eu gostaria que a Ana Paula do passado tivesse tido. 🤓
Começando (quase) do zero
Meu primeiro contato com programação foi com um curso técnico que eu fiz logo depois de sair do ensino médio. No meio do caminho eu fiz uns bicos mas eu queria mesmo era trabalhar com programação. Acabou que consegui um estágio numa empresa de desenvolvimento de software mas eu era muito verde. Aquele code base era grande demais pra mim que só tinha visto hello world e exemplos de OO com cachorros e gatos. Como o timming não contribuiu também, acabei indo trabalhar com testes por um tempo. Foi super útil pra mim e os três anos que passei trabalhando na área foram demais mas ainda não era o que eu queria.
Bem, dessa fase queria destacar algumas coisas:
- Trabalhar em um projetinho é a melhor coisa para descobrir como um projeto real funciona (se você não trabalha de fato, claro)
No início é uma bagunça porque realmente parece que tudo é muito difícil e diferente dos exemplos de sala de aula. Mas, tendo paciência e um bom guia (que pode ser um livro, um curso, uma pessoa) você consegue.
Tentar começar por projetos factíveis também é importante. É melhor começar um blog simples e terminar do que só começar uma rede social, por exemplo. Se possível, tente fazer algo que ajude o seu dia a dia. Uma vez eu estava interessada em aprender a programar apps pra Android. Comprei um livro e fui seguindo. Acabei fazendo um app pro cinema da minha cidade (sim, lá só tinha um cinema e esse cinema não tinha um aplicativo). Foi bem legal! Muitas pessoas usaram o app e eu fiquei bem satisfeita. Ok, o app era feio e o código tava uma bagunça. Mas eu quem fiz e ainda aprendi coisas novas.
Ter um projeto no GitHub não é obrigatório. Mas facilita nos processos seletivos. Durante a contratação de desenvolvedores muitas empresas fazem uma avaliação de código (desafio) e algumas pulam essa avaliação caso a pessoa já tenha algum código pra mostrar. Além disso, você pode pedir feedbacks a pessoas desenvolvedoras mais experientes a partir do seu código.
- Nem sempre a gente consegue conciliar os nossos sonhos/planos com a nossa realidade
Depois de um tempo eu poderia ter largado o emprego e ir trabalhar como dev e sucesso, certo? Não. Eu fui evoluindo na carreira dentro da empresa e o que eu ganhava me ajudava a pagar o transporte pra universidade que eu estudava (que era em outra cidade) e outras coisas importantes. Não dava pra largar tudo. Tem que ter paciência. Nesse caso eu continuei estudando com foco no meu objetivo de ser dev até que a hora chegou.
O que o mundo está usando? quem são as pessoas que estão usando?
Durante a universidade eu só tive uma (1) disciplina onde colocamos a mão na massa em temas atuais. O tema era desenvolvimento híbrido para dispositivos móveis e era o que estava tendo de mais recente na época. O único meio pra saber o que o mundo estava usando era a web e os eventos. Em Feira de Santana e Alagoinhas, ambas no interior da Bahia, não tinham comunidades de desenvolvedores na época. Então um evento em Salvador, capital do estado, já era algo maravilhoso. Algumas vezes eu e meus colegas tentamos organizar alguns eventos e foi bem massa mas ainda não era o suficiente.
- Participe de comunidades. Se não existe uma, você pode começar. :)
Em BH, fui conhecer o GDG/GDG-BH, o Python-MG e outras comunidades, o que fez a minha cabeça abrir. Não houve jeito mais rápido de aprender, conhecer pessoas e me manter atualizada do que estar envolvida em comunidades.
Hoje em dia eu penso que está bem mais fácil: existem newsletters, cursos online, podcasts etc. Dá pra se perder fácil.
- Use várias fontes para se manter atualizada
Eventos, newsletter, Twitter, blogs, cursos, livros, Youtube…
Se você tem ideia da tecnologia que quer trabalhar, se dirija para lá
Desde que eu conheço Python eu sempre quis trabalhar com a linguagem. Mas por outras razões, acabei trabalhando com outras linguagens antes. E olha, foi maravilhoso o momento em que me vi trabalhando com as tecnologias que eu realmente queria. Quando esse momento chegou, eu voltei a ser uma Dev Jr, justamente porque eu não tinha experiência profissional com a linguagem. Pra ser honesta, na primeira empresa em que trabalhei com Python eu não vi nenhuma diferença de cobrança para os outros devs. Mas algumas coisas me ajudaram nesse novo início:
- Conversar com outros devs experientes
As pessoas com quem conversei me deram dicas de quais ferramentas usar, o que evitar e até me tranquilizaram sobre um novo começo. Foi super útil!
- Estar familiarizada com o basicão da tecnologia
Sabendo que eu iria trabalhar com Django, por exemplo, tratei de aprender os princípios básicos (como criar um projeto, o que é um serializer, um form, um model etc). Fiz alguns tutoriais e boa. Já foi o suficiente pra saber em que módulo eu tinha que mexer quando alguém me solicitasse uma mudança ou as palavras-chave pra buscar no Google quando algum pepino aparecesse.
- Saber onde e com o que gostaria de trabalhar
Se você tem ideia de que lugar gostaria de trabalhar, pega as vagas, dá uma olhada no que pedem, conversa com a galera que já trabalha no lugar, se possível. Muitas empresas acabam pedindo pra pessoa ser um unicórnio em algumas vagas de emprego porém dá pra filtrar e reparar nas buzzwords que tão aparecendo mais (e que tem a ver com o seu objetivo, lógico).
Uma vez eu estava começando um processo seletivo no Nubank e eu não sabia nada de Clojure - linguagem de programação que eles usavam no backend na época (talvez hoje ainda hehe). Então conversei com um backend de lá e perguntei:
mas como é que faz quando não se é o mago do Clojure?
Ele respondeu:
torna-se uma!
Coisas que são atemporais e que vão ajudar
Tirando as empresas sem noção que querem contratar estagiários/júnior com experiência, um ponto importante é que tem coisas que são esperadas que você tenha uma noção. E isso depende muito de onde você quer atuar. Por exemplo, para um desenvolvedor Backend é interessante saber o básico de APIs: o que é um endpoint, verbos HTTP etc.
Além disso, coisas como controle de versão (mais especificamente Git, atualmente) e Orientação a Objetos são conhecimentos que valem pra qualquer pessoa programadora.
Um diferencial bacana seria saber sobre teste de software mas talvez isso fique pra um segundo momento. :)
Aproveite as pessoas
Existem muitas pessoas do bem e dispostas a ajudar por aí, seja com conselhos, apoio moral, pair programming ou uma cerveja/catuaba pra poder trocar ideias. Aproveite essas pessoas! A comunidade está cheia de pessoas super bacanas que ficam felizes em ajudar outras pessoas a crescerem também. Essa ajuda pode vir através de revisão de código, mentoria e muitas outras formas. Não há nada errado em dizer que não sabe ou que precisa de ajuda.
Dito isso (e tantas outras coisas), eu sinceramente espero que esse texto ajude alguém nesse mundão de minha deusa. E se por acaso alguém quiser trocar uma ideia sobre, já sabem onde me encontrar.
Boa sorte! 🍀🍷
comments powered by Disqus