Dicas para empresas que usam ou querem usar Rails
Estou trabalhando com Rails direto a mais de um ano, nesse tempo aprendi algumas coisas e quero mostrar uma lista para empresas que queiram usar Rails ou mesmo que já estejam usando.
- Contratem pessoas que saibam o que é Rails.
- Se contratar pessoas que não saibam o que é Rails faça questão de que elas trabalhem com quem sabe *1.
- Ruby não é Java e Java não é Ruby, assim como programadores Java não são programadores Ruby, mas isso não significa que não podem ser!
- Escutem seus desenvolvedores, desenvolvedores Rails constumam ser críticos.
- Pair Programming talvez faça os desenvolvedores escreverem menos linhas de código por tempo, mas elas terão mais qualidade geralmente.
- Ruby é “scripting” mas isso não significa código porco.
- Tenha programadores que gostem de ler código.
- SCRUM não é motivo para bagunça, se for usar SCRUM, faça direito.
- Tempo para Design, Rails é ágil e rápido mas não lhe dá motivo para não fazer design das suas features, principalmente as complicadas.
- Documente seu código, pessoas entram e saem de projetos.
- Teste, escreva testes sempre, não é frescura.
- Não ache que Rails é brinquedo e J2EE ou .NET é sério. Se estão botando dinheiro no projeto, é que é sim sério.
- Cuidado com decisões tomadas de cima para baixo que afetem design e arquitetura.
- Documente decisões.
- Esteja perto dos seus desenvolvedores, entenda as decisões e provoque-os.
- Use as ferramentas certas, Windows roda Ruby mas é lento *2.
- Certifique-se que seus desenvolvedores saibam algum Unix como OSX ou Linux *3.
- Sabendo Unix eles provavelmente estaram em sintonia com o ambiente em que a aplicação vai rodar em produção.
- Benchmark e profiling sempre que for otimizar e usar cache.
- Ruby é lento.
- Se usar Rails com algum back-end, faça o time do back-end estar em sintonia com o time Rails.
- Ferramentas como New Relic valem cada centavo.
Mais ligado a desenvolvedores está ai uma listinha com mais itens:
- Servidores SPARC com Coolthreads comem poeira para X64.
- Prove e não apenas dite, benchmark e profiling é sua arma.
- REXML é lento e pode matar sua aplicação.
- JSON tem parser escrito em C, menos verboso e rápido.
- Faça tunning de seu Ruby *.
- Tenha ambiente de testes semelhante ao de produção (mesmo SO e Arquitetura principalmente).
- Use Dtrace no seu Mac ou instale um Solaris.
- Compilar o Memcache com opcões diferentes da Default podem trazer beneficios.
- Git é melhor que o SVN, fato *4.
Notas:
- 1 Programadores apaixonados por Ruby podem render mais, tente apaixonar os programadores que não tem background ruby.
- 2 No Windows Vista é lamentável a velocidade se você usa uma máquina com 2gb ram, Ruby e Netbeans.
- 3 Geralmente quem sabe Unix conhece algumas outras linguages dinâmicas, sabem usar o shell, não acham o scrip/console estranho.
- 4 Branches ficam tão mais fáceis, merge são tão melhores.