Opinião

Por que é tão difícil conseguir a primeira vaga com Ruby on Rails?

26 Jul 2022

No último final de semana fiz uma postagem/desabafo no LinkedIn sobre como é difícil conseguir a primeira vaga com Ruby on Rails. Expus o fato de que quando procurava um emprego com a stack JavaScript, mesmo sabendo muito menos do que sei hoje com Rails, tive muitas portas abertas (e assim que consegui o meu emprego atual). Duas pessoas na postagem relataram simplesmente terem desistido de seguir o caminho de dev Ruby on Rails pois as portas são muito mais raras e estreitas do que com outras linguagens, então decidi transformar aquela frustração inicial em uma investigação, até para relembrar minha profissão anterior (jornalista).

Pelas conversas que tive originadas no meu desabafo do LinkedIn e em conversas com outros devs (de sênior a júnior), consegui hipotetizar algumas causas e possíveis soluções para esse problema, tanto do lado dos empregadores quanto do lado dos postulantes à primeira vaga.

O problema do lado dos empregadores

Todas as hipóteses aqui partem de princípios econômicos que acredito. Por exemplo, não adianta eu tentar apelar para a "bondade" das empresas para contratarem pessoas iniciantes. Eu não acredito nisso, eu acredito que toda bondade empresarial surge do sucesso econômico. Empresas precisam lucrar, suas decisões são baseadas em oferta e demanda, em cálculo.

Mas ao mesmo tempo, muitos confundem esse racionalismo econômico com analisar apenas o curto prazo. Decisões econômicas inteligentes partem do princípio que eu vi uma vez o Shopify enunciando: minha empresa vai estar funcionando daqui a 100 anos. O que preciso fazer para ela sobreviver até lá? Mas nem precisamos ser radicais assim. Se as empresas conseguissem enxergar os próximos 10 anos, essa postagem aqui no blog nem existiria.

Importante colocar que, mesmo que eu pareça convicto de algumas opiniões aqui, estou totalmente aberto a discordâncias e até as encorajo. Para chegar a uma melhor conclusão, o melhor caminho é o debate livre. Eis então meus pontos de vista:

Não ouça apenas sêniores
Pessoas que estão no mercado dev a mais de 5/10 anos entraram em um período completamente diferente. Hoje em dia são disputados à unha, ganham salários muito confortáveis e têm uma percepção levemente distorcida de todo o mercado. Eu já ouvi, mais de uma vez, pessoas experientes me dizendo que era muito fácil entrar na programação, que com alguns projetos no GitHub e um bom LinkedIn você seria assediado pelo mercado, enquanto a realidade está muito distante disto.

É importante ouvir também os iniciantes e seus obstáculos. Eu tô fazendo isso voluntariamente por ser um pouco desinibido, mas não há muito espaço para esse diálogo no mundo Ruby. Com JavaScript, por exemplo, temos grandes escolas faturando muito com o ensino da programação e que estão interessadas na contratação desses alunos, fazendo surgir iniciativas como o Manifesto Tech (que, aliás, foi mal compreendida por sêniores, achando que o manifesto foi motivado pela fuga de cérebros, demonstrando um desconhecimento da opinião majoritária dos iniciantes que queriam alguma empresa falando por eles o que está ali escrito).

Iniciantes são iniciantes
Esta daqui é muito importante e foi o que eu mais ouvi nas minhas conversas. As empresas fazem exigências irreais e muitas das vezes estúpidas. "Você não vai ser contratado por ter 1,5 ano de experiência, queremos alguém com dois"; "você não vai ser contratado por só saber Vue e não saber React"; "você não vai ser contratado porque não sabe aplicar aquela arquitetura mega complexa"...

São exigências que muitas vezes seriam sanadas nas primeiras semanas de trabalho (alguém que sabe Vue aprende React muito facilmente) ou que nem deveriam ser exigidas de um iniciante (e que talvez estejam sendo exigidas justamente pelo viés de ouvir apenas sêniores). Tratem iniciantes como iniciantes. Eu me considero um porque, apesar de conseguir entregar qualquer teste que me deem, meu código ainda não é o mais polido possível. Exigir que a gente comece sabendo todas as boas práticas é irreal, a gente aprende isso com projetos reais, com a mão na massa. O papel de uma empresa é moldar um júnior, não esperar que ele já venha moldado.

É preciso apostar nos iniciantes, ou...
Não acredito ser necessário expor aqui o grande problema da falta de mão de obra qualificada no mercado de desenvolvimento no Brasil e no mundo. Todo mundo já ouviu falar do "apagão" da tecnologia, e mesmo que existam muitas pessoas entrando na área agora, parece pouco provável que seja o suficiente, ou que sejam pessoas qualificadas ou que vão conseguir se inserir no mercado. Se isso é verdade para stacks "da moda" (como JavaScript, Go, Python...), imagine para uma stack em que todas as métricas possíveis mostram apenas sinais de declínio ou estabilidade?

Ruby e Ruby on Rails têm um mercado muito consolidado (e isso que me atraiu), está longe de morrer, mas que já está numa posição de ter salários acima da média. O motivo não é a bondade das empresas, mas a falta de oferta de trabalhadores. Do ponto de vista empresarial, é um caminho completamente equivocado não apostar em iniciantes. O custo de contratar plenos e sêniores vai continuar aumentando ao ponto de inviabilizar qualquer negócio.

