Esse post surgiu de uma sugestão do hugocarmona182 no nosso repositório do github.

Na issue ele pede para falarmos sobre experiências e aprendizados que tivemos com o uso do Vue.js (citamos o Vue.js no post: Porque aprender novas tecnologias não te faz um programador melhor).

Iniciamos um projeto no segundo semestre de 2016, e entre as tecnologias escolhidas estava o Vue.js, um framework progressivo para criação de interfaces. Hoje em dia temos vários projetos utilizando o Vue.js e estamos gostando muito do resultado, ele é muito produtivo, tem uma curva de aprendizado baixa e o ecossistema dele é bem grande.

Apesar dos itens a seguir estarem ligados ao Vue.js eles podem ser aproveitados para adoção de qualquer outra tecnologia.

Tenha uma boa base

Nossa equipe “pegou o jeito” do Vue.js rapidamente pois temos uma boa base da linguagem, no caso o JavaScript. Depois de algumas leituras e vários desenhos em um quadro branco entendemos bem como funciona a arquitetura orientada a componentes e a maneira com que o flux trabalha.

Tire um tempo para aprender os conceitos que envolvem uma tecnologia antes de adotar em um projeto. Com os conceitos bem entendidos a adoção de uma nova tecnologia fica mais natural.

Outro motivo para ter uma boa base é que assim fica mais fácil compartilhar o conhecimento com outras pessoas da equipe, com os conceitos bem entendidos você pode direcionar melhor o aprendizado das outras pessoas.

Entenda o problema que a tecnologia resolve

Antes de adotar uma nova tecnologia entenda se a tecnologia resolve o problema que você tem. Muitas vezes pode existir mais de uma tecnologia para resolver seu problema e isso é bom pois assim você tem mais de uma carta na manga.

No nosso caso precisavamos de um framework para facilitar a criação de interfaces e com uma curva de aprendizado baixa, já tinhamos trabalhado com uma estrutura separada em componentes e gostamos do resultado, um de nossos colegas sugeriu a utilização do Vue.js e depois de alguns testes decidimos utilizá-lo.

Vá além do Hello World

Muitas documentações de tecnologias tem um Getting started’ ou um Hello world para você começar a utilizá-la, isso ajuda muito na hora de testar algo novo e faz com que você comece a colocar em prática rapidamente.

Mas para saber se determinada tecnologia é boa ou não para o seu contexto você deve ir além do básico, tem alguns pontos importantes para se levar em consideração ao escolher uma tecnologia nova que você só vai conhecer se ir além do Hello world.

No projeto em que começamos a utilizar o Vue.js tiramos uma semana para testá-lo, decidimos utilizar o próprio projeto para validá-lo pois assim teríamos uma certeza maior que ele resolveria nosso problema naquele momento.

Suporte da comunidade

No nosso caso foi um pouco complicado no começo pois algumas coisas mais avançadas que precisamos saber no início do projeto com relação ao Vue.js foram difíceis de encontrar, muitas coisas encontramos apenas em chinês.

Porém verificamos que as issues no repositório do github tinham um bom suporte, boa parte estavam resolvidas, a comunidade interagia bem e respondiam rápido as dúvidas. O crescimento do framework, de tecnologias relacionadas e da comunidade nos ajudaram continuar com sua utilização.

Hoje em dia já não temos mais problemas com assuntos mais avançados, encontramos respostas para nossas dúvidas mais facilmente e para quem tem dificuldade no inglês, já tem muito conteúdo em português.


Eu sempre estou ligado nas novidades do mundo da programação e sempre que possível estou aprendendo algo novo, porém é importante um objetivo claro antes de escolher algo para estudar, assim a chance de manter o foco e a motivação é maior.

Ao escolher uma nova tecnologia vários pontos devem ser levados em consideração, cada projeto e cada equipe é diferente um do outro, o contexto em que cada um está inserido também evolui, entender bem o problema a ser resolvido e testar a solução antes de colocar a ideia em prática ajuda muito no sucesso do projeto.

Uma ferramenta que usamos recentemente e tem nos ajudado nas escolhas de tecnologias, definição de equipes e definição de ações para aumentar o conhecimento ou até mesmo desenvolver novas habilidades é a matriz de competências, uma técnica que aprendemos em um curso sobre Management 3.0.

Desenvolvendo competências na visão da gestão 3.0

Na primeira coluna ficam as competências que no contexto de desenvolvimento de software poderiam ser, por exemplo, tecnologias e metodologias. Na primeira linha ficam os nomes dos integrantes da equipe. Na segunda coluna informamos a quantidade de pessoas com os niveis desejados para cada competência, os níves de competência são os seguintes: Expert (Eu posso ensinar), Praticante (Eu posso fazer) e Iniciante (Eu preciso de ajuda para fazer).

Após definidas as competências e níveis de competências desejadas cada pessoa informa o seu nível em relação a cada competência. Com a matriz pronta fica muito claro os pontos em que cada pessoa pode melhorar e como está o nível da equipe em relação as competências necessárias.

Você tem algum assunto para sugerir? Abra uma issue no nosso github :)

Até o próximo post!

Referências: