Fase "A" - Nubank e Alura
Tags: javascript, beginners, programming, node
Published: 2022-03-21 23:30:40

**Introdução:**

Olá, pessoal! Estou de volta (a primeira vez em português, diga-se de passagem....então, prazer, Mateus Patricio) p/ descrever um pouco da minha jornada nos últimos meses. A minha odisseia não se difere de outras milhares, ela contem altos, baixos, acertos e tropeços, entretanto, creio que há mais altos e acertos do que os citados anteriormente. 

Essa caminhada começou há um tempinho e a cada passo, surgiam surpresas bem inesperadas (vide a saber duas semanas depois do inicio do curso da quantidade de candidatos p/ às 120 vagas, "apenas" 8000 mil pessoas). Mas sendo bem específico ante a questão temporal, faz aproximadamente 3 meses que estou no curso de desenvolvimento de software com foco em back-end utilizando primariamente Node.js, o conteúdo é ministrado pela Alura em parceira com a Nubank, também apresenta-se participação substancial da Cubos Academy, neste momento, estou na fase "B", também neste momento, aflorou-se uma ideia na minha psique.

O pensamento que surgiu foi escrever sobre este ciclo que se fechou, compartilhar sobre tópicos aprendidos pela minha pessoa e meus colegas durante a fase "A" do curso, no decurso destes 3 meses iniciais, estes que foram preenchidos de dedicação e muito trabalho duro.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d4t6lbgjue3gze16fzdq.jpeg)
**Um Pouco da História Deste Projeto/Curso:**

Então, é interessante dispor uma leve contextualização referente a motivação por trás da criação deste projeto, deste curso, pela Nubank em cooperação com a Alura e a Cubos Academy. A Nubank, decidiu inaugurar o primeiro escritório fora de São Paulo na região de Salvador, o próprio possui o propósito de ser um hub de desenvolvimento tecnológico e experiencia do cliente, simultaneamente. Destarte, têm-se o primeiro programa de impacto social (antes mesmo da inauguração do edifício) do hub, o projeto visa formar programadores (mais de 100, como citado anteriormente, dividido em duas turmas, uma lecionada pela Alura, outra pela Cubos Academy), ocasionando um impacto extremamente positivo na comunidade de Salvador.

Em cerca de seis meses, decorrerá a exposição e aprendizado de diversas tecnologias e soft skills, tudo isto será canalizado em um projeto que almeja o controle e segurança dos ambulantes de Salvador (em especial, durante o carnaval) a partir de um programa de gerenciamento de credenciais, conhecido como LAS (Licenciamento de Ambulantes de Salvador). Para saber mais sobre o citado e acompanhar de perto o progresso do programa, segue o link do repositório do projeto:: https://github.com/tiagolpadua/las-api


**Então, sem mais delongas, irei elucidar um pouquinho (um pouquinho, pois é impossível cobrir 6 meses em um pequeno artigo) sobre projetos desenvolvidos durante a fase "A" e  sobre a fase em si.**




![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6naj0ftw3liuu988dvuq.png)
**Jogo: Pongbolim**

Esta foi a primeira tarefa feita durante esse percurso, a primeira vista, ela parece simples e até boba: "desenvolver um projeto baseado no jogo de pebolim". Todavia, essa atividade, a primeira (por mais surreal que pareça), é provavelmente a mais importante de todo o curso, pois foi aqui que eu e toda turma foi exposta ao pilar fundamental que todo bom programador está firmado...o pilar da lógica de programação. Dessa maneira, percebe-se, a relevância desta etapa, sem esquecer de mencionar a exposição e o aprendizado de outras ferramentas que utilizamos (eu e meus colegas) para desenvolver o jogo, JavaScript, HTML e CSS. Para terminar, o link do projeto que foi produzido pela minha pessoa: https://mateusspp.github.io/pongbolim/index.html


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/quyvzx8zvv7vdg5e2h2u.png)
**Git e GitHub**

Após a finalização do Pongbolim, começamos a ter um pouco do gosto da "real" rotina de desenvolvimento de um programador, a partir do aprendizado do Git (um sistema de controle de versões, desenvolvido por Linus Torvalds, criador do meu sistema operacional favorito). O Git é extremamente útil p/ trabalhar em projeto em conjunto com outros programadores, ou seja, ideal p/ trabalhar em equipe, consequentemente, também assimilamos como utilizar o GitHub, criar branches, repositórios e como o GitHub recebe os comandos que realizamos no Git (pull, push e outros). Segue o link do meu perfil do GitHub: https://github.com/mateusspp


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2a08bh6wf1ggm0ilsglz.png)
**Portfólio**

