Conteúdos para iniciar sua carreira como dev em microservices e APIs

Juninho Freitas
8 min readSep 16, 2022

--

Eai, Salve!

Eu sou o Junior, e aqui está o punhado de informações que juntei mirando no que é necessário alguém aprender para se tornar um desenvolvedor de microservices e APIs.

Apresentei esse Roadmap a diversos líderes técnicos, recrutadores, programadores, profissionais de RH, Profissionais referência em TI e cada um contribuiu de alguma forma dando seu approve nele, como o necessário para um desenvolvedor Junior conseguir uma vaga somente com essas experiências.

O Conteúdo está diretamente ligado ao Roadmap da Carreira Dev em Microservices e APIs criado por mim, mas pode ser útil mesmo para quem não está seguindo ela.

Provávelmente irei atualizar os conteúdos aqui rotineiramente quando achar algo melhor ou mais interessante, então espero te ver mais vezes por aqui :)

(Aqui tem o Roadmap completo)

Começando por aqui, teremos a escolha da linguagem, indicarei 2 cursos que fiz, um para Java + Spring Boot, e outro para Javascript/Node.Js + Express, custam cerca de uns R$ 27.50 cada na Udemy, mas se não tiver afim de comprar, pega a grade de conteúdo e caça um gratuíto ai na net.

Eu estudei ambas, e escolhi Node.Js, não me arrependo.

Java + Spring Boot: Curso Pago | Curso Grátis

Node.js + Express: Curso Pago | Curso Grátis

(um detalhe sobre esse pago de Node, é que não fiz exatamente o do link, fiz um outro do mesmo professor com mais conteúdo, mas vi que esse novo curso está muito mais objetivo para APIs)

Antes de prosseguir para o código ou habilidades comportamentais, recomendo dar uma olhadinha na diferença entre essas duas arquiteturas.

Artigo Sobre

Feita a escolha de linguagem, vamos seguir para os próximos passos.

Aqui teremos 2 ramos, Soft Skills e Hard Skills,

“As soft skills são um conjunto de diferentes habilidades comportamentais, associadas às aptidões mentais e à capacidade de uma pessoa lidar com suas emoções.” Ref

“As hard skills são as habilidades técnicas que um profissional aprende em sua formação.” Ref

Soft Skill

Ensinar Soft Skill não é uma tarefa simples, acredito que você vai aprender melhor a partir de reflexões sobre suas atitudes, ou com feedbacks.

Vou começar pelo que devemos evitar(principalmente na entrevista),

Falta de humildade, Meio obvio não é? mas tem muita gente que ainda não aprendeu que a humildade abre portas que só o técnico não basta, então saiba escutar, saiba dizer que não sabe de algo, não assuma postura arrogante ou ignorante(na questão rude) e já vai evitar algo que muita gente cai por não prestar atenção.

Achar que entende tudo sobre um assunto, Poderia estar junto de humildade, mas aqui é mais específico, não sabemos tudo, e nunca saberemos, então não assuma que você sabe, e se for posto a prova suas habilidades, e você não saber, será pior do que se tivesse assumido uma postura diferente.

Falta de Atitude, não é esperado que um Junior assuma uma postura de liderança e saia encabeçando projetos, mas também não é nada agradável ter que puxar alguém a todo momento para que se mova de lugar, então ter atitude no que se refere a se envolver, é importante, quando sentir que poderia estar fazendo algo, entre no jogo e comece a fazer, se acha que uma pergunta não foi feita, faça-a.

Desesperar-se com problemas, Problemas existem e vamos enfrentar vários, então não se desespere, trave ou desista, não procure culpados, procure a solução e aplique ela, a maneira como você reage aos problemas define até onde você chegará.

Agora vou pontuar algumas coisas que você deve buscar ter de soft skill:

Ouvir e evoluir a feedbacks negativos, os feedbacks negativos(os que são honestos) te dão algo que você nunca teria sozinho, uma visão de fora.
Então quando receber um, não fique magoado, você recebeu um diagnóstico, trate disso agora. Seja uma jóia a ser lapidada, tome umas porradas agora, aprenda com isso, e no futuro você não terá que lidar com elas novamente.

Gerenciar bem o seu tempo, esse aqui é uma tarefa difícil, mas que vai te salvar em todos os aspectos da sua vida, então prepare uma cronograma coerente de horários, com estudo, tempo livre, trabalho, etc.
Respeite ele e terá maiores chances de ter sucesso.

