Meu ambiente de trabalho em 7 items

Fui convocado pelo @franciscosouza para listar 7 ítens do meu ambiente de trabalho… então aqui vai…

1. Triveos Tecnologia

A Triveos é a minha empresa e tenho, como sócio técnico, o pythonista Marcos Petry. Não chega a ser uma “equipe” mas já dá pra fazer um bom estrago ;D

Aqui na Triveos a gente não tem preconceito contra nenhuma tecnologia (nosso site e blog rodam em PHP e somos membros do Microsoft Bizspark).

Eu particularmente tenho algumas “birras” com alguns softwares que já me torturaram no passado: Trac, Nagios, Squirrelmail, Bazaar, etc.

2. Git, Github, Codebase

Nós gostamos muito de usar DVCS e adoramos o Github para hospedar nossos (poucos :/) projetos open-source. Gostamos das ferramentas de apoio à criação de grupos de desenvolvedores que eles oferecem.

Usamos o Git por conta do Github. Mas usaríamos Mercurial se o Bitbucket fosse tão bom quanto.

No nosso dia-a-dia a gente lida com projetos de clientes e/ou de código fechado e para esses projetos nós achamos melhor procurar um local mais “tranquilo” pra hospedá-los. Sem o oba-oba, “excessos” do Github e com um suporte mais “rápido” à eventuais problemas.

Então contratamos um plano no Codebase. Lá eles oferecem hospedagem de código com repositórios Git, Mercurial ou SVN. Também disponibilizam um sistema de Tickets/Milestones e Wikis para projetos.

3. Tecla, Webfaction e Linode

Para hospedagem em produção preferimos usar o Linode (e eu indico a todos que querem um serviço simples e de qualidade).

Mas em alguns projetos (leia-se Ludeos) temos algumas exigências relacionadas a comprovação de gastos. Nesses casos usamos o Cloud da Tecla. Eles são melhores que a Locaweb mas ainda são infinitamente inferiores a qualquer hosting similar nos EUA. E nem estou falando de preço (o pior deles, IMHO, é o sistema de cobrança).

Os sites mais simples (e blogs) ficam numa conta compartilhada simples no Webfaction. Para colocar um WordPress “no ar” com poucos cliques é uma baita ferramenta. Mas costumo notar certa lentidão no acesso às páginas de tempos em tempos.

4. Vim, Textmate e nada de IDEs

Uso principalmente o Vim mas me viro bem com o Textmate também. Dependendo da minha “vibe” eu uso um ou outro.

Recentemente passei a usar o MacVim mas ainda não estou me dando muito bem com ele. Vou insistir mais um pouco pra ver se me acostumo.

Nossos funcionários usam Eclipse+PyDev… engraçado isso… 😀

5. Python (… JS, Ruby, C, Shell Script, Java, PHP, …)

Aqui na Triveos é assim: se a bola foi lançada a gente mata ela no peito e chuta pro gol! 😀

É claro que a gente seria mais feliz usando só Python, mas não dá pra fazer isso sempre.

Para desenvolvimento web nós usamos Django mas já namoramos o Flask, o Repoze.BFG (Pyramid), e diversos outros frameworks web feitos em Python.

Já usamos jQuery (apesar de eu não gostar dessa biblioteca) e estou estudando YUI3 seriamente a algum tempo.

6. OS X e Ubuntu Linux

OS X pra criar e Ubuntu pra produzir em massa. 😀

Já usamos CentOS e Debian em ambientes de produção mas eu detesto lidar com software velho. Então adotamos uma alternativa mais “arriscada”? E usamos a última versão de Ubuntu disponível. Procuro sempre atualizar os ambientes de produção.

Instanciamos uma máquina com o Ubuntu mais novo “nas nuvens”, rodamos um comando de setup/deployment e pimba! servidor novo, com software atualizado e rodando…

…mas isso só é possível em projetos onde usamos “Continuous Deployment”… e ainda estamos aprendendo a fazer isso direito. Quando estivermos “fera” nisso pretendo escrever sobre o assunto aqui.

Mas se alguém quiser uma idéia do que planejo pode ver no artigo Python deployment tips do Lorenzo Gil.

7. Ambiente

Uso o Terminal.app (mas tenho planos de experimentar o iTerm) com bash configurado para modo vi no prompt.

Uso:

  • Marinho Brandão (@marinhobrandao)
  • Arthur Furlan (@arthurfurlan)
  • Marcos Petry (@petry)

… descreverem seus ambientes 😀