Durante minha faculdade, eu tive uma única aula de ciência da computação (que, por sinal, foi ruim) e não sou web developer. Então, no início de 2008, quando eu decidi que finalmente criaria um site com o qual eu tenho fantasiado há anos, eu estaria partindo da estaca zero.

O site com o qual eu sonhava acabou virando o MixTape.me, um player musical web-based onde os usuários podem rapidamente criar e compartilhar playlists com os amigos (assista ao vídeo acima). Este post não é sobre quão animal é o MixTape.me (eu o adoro, mas certamente não é nenhuma maravilha), nem é um guia estilo óleo de cobra/folha de arruda/pílula mágica para que os seus sonhos se realizem. É mais sobre como fazer algo que você adora no seu tempo livre, mesmo que isto signifique ter que – *aham* – trabalhar nele. É também sobre a minha experiência. As suas horas de voo e trilha preferida variarão. Então, que comecemos logo.

1) Você precisa de um objetivo e de uma boa ideia
Na verdade, em vez de uma simples boa ideia, você precisa é de uma ideia pela qual você tenha paixão (suponho que você não seja apaixonado por uma ideia ruim). No meu caso, eu não estava muito contente com nenhuma das soluções online para criar e compartilhar playlists online e eu tive uma visão de uma na minha cabeça pela qual eu instantaneamente me apaixonei. Eu estava realmente empolgado com a ideia, então o meu dispêndio de tempo aprendendo, pesquisando e trabalhando em cima dela era praticamente sempre bastante divertido – mesmo quando eu batia minha cabeça contra a parede tentando descobrir o porquê de algo não estar funcionando.

Eu queria ter criado o MixTape.me há anos e até cheguei a começar umas duas vezes, mas acabei ficando sem gás (nem sempre será fácil equilibrar um trabalho de período integral com um projeto paralelo, independente de quão empolgado você seja com ele). Quando foi janeiro de 2008, dar início e terminar o site era a minha meta de longo prazo número um para o ano. Não para o mês. Não para o semestre. Para o ano todo. Eu sabia que isto levaria muito tempo e dei a mim mesmo bastante tempo (estabelecer uma meta com um ano de antecedência é um negócio sério, mas se for um objetivo no qual você trabalhe consistentemente ao longo de todo o ano, atingir esta meta ao final dele é algo tremendamente recompensador).

2) Separe um tempinho
Não é nada escabroso: se você não separar um certo tempo para tocar o seu projeto, você nunca fará nada em relação a ele. Em vez de esperar para que o tempo livre apareça, agende horários da sua semana que você saiba que poderá dedicar ao seu projeto. Se surgir mais tempo livre, ótimo! Use-o para avançar um pouco mais nele naquela semana. Apenas certifique-se de ter separado uma quantidade mínima de tempo para o seu projeto todas as semanas.

3) Identifique as ferramentas para a tarefa
Quando eu finalmente me comprometi com este objetivo, eu precisava selecionar as ferramentas para a tarefa. Eu não sou programador nem web developer de profissão e nunca havia criado um site antes. No entanto, eu tinha lido um bocado de coisa sobre uma estrutura de desenvolvimento chamada Ruby on Rails ao longo dos anos anteriores, tinha lido também alguns tutoriais para iniciantes, e descobri que já era um belo começo.

 

Eu sabia que o site exigiria um bocado de programação extravagante em JavaScript e AJAX, então decidi ficar com o default do Rails, uma biblioteca de JavaScript chamada Prototype. Se eu tivesse que começar tudo de novo, eu provavelmente optaria pelo JQuery, que é muito mais ativamente desenvolvido, criado pelo brilhante guru de JavaScript, John Resig, mas o Prototype (junto com a biblioteca de efeitos Script.aculo.us) é uma boa escolha.

Por último, eu sabia que para transferir MP3s eu precisaria de alguma espécie de Flash player – veja o inserido no vídeo acima como exemplo – e, naturalmente, escolhi as ferramentas da Adobe para esta tarefa (especificamente o Adobe Flex).

Você inevitavelmente precisará optar por ainda mais ferramentas quanto mais você avançar em um processo como este, mas você não precisa sabê-los todos logo de cara. A única coisa que eu sabia é que eu precisaria de uma boa estrutura de desenvolvimento de web, uma sólida biblioteca JavaScript e um Flash player que pudesse reproduzir os MP3s transferidos – então estas foram as ferramentas com as quais eu comecei.

4) Comece cometendo erros
Não me levou muito tempo para reconhecer que a parte de desenvolvimento de web seria a mais importante da equação (afinal, eu estava montando um site), então eu comecei a ver uns tutoriais dos Rails e criar uns aplicativos de exemplo. Eu cometi muitos erros, usei bastante o Google e aprendi um bocado durante o processo. Pra mim, cometer erros e caçar soluções (normalmente usando o Google) foi uma enorme parte do processo de aprendizado.

5) Pegue uns livros
Depois de eu descobrir parte do básico, eu percebi que estava na hora de comprar uns livros apropriados e entrar de cabeça no aprendizado. Para o meu aperfeiçoamento no Rails eu comprei o livro The Rails Way, apesar de agora eu provavelmente recomendar o mais recente Agile Web Development with Rails (estes livros acabam sempre ficando datados com o tempo). Daí eu li/folheei o livro, do início ao fim, me esforçando ao máximo para compreender integralmente a estrutura.