Comunicação Assertiva, Essa aqui tomou mais força ainda com a chegada da internet, então masterize ela, chega de voltas e mais voltas para fazer uma pergunta, ninguém quer ficar respondendo “oi, tudo bem?” e esperar meia hora até a proxima mensagem ser “tudo bem,e vc?”, faz mal pra saúde (mental) e pra produtividade, então elabore bem suas perguntas, respostas e mensagens de bom dia, seja claro, especifíco.
Se não for assertivo, melhor que não diga nada. (no ambiente profissional é claro)
Recomendo esse site aqui: nohello.net/pt-br/
E esse outro aqui de como conversar em fóruns(mas aplica-se para qualquer lado da internet: https://blogofscience.com/perguntas.html )

Trazer visibilidade a seus esforços, Se quer ser lembrado, tem que ser visto, ninguém vai te contratar se não saber que você existe, ninguém vai te promover se não saber que você trabalha, então garanta que seus esforços estão sendo vistos.

A lista não para por aqui, mas eu sou humano e canso de escrever, então joguem ai no Google: ”Soft Skills necessárias para um programador “ e se divirtam.

Hard Skills

Menos conversa, e mais link.

HTTP Codes, isso aqui são os códigos de respostas que você recebe ao fazer uma solicitação HTTP, com certeza já viu por ai uns 404 quando a pagina que você acessou não existe.

Artigo do Hostgator sobre
Um guia completo em inglês sobre http codes e REST API

REST API, são os principios de arquitetura para a criação de APIs.
O que é API? REST e RESTful? aprenda com Star Wars!

KISS, KEEP-IT-SIMPLE-STUPID Traduzindo, MANTENHA ISSO SIMPLESMENTE ESTÚPIDO, ou a tradução que eu prefiro: MANTENHA ISSO SIMPLES, ESTÚPIDO!
Isso aqui é mais voltado para o lado do desenvolvimento de código, quando sentir que seu código está muito complicado, faça com que ele fique mais simples, lembre, você terá que ler ele no futuro, e não quer ter que lidar com aramaico antigo, então mantenha SIMPLES.

KISS e mais outros princípios. Autor Pedro Barros

Unit Tests, Joia rara e difícil de encontrar são estes, Testes unitários são códigos que testam partes específicas do seu código, para garantir que funcionam, e que amanhã continuem funcionando após uma alteração, trazendo o mesmo retorno esperado sempre. Um Programador Excepcional sempre terá testes em seus códigos.

O Que são testes unitários

Banco de Dados, aprenda o básico de banco de dados, na prática é mais fácil, crie um CRUD tanto em banco relacional quanto em não relacional e segue o baile.

O que são bancos de dados relacionais e não relacionais

Aprenda SQL em 1 Hora (SQL é a linguagem para trabalhar com Bancos de Dados Relacionais)

[VIDEO]API em NODE.JS, CRUD com banco de dados

[REPOSITORIO] API que criei como exemplo para esse artigo

Projetos

Aqui habita o que definirá em que nível você está.

Quanto maior número de projetos que você fizer, e maior o nivel de qualidade deles, assim será sua chance de conseguir uma vaga.

Antes de começar a criar códigos, dê uma geral no seu Github, e sempre que começar um projeto, crie um repositório para ele e sempre mantenha-o atualizado, um bom Github vai te ajudar muita a conquistar um emprego.

Junto com os Projetos Recomendados tentarei anexar o link de um projeto semelhante pronto.

API com CRUD, aqui é simples, uma API que contenha todos os métodos CRUD, Criar, Ler, Atualizar e Deletar Dados em um Banco de Dados.
Para ganhar alguns pontos, também poderá inserir um validador de requests, que verificará se os dados que o cliente está enviando a sua API estão de acordo com o definido(exemplo, para um CEP, deverá ser enviado pelo menos 8 números no campo “postal_code”).
E também deverá conter tratamento de erros, para que não retorne sempre um throw error, mas um código HTTP correto para o erro que ocorreu, e também uma mensagem dizendo o que aconteceu.
Um Plus aqui seria adicionar o Swagger para documentação

API em NODE.JS, CRUD com banco de dados

App que faça uso de Filas de Mensageria, Um simples app que envie e escute mensagens em filas de mensageria como o RabbitMQ.

Artigo de como implementar uma fila em Nodejs Swathi Prasad
Repositório: https://github.com/swathisprasad/node-queue

Conseguindo realizar os Projetos acima já e o suficiente, mas se realizar os a seguir, ai sim você chegou num nível TOP para um iniciante e até intermediário!

API com CRUD + Filas de Mensageria, Incluir banco de dados, coverage >90%, Docker, Validador de Request e Tratamento de Erros, + Swagger para Documentação.

Deploy de aplicação em Nuvem, Rodar as aplicações criadas na AWS ou no Google Cloud Console

Criar um API Gateway que gerencie suas APIs, Usar as APIs criadas anteriormente como endpoints para seu API Gateway
O que é um API Gateway

Dicas

Google é seu amigo, então use ele bastante e com sabedoria, questione-se sobre aquilo que você tem dúvida, e quando for perguntar para alguém, jogue primeiro no google e veja se ele tem algo a te dizer.

Pratique sem parar, só a prática vai te ajudar a virar um programador.

As techs que aparecem aqui e você for aprendendo, já pode ir colocando no seu currículo.

Alguns outros conteúdos que recomendo estudar:

Scrum, SOLID, Swagger, Clean Code.

Agradecimentos

A todos que me ajudaram a compor e avaliaram esse Roadmap:

Adeildo Neto (UpHold)
Débora Castro (Pmweb)
Rodrigo Fraga (Pmweb)
Leonardo Mendes (Pmweb)
Nataniel Paiva (CWI)
Marcos Ereno (PagoNxt)
Jonatan Brandi (Sensedia)
Rafael Leite (Sensedia)
Flávio Pimenta (Sensedia)
Carol Vilas Boas (Zup)
Victor Fragoso (Fibocom)
Rodrigo Freitas (Invillia)

Quer trocar uma ideia comigo?
Instagram: www.instagram.com/juninho.dev
Linkedin: www.linkedin.com/in/junior-o-freitas

--

--