O Davidson Fellipe (@davidsonfellipe) ressucitou a série “Meu ambiente de trabalho em 7 itens” que nasceu em 2010 com vários desenvolvedores descrevendo seu modus operandi e me intimou para continuar, então aqui vamos nós!


1) Sistema Operacional

Eu iniciei o ano de 2011 utilizando Windows, logo nos primeiros meses migrei para Linux com a distribuição Ubuntu, onde fiquei por grande parte do ano, até que no final migrei para o Mac OSx.

Fiz questão de passar pelos três principais sistemas operacionais antes de falar “beleza, é nesse que eu vou ficar até que apareça algum melhor”.

Muita gente reclama que os computadores da Apple são caros e tal. Realmente são, não tem como negar. A questão é, nós trabalhamos com isso, passamos o dia inteiro nessa porcaria, então precisamos das melhores máquinas.

Hoje eu trabalho com um Macbook Air + monitor auxiliar. É leve para carregar e a bateria dura bastante. E o principal, não me deixa na mão. O que me dá tempo para resolver problemas maiores do que ficar configurando drivers ou o que quer que seja.


2) Editor de código

Item indispensável na lista, quem me conhece sabe.

O Sublime Text 2 é altamente extensível, cross-plataform (ou seja, funciona em qualquer sistema operacional) e você pode usar sem ter que pagar nada (apesar de eu ter feito questão de comprar a licença).

O editor que eu mais gostava na época em que eu usava Linux era o Aptana. Também muito bom, só que absurdamente mais lento.

Se você ainda não conhece o Sublime, recomendo fortemente que perca alguns minutinhos vendo o vídeo que eu gravei usando ele. Garanto que não vai se arrepender.


3) Editor de texto

Além do Sublime, se tem uma coisa que eu sou apaixonado é por Markdown.

Pra quem não conhece, Markdown é uma linguagem de marcação bem simples e que eu utilizo para escrever qualquer coisa hoje em dia. Seja documentação de projeto open source, post em blog ou trabalho da faculdade. Até email eu escrevo em Markdown!

O Mou é justamente um editor de Markdown. O que eu gosto muito nele é o syntax highlight e o live preview. Infelizmente esse app só existe para Mac, mas vocês pode ver conferir programas alternativos aqui.


4) Linha de comando

O ZSH é um shell muito poderoso que adiciona várias features que o deixam muito mais poderoso que o Bash, shell nativo do Mac. Tudo isso por conta do oh-my-zsh, um framework para gerenciamento de configuração do ZSH recheado de plugins e temas.

Para rodar ele uso o iTerm2. Mas ultimamente algumas coisas tem me irritado nele, então talvez eu volte para o TotalTerminal assim que eu terminar de escrever esse post. Ambos são apenas para Mac, mas você pode conferir programas alternativos aqui.

Recorrer a linha de comando acaba se tornando indispensável a medida que você vai evoluindo no mundo da programação, se você ainda tem dificuldade para lidar com a linha de comando, sugiro que perca um tempo tentando utilizar e principalmente tirando da cabeça essa barreira. É mais fácil do que você imagina.


5) Controle de versão

Simplesmente essencial para trabalhar em equipe ou se envolver em projetos open source. Desenvolver alguma coisa sem utilizar um sistema de controle de versão como SVN, Mercurial ou Git é loucura. Em um primeiro momento você sente que ele é muito burocrático, mas com o tempo percebe as vantagens que isso lhe proporciona.

Hoje o Git me atende em diferentes aspectos. Na Globo, utilizamos o Gitorius. Já para projetos como freelancer opto pelo Bitbucket, por conta dos repositórios privados ilimitados. E para projetos open source, Github, é claro.

O Github, em especial, ultrapassou os limites de um simples gerenciador de repositório Git, sendo considerado por alguns como uma rede social. Muitas empresas de fora do Brasil inclusive substituíram a tradicional forma de contratação através de uma avaliação do currículo para uma avaliação da sua conta nesse site.

Independente da classificação, uma coisa é certa, ele mudou o modo com os desenvolvedores colaboram em projetos open source.


6) Máquina Virtual

Como desenvolvedor front-end não adianta fugir, é preciso preciso testar o projeto em diferentes sistemas operacionais com diferentes navegadores. Existem ferramentas que emulam navegadores, mas se você quer testar de verdade, vai ter que recorrer as máquinas virtuais.

Para isso, utilizo hoje o Parallels que simplesmente faz mágica. Mas como ele funciona apenas para Mac, você pode usar VMWare ou VirtualBox que também são ótimos.


7) Gerenciamento de projeto

Com a correria do dia-a-dia e os milhões de projetos que acabo me envolvendo, fica impossível lembrar de todas as tarefas que preciso fazer usando só a cabeça.

Depois de ter estudado algumas metodologias para me auto-organizar com essas coisas, a que mais tem funcionado pra mim é o Personal Kanban. Onde eu consigo visualizar o progresso do projeto, as tarefas que tenho pra fazer, aquelas que já terminei e aquelas que estão em andamento.

Quando o projeto é muito pequeno ou as tarefas muito rápidas, acabo usando o Wunderkit, uma ferramenta online para gerenciar os projetos e suas tarefas.

Mas vai por mim, visualizar as tarefas através de um artifício físico com um simples post-it é muito mais efetivo do que online.


Repassando a bola…

E você, o que usa?