[Dúvida] Experiência com Microservices é Essencial para um Backend Pleno/Sênior com Base no Que o Mercado Exige?
Ultimamente, tenho participado de processos seletivos e entrevistas técnicas para vagas de desenvolvedor backend pleno/sênior, com o objetivo de analisar o mercado, identificar as tecnologias mais utilizadas e entender quais conceitos estão sendo mais requisitados. Durante essa observação, percebi um fato: não encontrei sequer uma vaga ou processo seletivo que não exigisse experiência e conhecimento em microservices.
Isso me leva a uma reflexão: será que experiência com microservices realmente se tornou o mínimo necessário para um desenvolvedor backend pleno/sênior nos dias de hoje?
Não, até porque quase ninguém precisa disto. Muita gente acha que precisa só porque não quer se sentir excluído aí cria algo complexo sem necessidade.
E é verdade que em alguns casos não fica tão complexo assim, a pessoa é tão sem noção que ela fala que faz microsserviços, mas não faz, ela sequer sabe o que é.
Para aprender microsserviços de verade, na prática você não consegue. Cada vez mais eu vejo a pessoa falando que sabe e ela fez tudo sozinha, então ela não aprendeu a fazer, ela só decorou umas coisas que leu em algum livro ou outro local e reproduziu algo muito simples que indicaram. Isso não está nem perto de fazer microsserviços. E é o mesmo que dizer que você aprendeu construir um carro, você só saberá em equipe ou de um jeito tão artesanal que não tem valor algum.
Você já ouviu a expressão "vagas arrombadas"? Então, é o que está achando, estão pedindo por via das dúvidas, ou para fazer as pessoas mais fracas desistir ou ainda querem mesmo mexer com isso mesmo sem a menor noção do rolo que estão se metendo, portanto é um lugar ruim de se trabalhar.
De qualquer forma eu vejo tantas vagas que não pede isso, sei lá o que acontece.
Inclusive os lugares que realmente precisam (e olhe lá) que eu conheço tem uma equipe que precisa saber mesmo, poucas pessoas que cuidam disso, o resto, uns 98% da equipe faz sua parte sem precisar saber nada disso mesmo rodando tudo em microsserviços, ou seja, pelo menos é quem sabe o que está fazendo. Basta saber fazer direito, modularizado, usando técnicas adequadas para qualquer software complexo e depois aprender alguns mecanismos específicos do ambiente, que você só terá experiência lá dentro.
Se você quiser entrar nessas vagas, aí faz o que elas acham que é o certo, e torce para encaixar. Eu gastaria meu tempo com vagas melhores, mas só você sabe o que é bom para você.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).
Experiência? Não, saber o que é e em quais situações é adequado usar com certeza. Pleno/sênior não precisa só saber apertar parafuso, mas saber qual tipo é mais adequado para cada situação. Eu creio que padrões arquiteturais são sim conhecimentos essenciais para quem quer deixar de ser júnior
Me aplicando recentemente para vagas pleno/sênior, percebi, na prática, que exigem mais o conhecimento sobre o que são e como funcionam do que a aplicação no dia-a-dia. Eu sempre digo que só tive uma experiência com microsserviços, e ainda assim só por fora, como líder técnico, do que pondo a mão na massa. Então diria que o conhecimento do conceito é sim importante, inclusive pra dizer quando não aplicar, mas o conhecimento prático não é obrigatório.
As vagas por aí são copia e cola e muito recrutador nem sabe direito o que está pedindo, principalmente se for de RH. Micro serviço é algo muito específico e só mesmo se a empresa usar isso no seu dia a dia o que é muito raro.
Bom, vou trazer minha visão de recrutador técnico.
A resposta curta é não. Não vejo isso como o mínimo necessário.
Eu julgo mais a capacidade da pessoa em saber resolver problemas. Inclusive, uma das perguntas que eu faço é: qual foi o problema mais difícil que você já resolveu? E como que você resolveu?
A questão é que micro serviços é uma forma de resolver problemas (que muitas vezes nem precisava). A questão é que, de alguma forma, surgiu um hype tão grande em volta disso, que todo mundo acha que deve usar.
Outra coisa que tem que ficar claro, é o seguinte: boa parte dos anúncios de vaga não são feitos por pessoal técnico, mas sim pelo próprio pessoal do RH.
Claro que o pessoal de RH vai perguntar:
- Quais são os requisitos da vaga?
- Existe algum diferencial que podemos colocar?
- Qual a stack que precisa ser divulgada na vaga?
Porém, veja bem, quem monta a vaga, na grande maioria das vezes, é o pessoal de RH.
Agora, se mesmo nas entrevistas técnicas estão solicitando micro serviço, acredito fortemente que se enquadra no que comentei acima: virou moda, e as pessoas acham que precisam.
Mas que fique claro, edta é apenas a minha opinião.
Meus 2 cents:
Meu palpite ? Sim.
Indo contra a mare dos comentarios que vi, acho que sim, no conhecimento de microservicos como diferencial para o desenvolvimento de sistemas modernos. Nao minimo (ainda) - mas um diferencial importante.
Em sistemas compilados (p.ex. Delphi, .NET) - era comum incorporarmos bibliotecas de terceiros para trazer certas funcionalidades, nem se questionava muito isso - era so uma questao de: eh util ? preciso disso ? quanto custa ? incorpore e use.
Microservicos estao se tornando cada vez mais as bibliotecas de ontem - os frameworks e boilerplates trazem a pre-estrutura basica e vamos preenchendo com microservicos que realizam algumas das tarefas que sao necessarias - claro que outras terao de ser desenvolvidas.
Mas preparar os sistemas modernos para usar chamadas (webhooks/API) de terceiros e/ou disponibilizar webhooks/API para terceiros eh algo absolutamente comum - alias, tao comum que quando um sistema nao disponibiliza alguma forma de integracao eh que eh "esquisito".
"Ah, mas microservicos nao sao apenas webhooks/API" - claro, mas sao parte importante deste ecosistema, entao faz parte do processo (p.ex. entender como o processo de integracao eh realizado, autenticacoes, sessoes, etc) entender como eles funcionam.
So para finalizar: estou falando de microservicos nao SaaS - que sao coisas diferentes.