Enquanto isso, eu prestei bastante atenção a qualquer coisa que parecesse particularmente significativo para o site que eu esperava criar e fiz umas anotações. Entretanto, não perca muito tempo estudando minuciosamente tudo quanto é detalhe destes livros. Você nunca vai aprender tudo só de ler. Pegue as ideias básicas e depois comece a aplicá-las assim que puder.

Observação: os passos 4 e 5, conforme eu os coloquei aqui, são relativamente intercambiáveis dependendo do seu estilo. Eu comecei a cometer erros até ter alguma ideia do que estava rolando, daí fui atrás dos livros.

6) Suba nos ombros dos gigantes
Quando você terminar o seu autodidatismo, estará na hora de reconhecer e apreciar o que de fato está acontecendo: você está se apoiando nos ombros de inúmeras e excelentes pessoas que vieram antes de você. No meu caso, o Rails é uma estrutura open-source de desenvolvimento de web feita com o suor de muitos dedicados desenvolvedores. Do mesmo modo, a estrutura JavaScript do Prototype era open-source e havia sido feita por uma pancada de caras gentis o suficiente para permitirem que eu, um novato inexperiente, pudesse me aproveitar de todo o trabalho duro deles. Em resumo, eu nunca teria sido capaz de finalizar este projeto em um período de um ano de tempo livre se não fosse por todas estas generosas pessoas. O Flash é realmente a única ferramenta proprietária do meu kit de ferramentas e ele é praticamente inevitável (apesar de o HTML 5 de vez em quando tornar o Flash player desnecessário).

Foto por Mykl Roventine

Fora os principais players, você também se usufruirá do trabalho de inúmeros outros na forma de plugins compartilhados pela comunidade, tutoriais e até mesmo fóruns. Você rapidamente perceberá quando você estiver criando algo do zero que o Google passa a ser o seu melhor amiguinho de busca – não porque o Google é inteligente pacas, mas porque muitas inteligentes e magnânimas pessoas já passaram por lá antes de você e estão dispostas a compartilhar o que descobriram para que você não precise cometer os mesmos equívocos.

Você continuará fazendo isso ao longo de todo o ciclo de vida do seu projeto, seja programando o seu aplicativo ou aprendendo como criar e lançar um servidor a partir da estaca zero (você não necessariamente precisa criar e lançar um servidor da estaca zero, mas você está aqui para aprender, não é?). Você trabalhará em função de um recurso, se deparará com um problema e solucionará este problema com a ajuda da Internet. Enxágue e repita o processo. É lindo!

Após horas e horas, semanas e semanas, você finalmente terá algo para lançar. Pode não lhe custar um ano inteiro – o MixTape.me pode ter sido um tanto ambicioso demais para um projeto paralelo – mas, independente de quanto tempo venha a levar, se você alocou tempo para ele e investiu nele metodicamente, logo você estará pronto para lançar algo para o mundo. O seu próprio bebezinho virtual. Sinta orgulho!

7) Lucro
Este é ponto no qual eu adoraria dizer pra você que você instantaneamente fará milhões com a sua grande ideia. No entanto, eu não posso, é claro, porque este não necessariamente é o resultado do seu trabalho. O meu objetivo desde o começo do MixTape.me era que ele no mínimo pagasse custo de manter a si próprio.

Quando eu o lancei, eu não tinha nenhum anúncio – apenas links de referência para comprar MP3s na Amazon que renderam muito pouco desde que eu lancei o site. No entanto, eu recentemente acrescentei uns anúncios do Google AdSense no site e desde o mês passado o site oficialmente passou a pagar por si próprio – algo do qual eu me orgulho bastante.

Mas é aqui que eu dou uma de M.Night Shyamalan: você começou a lucrar desde o princípio (sim, eu sei que é meio brega). Enquanto você esteve criando algo do início, você aprendeu uma tonelada de coisas novas, adquiriu inúmeras habilidades novas, exercitou esta sua mentezinha, fez conexões com outras pessoas que pensam como você e, com sorte, bolou algo do qual você possa se orgulhar. Você pode mostrá-lo ao mundo e dizer “ei, eu que fiz isso”. E fazer coisas é sempre uma coisa boa.

O que mais há a se fazer?
Eu ainda estou trabalhando para transformar o MixTape.me exatamente no site que eu sonhei desde o princípio. É um longo processo, muito trabalho e algo que eu ainda faço no meu tempo livre sempre que posso. Um projeto como este nunca está inteiramente completo e toda vez que você tem uma nova ideia, você pode construir, apagar ou alterar o que você fez antes, continuamente criando novas maneiras emocionantes de exercitar a sua mente e as suas habilidades (eu estou ávido para começar a fazer aplicativos para telefones móveis, por exemplo, e creio que usarei o PhoneGap para este fim, mas a estrutura não parece estar inteiramente pronta para transmitir MP3s pela Internet. Mas estou empolgado e espero que, depois de terminar um aplicativo para iPhone, eu não seja a vítima de uma maçã podre).

De maneira nenhuma eu acredito que isto me torne uma pessoa única e eu sei que há uma porrada de gente por aí com muito mais talento que eu neste tipo de coisa, então se você algum dia já se empenhou em uma tarefa semelhante, compartilhe conosco como foi que você lidou com ela, como você se deu com o aprendizado de algo inteiramente novo e qual foi o resultado de tudo isto para você aí nos comentários abaixo.

Seja seguidor do @mixtapeme no Twitter e experimente o MixTape.me para ouvir e compartilhar música.