DEV Community

EronAlves1996
EronAlves1996

Posted on

Uma reflexão sobre minha carreira

Esse é um dos poucos posts que vou escrever em português mesmo, e explico isso no decorrer desse texto.

Recentemente eu fiz alguns posts um pouco relacionados a minha carreira no X.

Tweet 'polêmico'

Bom, este post causou um pouco de burburinho, dúvidas e questionamentos de algumas pessoas. Acho que um pouco mais de contexto sobre minha trajetória, como cheguei até aqui, o material que estudei e o meu ponto atual se fazem válidas para as pessoas terem uma ideia dos desafios de como é ser um desenvolvedor em uma stack considerada infâme dentro da bolha dev, mas que comprovadamente paga boletos.

Onde eu estou hoje

Hoje eu sou um desenvolvedor que me considero normal, não melhor do que ninguém, mas a empresa que me emprega me considera como sênior, atuando com Java na sua versão 7 e JSF. Além disso, atuo em outros projetos. Um desses projetos é fullstack Laravel e Vue 2, e o outro projeto como frontend React.

Fatores de empregabilidade

O estado da minha carreira atual eu devo principalmente ao networking. Mas tem 3 fatores que me fizeram chegar onde estou hoje e que, acredito, são fundamentais para qualquer trabalho que você conseguir sendo proletariado, assalariado. Se você é empreendedor, o jogo muda, mas o júnior que está começando hoje vê muito mais dificuldade no mercado, onde ele busca trabalhar para um terceiro. Nesse caso, os fatores que acredito serem fundamentais são:

1. Networking

Então, isso é tão batido na tecla por todo mundo, mas se você for trabalhar com e para outra pessoa, é fundamental que você conheça e tenha bons relacionamentos com outras pessoas e que essas pessoas te conheçam (te conheçam mesmo).

Quem começa hoje consegue isso participando de uma comunidade. Eu comecei participando da antiga comunidade do Sibelius Seraphini no Discord, aprendendo com outras pessoas, discutindo temas técnicos e apresentando algumas coisas que havia construído por lá. Isso culminou em um círculo de amizade muito forte com algumas pessoas que são minhas amigas até hoje.

Apesar disso, foi fora desse círculo de amizade que consegui meu primeiro trabalho, porém a oportunidade surgiu a partir da participação nessa primeira comunidade. E também falando algumas merdas técnicas no X.

2. Proof of Knowledge

Esse aqui a expressão veio da minha cabeça. Normalmente a galera se refere a esse como Proof of Work, mas se resume a uma única coisa: provar que sabe fazer.

Como que faço isso?

O mercado sempre vai valorizar essa prova através de experiência profissional no currículo, mas para quem busca o primeiro emprego sempre se depara com o questionamento: como vou conseguir experiência se ninguém me dá a oportunidade para conseguir experiência?

Acho que uma das grandes realizações dentro do círculo de Desenvolvimento Web foi mudar essa perspectiva. Não olhar pelo viés da experiência e sim da prova que sabe fazer.

Então é ir a luta: o github é de graça, tem muitos lugares para conseguir um servidorzinho de graça ou pagando um preço módico. Então prove que sabe fazer: faça um crud, faça um pequeno sistema, uma api, um frontend que não seja batido. Peça ideias de projetos para o chat gpt e implemente.

Viu algo interessante no curso e quer aplicar em algo que chegue mais próximo da realidade? Por que não descrever o que você aprendeu para o chat gpt e pedir alguns exercícios ou ideias que se aproximem de algo que seja real?

Mas também, não podemos pensar que um projetinho é simples demais de ser implementado e mostrado por aí. Não tenha vergonha de projetos que possam parecer simples e idiotas.

Essas provas fizeram muita diferença para mim quando consegui meu primeiro trabalho dentro da área, porque a pessoa que me contratou sabia o que eu conseguia fazer e viu potencial.

3. Aderir ao processo de busca de emprego

Não tenho nem muito o que comentar aqui.

Tem muitos perfis de RH dentro do X e do Linkedin que orientam e muito bem como formatar o currículo, como arrumar sua apresentação no linkedin para ser notado. E além disso, o processo de busca de emprego tem que ser fervoroso. Você tem que jogar o jogo! Ele está formado e não vai ser reclamando da Gupy que isso irá mudar.

Quem consegue emprego não é o camarada reclamando da Gupy todo santo dia. É quem vai atrás!

E sobre isso, a ideia é que podem ter poucas vagas, e muitas pessoas aplicando, mas isso vira um jogo de números. O fato é que você só precisa de uma vaga. Então faça a vaga acontecer.