Foi nesta etapa que começamos a juntar tudo, literalmente, tudo que aprendemos até o determinado momento, todavia, não deixamos de estudar novos temas, como um pouco mais de HTML, CSS e o inédito (até então) Bootstrap. Toda essa mistura de conhecimentos novos e antigos tinha como finalidade modelar ou criar do zero uma página que seria nosso portfólio, ela seria hospedada no GitHub, ademais, criaríamos links que direcionavam p/ guias variadas, como nosso perfil no GitHub, Linkedin ou outros projetos realizados até ali, segue meu portfólio demostrando isto: https://mateusspp.github.io/


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cnv9lg78v5nftjmi0b7u.png)
**JavaScript e Desafios Semanais Referentes ao LAS**

As semanas se passaram e a abordagem a assuntos relacionados ao JavaScript, tornou-se cada vez mais densa. O primeiro sub tópico do tópico principal (JavaScript) a ser retratado dessa maneira foi arrays, aprendemos métodos de arrays e principalmente, as melhores formas de utilizar/trabalhar com eles/arrays. Como sabemos, p/ saber se vc aprendeu algo, é necessário por em prática, logo, iniciamos um processo de uma semana visando a resolução de um desafio que tinha como finalidade implementar uma funcionalidade ao LAS, ao mesmo tempo que essa funcionalidade devia ser realizada com os conhecimentos obtidos, além disto, houve também o inicio da criação de movimentação de branches e solicitação de pull requests (novamente, visando simular a rotina de um dev).

Nós continuamos cavando fundo nos sub tópicos de JavaScript e dessa vez, o achado foi funções e objetos, assim, o ciclo de aprender, ter um desafio e solucionar se repetiu. Entretanto, a dificuldade de todas as etapas deste ciclo foi proporcional ao aumento do nosso conhecimento, apesar disso, foi possível obter sucesso em todas as etapas, em virtude da união que a classe possuía. Isto permitiu que o conhecimento crescesse ainda mais, pois nós compartilhamos ideias, soluções, et cetera. Deste jeito, tivemos um desenvolvimento incrível em um piscar de olhos.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8mr5ouc5s2eda2sdqqe.jpg)
**Node.js**

O último conteúdo da fase "A" a ser ensinado, como é possível imaginar, ele ocupou essa posição devido a sua dificuldade, Node.js é difícil? Sim, é. Mas também é muito divertido desenvolver funcionalidades com ele, só que, não deve-se apenas em implementar a funcionalidade, precisa-se desenvolver testes robustos, testes que previnam os mais variados tipos de erros que podem surgir, para isto, é imprescindível entender o que é um mock e jest realizam e como utilizar bem os mesmos. Desenvolver testes não é apenas importante p/ a segurança do seu projeto, também é importante p/ facilitar a manutenção e adição de novas funcionalidades ao mesmo, sem bons testes, dificilmente vc irá conseguir cumprir essas tarefas sem grandes dificuldades. Por tudo isto, por todos os elementos mencionados, essa etapa sem sombras de dúvidas foi a mais difícil a ser completa, do mesmo modo como foi a mais legal até agora.

**Conclusão:**

Espero que vocês tenham gostado desse pequeno artigo que é simplesmente baseado neste trajeto que eu e meus colegas de turmas se encontram. Viajando nessa rota, compreendi inúmeros conhecimentos, como as boas práticas de programação (escrevi um artigo aqui na plataforma sobre isto), hard skills e outros tópicos, mas também tive a oportunidade de absorver conteúdos sociais cruciais, devido as aulas de soft skills, tudo isto contribuo de maneira vultuosa no meu desenvolvimento intelectual e social. É imensamente importante deixar mais claro como a luz do dia que nada disso seria possível sem os insubstituíveis indivíduos ao meu derredor, os meus excelentes professores, todo suporte familiar que recebo, além desse, os dos meus amigos e, é claro, os meus colegas de curso, tudo isso, gera uma imensa felicidade e vontade de continuar dando o meu melhor nos 3 meses (fase "B") e os outros que virão.