Pare! Você está reinventando a roda

Um dos conselhos que eu mais ouço, talvez por ser um o mais difíceis de seguir, é: “Não reinvente a roda”. Ou seja, não tente refazer aquilo que já existe e funciona bem. Eu imaginava que já havia superado completamente minhas tendências de reinventar a roda, mas não é tão fácil assim.

Nesta última semana estive desenvolvendo um site simples. Como me passaram o layout pronto, só precisava fazer o CSS, separar as imagens, montar o HTML, etc. Não era um layout com uma estrutura convencional (cabeçalho, rodapé e uma ou duas colunas no corpo). Pra minha surpresa, comecei a apanhar um pouco do CSS, o que me deixou um tanto frustrado.

Quem já montou algum layout em CSS sabe que ter algumas estruturas básicas já montadas ajuda muito, e era exatamente o que eu precisava. Me lembrei do YUI e de um projeto no meu computador que fazia uso dele. Após estudar um pouco o código e a Y!DN consegui escrever a folha de estilo utilizando 25% do tempo que havia dedicado até então.

Depois desta história, concluo 3 coisas:

1 – Temos sempre que ficar de olho na nossa “caixa de ferramentas”
Quando eu trabalhava mais frequentemente com CSS, era mais fácil criar estas folhas de estilo. Ainda assim, dificilmente começava uma delas do zero, sempre tinha à disposição referências e ajuda dos colegas de trabalho. Já sabia da existência de YUI antes de começar este projeto, mas ignorei porque pensava que poderia fazer o projeto com as minhas próprias ferramentas.

2 – Não tenha medo de testar novas ferramentas (mesmo que seja pra falar que ela não funciona)
Já contei a história de como demorei pra aprender Python no post anterior, aquela história demonstra como deixar de conhecer uma ferramenta nova pode ser ruim. A pouco tempo atrás aconteceu a mesma coisa. Comecei a aprender CakePHP porque não queria aprender Ruby on Rails, hoje percebo que isto não faz sentido. Ruby on Rails é um framework que está ficando cada vez mais famoso pela sua produtividade, não faz sentido deixar de experimentar. Se você realmente pensa que Ruby on Rails é somente um hype que vai passar, aprenda e depois fale o que quiser! Não estou falando mal do CakePHP, é um excelente Framework, foi ótimo ter aprendido. A questão é que me interessei por ele pelos motivos errados.

3 – Aprenda como as coisas funcionam. Na hora certa.
Outro motivo para que as pessoas não utilizarem certas ferramentas e fazerem as suas próprias do zero, é querer aprender como funciona. O mais interessante disso, é que quando você fica tentando fazer a sua própria ferramenta do zero, na maioria das vezes, aprende como as coisas NÃO funcionam. Se você quiser aprender como as coisas funcionam, comece a utilizar as ferramentas prontas, depois leia documentações, livros, códigos-fonte, blogs e o máximo de material do pessoal que fez. Imagine que eu quero aprender sobre sistemas operacionais modernos e apenas sei programar em C, se eu começar um sistema operacional do zero sem ajuda e sem ler o material que existe sobre o assunto vou fazer um SO melhor do que os que existem no mercado?

Vou tentar, daqui pra frente, fazer uma rápida pesquisa a respeito das tecnologias que pretendo utilizar, talvez isto faça com que eu reinvente menos. Ainda assim, a maioria das tecnologias que realmente valeram a pena para mim, fiquei sabendo através de referências de outros profissionais. Confie nos seus amigos, desconfie de você mesmo.