Mentoria Desenvolvedor Java — Parte 1

Oseas de Jesus
7 min readFeb 22, 2020

--

Photo by James Pond on Unsplash

De onde veio essa ideia

Já estou nessa batida de desenvolvimento de sistemas há algum tempo. Já fui iniciante, passei pelo processo de amadurecimento e hoje vejo a oportunidade de retribuir um pouco do que o Senhor Deus (kyrius) tem me proporcionado.

Durante minha jornada, cruzei com pessoas que começaram e se desenvolveram junto comigo, pessoas que começaram depois de mim e pessoas que começaram antes de mim, com quem aprendi muito.

Também durante essa jornada, percebi a dificuldade de muitas pessoas em buscar conhecimento para iniciarem na carreira, bem como a dificuldade de evoluirem por falta de orientação.

Algumas dessas pessoas, com quem tive a oportunidade e o prazer de trabalhar ou estudar, ajudei na formação acadêmica, técnica, profissional, orientando e mentorando até que pegassem o ritmo e voassem alto, muitas vezes, mais alto do que eu consegui chegar.

Outras, por estarem mais distantes ou por não fazerem parte do meu ciclo mais próximo, infelizmente, não consegui alcançar.

Porém, agora, diante de uma oportunidade de mentorar algumas pessoas, decidi estender esse projeto para outras que estiverem interessadas em terem alguém com alguma experiência orientando-as nessa carreira.

Um oceano de oportunidades

A idéia surgiu diante da abundância de oportunidades que temos atualmente na área de desenvolvimento de sistemas e da atual escassez de mão de obra qualificada.

Some-se a isso a lacuna deixada pelo conteúdo passado nas universidades, a desorientação de quem está chegando no mercado agora e a ausência de orientadores que ajude a juntar esse monte de interesses envolvidos: pessoas, tecnologia, academia e mercado;

O que é o projeto de mentoria: kyrius

Trata-se de um trabalho voluntário para o mentor, gratuíto para o mentorado, colaborativo para todos. Espero aprender muito com aqueles que mentorar e quem sabe ajudá-los a alcançar a maturidade técnica (hard skill) e profissional (soft skill) exigidas na carreira de desenvolvedor de sistemas.

O projeto será dividido em partes, todas disponibilizadas aqui no medium, de forma a ajudar na absorção do conhecimento, exercício da técnica e mentoria da evolução.

Serão aulas já disponíveis no youtube, mas, selecionadas por mim para que os mentorados assistam, pratiquem e tirem dúvidas comigo.

Os temas abordados nas “nano” aulas foram selecionados por mim, de acordo com o nível do público que desejo atingir (iniciantes) e do que entendo ser relevante para o mercado de trabalho atual.

Adicionei uma pitada de humor geek para deixar a jornada mais leve, escolhendo o tema Star Wars como pano de fundo. Quem sabe não teremos alguns Jedis começando por aqui?

Sendo assim, não serei eu dando as aulas, mas, professores muito melhores do que eu. O mentorado poderá repetir as aulas quantas vezes desejar e precisar até que assimile o conteúdo ensinado nos vídeos. Meu papel é selecionar os vídeos de acordo com os temas, analisar o conteúdo ensinado neles e acompanhar a evolução dos mentorados. Cada mentorado seguirá no seu ritmo e estarei por perto orientando e acompanhando a evolução de cada um.

Como é feita essa divisão

A mentoria está dividida em fases e a primeira é uma apresentação do projeto kyrius, que é esse texto que você lê agora.

Na fase seguinte, teremos a configuração do ambiente para começar a codar. Nessa fase, o mentorado também aprenderá a andar sozinho, sem muletas e sem ninguém segurando a sua mão. Chamei essa fase de: Preparação do Ambiente: Conhecendo a “Força” e aprendendo a se virar.

A expectativa é de que o mentorado conclua essa parte em 3 dias. Mas, ele pode levar o tempo que precisar, inclusive nas fases seguintes. Nessa parte o mentorado irá:

  • Criar uma conta no Gmail (caso ainda não tenha)
  • Entrar no grupo do slack para mentoria;
  • Instalar o Linux Ubuntu na máquina (caso use Windows);
  • Instalar o Chrome;
  • Instalar o Java e o Maven;
  • Instalar o IntelliJ;
  • Instalar o Postman;
  • Instalar o Docker e o Docker-Compose;
  • Instalar o Git e criar uma conta no GitHub;
  • Criar uma conta no Duolingo para aprimoramento do inglês;

A fase seguinte é de mão na massa, aprender fazendo, mesmo sem entender nada direito no início. Chamei essa fase de: Primeiros passos: Descobrindo a “Força”.

A expectativa é de que o mentorado conclua essa parte em 5 dias, mas, como dito, ele vai no ritmo dele. Nessa parte o mentorado irá:

  • Conhecer um pouco da Metodologia Scrum;
  • Desenvolver uma aplicação simples usando Spring Boot;
  • Subir o código fonte para o Github;

A fase seguinte é um freio de arrumação, onde, depois de meter a mão na massa, o mentorado terá algumas aulas de conhecimentos básicos que envolvem o que ele fez na fase anterior. Chamei essa fase de: Conhecimentos Básicos: Escola de Aprendiz Padawan.

A expectativa é de 3 dias para a conclusão dessa fase, onde o mentorado irá conhecer um pouco de:

  • Comandos Básicos do Linux;
  • Comandos Básicos do Docker;
  • Comandos Básicos do Maven;
  • Comandos Básicos do Git;
  • Arquitetura Básica de uma aplicação;
  • Framework Spring;

Na fase seguinte, dedicaremos um tempo para o mentorado aprender alguns fundamentos importantes sobre orientação a objeto e a linguagem Java. Chamei essa fase de: Linguagem Java: Conhecendo melhor o sabre de Luz

A expectativa é de 5 dias para a conclusão dessa fase, onde o mentorado irá conhecer um pouco de:

  • Conhecimentos Básicos da linguagem Java: Classe, Métodos, Construtores, Modificadores de Acesso, Interfaces, Enums,Tipos Primitivos e Wrappers
  • Conhecimentos Básicos de Orientação a Objeto: Herança, Polimorfismo , Encapsulamento e Generics
  • Lombok
  • Novas Features do Java 8

Na fase seguinte, conheceremos um pouco da estrutura de uma aplicação e dedicaremos um tempo para a modelagem de dados e fundamentos de banco de dados. Chamei essa fase de: Conhecimentos Intermediários: Aprendiz Padawan

A expectativa é de 5 dias para a conclusão dessa fase, onde o mentorado terá contato com:

  • Estrutura de um arquivo Json
  • Estrutura de um arquivo XML
  • Estrutura de um arquivo YAML
  • Tipos de requisições e respostas HTTP
  • Modelagem de Entidade e Relacionamento (draw.io):
  • Modelagem de Dados: tabelas, campos, tipos de dados, PK, FK
  • Comandos Básicos de SQL: Create Table, Select, Update, Delete e Insert
  • Conceito Básico de Design Pattern

Na fase seguinte, entraremos um pouco mais fundo no Banco de Dados relacional, modularização de uma aplicação, testes, conceitos de micro-serviços e de esteira de deploy. Essa será a última fase mais técnica (hard skills). Chamei essa fase de: Conhecimentos avançados: Batendo de frente com o Darth Vader.

A expectativa é de 5 dias para a conclusão dessa fase, onde o mentorado irá conhecer um pouco de:

  • Banco de Dados relacional (tipos de joins);
  • Modelagem de domínios com JPA;
  • Spring Framework: principais projetos
  • Modularização de projetos;
  • Testes automatizados Junit e Mockito;
  • Conceitos básico de microserviços;
  • Integração Contínua: CI-CD

Por fim, dediquei a última fase a tratar de alguns conhecimentos importantes relativos a carreira, um pouco de metodologia, alguns conceitos de cloud computing, oportunidades de trabalho e aprendizado contínuo. Chamei essa fase de: Carreira: Agora que vc é um Jedi.

A expectativa é de 5 dias para a conclusão dessa fase, onde o mentorado irá conhecer:

  • Níveis da carreira e suas competências: Estagiário, Júnior, Pleno, Sênior, Team Leader, Techinical Leader, Head, Especialista, Arquiteto;
  • Principais profissões para desenvolvedores: backend, frontend, fullstack, devops, mobile (android, ios, react, flutter);
  • Outras carreiras em TI: UX, Product Owner, Project Manager, Scrum Master, Business Analist, Data Scientist;
  • Metodologia Scrum;
  • Conceito de Cloud computing: SAAS, PAAS, IAAS. On Premise, principais players;
  • Outras linguagens (só pra saber que existe): NodeJS, Python, PHP, .Net(lado negro da força);
  • Onde estão as melhores oportunidades;
  • Evento e como fazer networkings;
  • Apresentação Pessoal: Curriculum no Linkedin;
  • Cursos online: Youtube, Alura, Udemy, Coursera, Udacity;
  • Certificações: Java, AWS, Spring;
  • Sobre Idioma Inglês: Youtube, Duolingo, Conversação, Filmes sem legenda;
  • Tipo de Trabalho: CLT, PJ, Full time, Part time, Freela, Home Office, Exterior;

Como vai funcionar

Foi criado um canal de comunicação no Slack (kyrius.slack.com), onde os mentorados poderão ter contato direto com o mentor para tirar suas dúvidas, apresentar sua evolução, trocar idéia com outros mentorados e também terem a oportunidade de conhecerem como tudo funciona no mundo real.

Além disso, estarei realizando de 1 a 2 hangouts semanais para tirar dúvidas, fazer revisão de código, acompanhar a evolução e orientar a melhor estratégia para resolverem os problemas que tiverem.

Pretendo também promover a cinergia entre os mentorados e trazer alguns convidados de relevante experiência para participarem dos hangouts, permitindo uma troca de experiências benéficas a todos.

Minha pretenção com esse projeto

Para mim, este é um projeto sem ambições pessoais. Desejo apenas compartilhar um pouco da experiência que acumulei ao longo dos últimos 20 anos, retribuir um pouco do que tenho recebido ao longo da minha jornada.

“Usar as minhas mãos para outras mãos abençoar.”

Quero dar uma força para quem está chegando e ajudar na formação de futuros colegas de trabalho.

Nos vemos na mentoria.

Um abraço a todos e que Deus os abençoes.

Oséas de Jesus

Ps.: próximas fases…

  • Para acessar a fase de Preparação do Ambiente: Conhecendo a “Força” e aprendendo a se virar, é só clicar aqui.
  • Para acessar a fase de Primeiros passos: Descobrindo a “Força”, é só clicar aqui.
  • Para acessar a fase de Conhecimentos Básicos: Escola de Aprendiz Padawan, é só clicar aqui.
  • Para acessar a fase de Linguagem Java: Conhecendo melhor o sabre de Luz, é só click aqui.
  • Para acessar a fase de Conhecimentos Intermediários: Aprendiz Padawan, é só clicar aqui.
  • Para acessar a fase de Conhecimentos avançados: Batendo de frente com o Darth Vader, é só clicar aqui.
  • Para acessar a fase de Carreira: Agora que vc é um Jedi, é só clicar aqui.

--

--