Muitas empresas já perceberam isso, e investem em fundos, programas de capacitação, bolsas, parcerias com outras empresas… Um esforço que, a médio prazo, é muito mais barato do que ficar meses com a vaga aberta ou ter que gastar uma fortuna para mudar de stack.

Iniciantes não são "caros"
O argumento mais utilizado contra a contratação de iniciantes é o custo. Mesmo que uma empresa aposte num iniciante, parece um contrassenso prepará-lo para daqui alguns meses ver ele começando em outra empresa.

O primeiro ponto a se considerar é que a alta rotatividade tem suas origens na gestão, porque os trabalhadores também se movem pelas leis do mercado, e enquanto trocar de empresa for mais vantajoso do que continuar na mesma sem oportunidades de crescimento e aprendizado, essa será uma realidade, não adiantando apelar para a "bondade ou lealdade" do trabalhador.

Mesmo com essa realidade econômica, iniciantes não são caros se forem bem alocados. Eu, por exemplo, assim que entrei na minha empresa atual já participei em projetos mais simples e consegui entregar um site completo que exigia apenas conhecimentos básicos de HTML, CSS, JavaScript e deploy. Depois, meu chefe percebeu minhas habilidades de comunicação e me colocou para conversar com clientes nas horas vagas, o que abriu muito tempo livre para os sêniores e gestores da equipe ao mesmo tempo em que aprendi sobre desenvolvimento de um outro ângulo. Eu tenho convicção que trouxe muito resultado para a empresa, justamente porque eles me colocaram para trabalhar onde eu já poderia ser útil e lucrativo para eles, ao mesmo tempo em que houve espaço para crescimento onde ainda não tinha proficiência, como por exemplo, aprender backend.

Se houver um bom alocamento e uma boa gestão, não apenas você vai evitar o efeito "pagar R$ 100 a hora para sênior pintar botão", como também poderá ver o júnior crescendo na empresa e trazendo muita lucratividade.

Os processos precisam ser mais humanos
Por fim, acho que vale ressaltar algo que foi unanimidade nas minhas conversas: por algum motivo os processos seletivos são muito automatizados, perdendo qualquer traço humano que permita uma avaliação mais honesta. Eu ainda não fiz tantos processos quanto outros colegas com os quais eu conversei, mas em quase todos dos que participei não tive uma boa experiência. Participei de um que supostamente valorizava o "desejo de aprender", hábito de leitura, boa comunicação e tudo mais, e mesmo tendo me preparado por meses, usado os produtos da empresa, lido os livros recomendados e todo um esforço, no final tive apenas um e-mail frio sem oportunidade de conversar com um humano. Achei que o problema era o tamanho da empresa, então em outro processo consegui conversar com alguém, mas no final veio apenas um "não" sem nenhum feedback, e um gelo quando pedi alguma avaliação do código, algo que achei injusto devido ao tempo que me dediquei ao teste.

Não sei se é falta de um RH qualificado, ou uma cultura própria do Rails no Brasil, mas é extremamente frustrante você se dedicar a um processo e não ter o mínimo de esforço do outro lado para ao menos te dizer: "ei, não gostamos disso, foca nisso aqui e quem sabe na próxima você consegue".

O problema do lado dos desenvolvedores iniciantes

Tendo posto o lado dos iniciantes, aqui entra um pouco o que eu ouvi de gestores ou desenvolvedores mais experientes. Apesar de concordar com tudo, acho importante salientar que até o nível dos iniciantes em Rails é superior. Não acredito que o real problema sejam esses, mas que dá uma força pra quem tá na busca pela primeira vaga.

Foque nas convenções
Algo muito importante para a comunidade Rails é você saber o "rails way". Enquanto que em outras stacks eu sempre ouvia que bastava saber programar em qualquer linguagem que o resto você aprendia trabalhando, nas vagas Rails existe uma cobrança para saber as convenções do framework e de estar muito afiado com testes, por exemplo. O desenvolvimento guiado por testes é uma cultura fortíssima no Rails, e esse é o ponto que eu tenho focado nos últimos dias. Não basta apenas saber fazer, tem que fazer do jeito Rails, mesmo que seja para subvertê-lo depois.

Mostre ao mundo seu código
A comunidade Rails valoriza muito mais as hard skills do que outras stacks. Como falei, no início da minha carreira me destaquei pelas soft skills, pois me falavam que existe muito desenvolvedor bom, mas com problemas de ordem pessoal. Eu ouvia muito que era fácil ensinar alguém alguma linguagem ou tecnologia, mas que era quase impossível ensinar alguém a se comunicar melhor e a trabalhar em equipe. Nunca ouvi isso na comunidade Rails, talvez por ter um nível muito maior dos desenvolvedores e que já assumem que todos são bons nas soft skills. Então o que resta para se destacar é mostrar o código. Eu, por exemplo, tenho focado em documentar tudo no meu GitHub, apesar de não saber quais seriam os projetos ideias para ter por lá (aceito dicas).

Foque no inglês
Apesar de existir um mercado Rails interessante no Brasil, lá fora ele é muito maior. Inclusive há até mais oportunidades para júniores. Então seria uma boa ideia já se preparar desde o início, estudando inglês e os processos de cada empresa.

Com certeza existe muito mais a ser dito sobre esse assunto, e espero que isso estimule um debate saudável visando o fortalecimento da comunidade e que outras pessoas não desistam do sonho de serem desenvolvedoras Rails.

Receba atualizações por e-mail

Sempre que tiver novidades por aqui vou enviar aos inscritos.

Entre na conversa

Criei uma postagem lá no LinkedIn para receber comentários:

Comente