Na época de procura do meu primeiro trabalho, eu chegava a enviar de 50 a 100 currículos todos os dias durante a semana. Isso também é jogar o jogo. Mas, é um dos pontos que me ajudou a escapar de uma empresa que virou para o presencial em menos de um mês para uma oportunidade bem melhor.

Stacks, mercados e com o que você vai trabalhar

A recomendação primordial para quem está estudando e dando os primeiros passos é focar em uma só linguagem/stack no começo e aprender os fundamentos com ela.

Quando a gente fala dos fundamentos de lógica de programação e engenharia de software, você aprender mais de uma linguagem ao mesmo tempo não traz muito benefício. Se você aprende os fundamentos em uma linguagem, daí mudar fica muito mais fácil depois, pois você já sabe os conceitos e só vai mudar de sintaxe, e toda linguagem mainstream hoje possui basicamente os mesmos elementos, que seriam:

  1. Elementos procedurais fundamentais:
    • if
    • else
    • for
    • while
    • funções/procedimentos
  2. Elementos de programação funcional:
    • Variáveis imutáveis (sic)
    • Funções de primeira classe
    • Operações sobre coleções
  3. Elementos de programação orientada a objetos:
    • Estruturas de aglutinação de lógica/dados
    • Encapsulamento
    • Binding de métodos
    • Despacho dinâmico em alguma forma

Então se você aprende isso em uma linguagem, a próxima linguagem em si ficaria mais simples de aprender, pois seria somente aprender uma sintaxe diferente para expressar os mesmos conceitos. É basicamente assim que atuo em 3 projetos onde a stack é diferente entre elas.

Quando falamos de experiência com uma linguagem de programação, a coisa muda de figura um pouco, pois não é somente na sintaxe e nos elementos fundamentais que se exige conhecimento, mas também:

  1. Em seus idiomatismos, que são as formas mais comuns que os desenvolvedores usam para resolver problemas e expressar ideias
  2. Em seu ecossistema, que bibliotecas se utilizam normalmente

Então, ter o foco voltado para se especializar em uma linguagem de início é importante.

Agora, quanto à que linguagem estudar, eu recomendo estudar a que mais te interessar no início, mas a pesquisa se faz importante, pois uma linguagem é mais conhecida pelos seus legados.

Por que Java recebe tanto hate assim, sendo que estamos no Java 24, temos virtual threads, records, lambdas e modos mais expressivos de fazer as coisas? Justamente por conta dos legados, que na sua maioria são Java 7/8, possui JSF em seu core, que normalmente roda dentro de containers de aplicação, e jeitos mais "arcaicos" de se fazer as coisas.

Ter ciência do legado da linguagem é essencial, pois esbarrar em um desses legados é a coisa mais comum. E aí está a fórmula do "emprego infinito" em Java (basicamente no boom do Java não tinha nada melhor em enterprise para ser usado, mas dá para explorar essa história melhor em outros posts).

Devo citar aqui também sobre Javascript/Typescript pois me perguntaram sobre isso também no post. A stack define também com o que você vai atuar ou não, e como o legado dessa linguagem vem da facilitação do contexto do desenvolvedor conseguir atuar de maneira fullstack, então grande parte das vezes você irá atuar ou como frontend ou como fullstack. Eu tive uma breve experiência sendo somente backend Javascript/Typescript com uma mescla de serviços em javascript puro e typescript, todos hospedados na AWS, mas como o contexto de negócio era de uma migração de serviços Java para Javascript, então acabei mexendo também com Java nessa experiência.

Vagas para gringa

Este é um ponto do qual ainda não tive experiência, mas tenho alguns pontos sobre.

Hoje meu posicionamento é escrever blog posts somente em inglês por motivos de facilitar meu posicionamento para futuras vagas gringas e também para explorar tópicos que acho serem interessantes em uma linguagem que não é minha nativa. Então cumpre um propósito duplo aqui: aprendizado e proof of knowledge.

Para as vagas gringas, o que mais vejo é recrutamento em stacks em Node, Go e Ruby, principalmente em startups. Então o trabalho corporativo fica um pouco de lado. Eu acredito que Java, junto com PHP e C#, são muito, muito fortes no Brasil, mas para a gringa, muitas big techs usam Java, mas a porta de entrada para essas empresas é pequena.

Então para o Brasileiro desenvolvedor médio, a stack de startup seria o melhor começo para tentar vagas no exterior.

Concluindo

Eu espero que essa reflexão possa ajudar algum dev ou aspirante a dev que esteja perdido e deixar uma mensagem: o começo realmente é mais difícil e pode ter ficado mais difícil com a explosão das IA's, mas os fundamentos continuam os mesmos.

Corre atrás que você consegue o seu!

Top comments (0)