07
Jun 11

Camadas de.. times de software!

Author: Felipe | Filed under: Uncategorized | 1 Comment »

Dando uma olhada no http://www.mixtent.com me dei conta de que aqui no Brasil, dificilmente compomos equipes por skills específicos.. vou dar um exemplo. Eu sou mais eficiente em desenvolvimentos de back-end do que de front-end. Eu consigo desenvolver bem front-ends mas a um custo maior.. especialmente porque não domino CSS. É muito bom ser proeficiente em tudo.. mas colocar todo mundo pra fazer de tudo, diminui a eficiencia das pessoas, aumentando o tempo e o custo..

Enquanto não houver profundidade no conhecimento, vamos sempre parecer amadores ao invés de profissionais.. Por mais que sejamos profissionais, um profissional que não entrega pelo menos uns 2 softwares usando a mesma tecnologia não tem experiência nela.. logo, o seu trabalho pode ter um resultado final profissional mas foi desenvolvido num tempo muito maior porque teve que estudar e desenvolver ao mesmo tempo.

Acho que os times tem que ser desenvolvidos em camadas de habilidades.. Dessa forma, todos contribuem com o que dominam.. todos contribuem mais rapido e da melhor forma.. A partir do momento em que passamos a ter especialistas em front-end e back-end, os times podem funcionar muito mais rápido.. porque eles podem apurar o seu entrosamento.. Além do beneficio da empresa, o próprio profissional tem chance de se aprofundar em alguma coisa e apurar a sua habilidade naquilo.

Cada camada é responsável pelas escolhas de práticos de engenharia de software, testes etc.. pros seus artefatos. Esse domínio maior de tudo vai tornar mais precisas as estimativas.. e dessa forma, podemos ser até mais sustentáveis..

Lá fora já é assim.. procuram desenvolvedores front-end e back-end.. entre outras especialidades… Vale refletir! :)


23
May 11

‘headless’ javascript test with jasmine,phantomjs,rake and xvfb

Author: Felipe | Filed under: linux, ruby, tests, tools | Tags: | No Comments »

If you’re planning to setup a CI environment to test javascript with jasmine on some VPS linux box  you’ll need a ‘headless’ test tool. Check it out how to do it.

First, execute those steps at your linux terminal

This will install my jasmine-gem version. Now, you have to enter your jasmine project dir (the one that you ran ‘jasmine init’). Edit spec/javascripts/support/jasmine_config.rb with this custom config.

And finally:


06
May 11

Persistencia.. mas não de dados.. e pet-projetcts-no-more

Author: Felipe | Filed under: Uncategorized | 4 Comments »

Most developers doing some random private project for their own enjoyment don’t stay with it long enough for it to ever be even release ready.
Linus

Esse é um dos maiores problemas que eu observei no meu comportamento em relação aos meus projetos open source. Por ou um outro lado, depois de tanto pesquisar a história de alguns projetos open source, realmente tive um insight de que nada vem tão facilmente. Pode ser que algumas coisas possam vir facilmente mas se tratando de um projeto open-source a persistencia é um fator muito importente.

É por isso que hoje eu aprendi a me organizar, do meu jeito, de forma que eu sempre consiga estar evoluindo os meus projetos.

Além disso eu estou fazendo um esforço grande pra mudar os meus projetos de pet-projects para projects. E pra isso, eu tive que realmente transformar meus projetos em projetos de verdade. São ações simples, como criar roadmaps, fazer boa documentação, divulgar pra que exista uma base de usuários etc.. porque open source não é apenas sobre codigo fonte aberto e sim, muito, sobre contribuição. O último ponto, e um dos mais importantes é o fato de que se nem nós mesmos usamos nossos projetos, quem vai utilizar? É por isso que o maior projeto da loogica na próxima versão irá utilizar o copycat pra um novo módulo.

Cheguei a conclusão de que além da parte técnica, é necessário uma postura mais séria em relação a projetos pessoais, se nós temos algum objetivo de que esse projeto tenha algum valor. A mudança de postura vem com um amadurecimento profissional e também muito pessoal. Uma mudança de visão muda tudo!


23
Mar 11

python zmq async-server

Author: Felipe | Filed under: Uncategorized | No Comments »


22
Mar 11

tao of programming - design

Author: Felipe | Filed under: Uncategorized | No Comments »

from: http://www.canonical.org/~kragen/tao-of-programming.html

There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: “Which is easier to design: an accounting package or an operating system?”

“An operating system,” replied the programmer.

The warlord uttered an exclamation of disbelief. “Surely an accounting package is trivial next to the complexity of an operating system,” he said.

“Not so,” said the programmer, “when designing an accounting package, the programmer operates as a mediator between people having different ideas: how it must operate, how its reports must appear, and how it must conform to the tax laws. By contrast, an operating system is not limited by outside appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design.”

The warlord of Wu nodded and smiled. “That is all good and well, but which is easier to debug?”

The programmer made no reply.


30
Nov 10

Procura-se pythonistas

Author: Felipe | Filed under: Uncategorized | No Comments »

Pessoal,

A empresa que trabalho está procurando pythonistas de preferência que conheçam Django.

Entrem em contato..


18
Oct 10

Espalhando talentos, distribuindo má qualidade: TI no Brasil

Author: Felipe | Filed under: Uncategorized | 7 Comments »

Isso mesmo.

O foco da industria brasileira é o retorno imediato. Pouco se ve investimento em projetos inovadores e pior, pouco se investe em simplesmente boas idéias.

Vejo isso em todas empresas que trabalhei. Dei sorte de trabalhar em ótimas empresas mas todas repetem o mesmo erro: distribuem o talento e distribuem “má qualidade de software”. (não se sintam ofendidos!! :) )

Como o objetivo é o retorno imediato, a empresa que tem 10 excelentes profissionais, contrata 40 profissionais em inicio de carreira(ou baratos ou estagiarios bons e ruins) e monta 10 equipes compostas de 1 top e 5 medianos (fracos, imaturos, estagiarios em aprendizado).

Resultado: 10 projetos entregues de baixa qualidade.

Reunir 5 profissionais de altissima qualidade em uma mesma equipe no Brasil é considerado desperdício de dinheiro já que eles poderiam liderar cada um uma equipe, logo……..

O dia que descobrirem o poder efetivo de uma equipe com 5 ótimos profissionais, vão ver que é possível que eles sejam mais efetivos que 5 equipes de 5 pessoas (1 top 4 medianos) no mesmo período de tempo.

Enquanto nao reunirmos quem tem talento.. não seremos inovadores..,,


21
Sep 10

Testes? “Não, obrigado”

Author: Felipe | Filed under: Uncategorized | 7 Comments »

Primeiro quero dizer que sou a favor dos testes. Como ferramenta o valor é grandioso.  Todos já sabem o valor dos testes.. o meu questionamento é a respeito da importancia dada.

Por outro lado, testes não garantem qualidade, eles apenas ajudam. A qualidade do cógido é porporcional ao talento do desenvolvedor e isso parece que está sendo esquecido. Entendam, observem e aceitem.. a qualidade “competencia” existe e está ai.. existem bons desenvolvedores, medianos e ruins.. como em qualquer profissão.

Além disso, eu acho que cada profissional sabe como funciona melhor a sua produtividade e por isso sou contra a adoção de determinados métodos em “fábricas de software” como algo que deve ser seguido por todos. TDD é ótimo.. mas é ótimo quando vamos desenvolver uma API.. construir um sistema de informação com pouca lógica de negócio usando TDD não funciona. Para construir uma API de manipulação de Ativos e passivos do mercado financeiro é uma ótima solução porque ajuda a pensar primeiro com o ponto de vista de quem irá usar. Depois temos o conjunto de testes de brinde e isso é ótimo.

Outra questão absurda dos testes, são os testes desnecessários. Testar se o seu DAO feito com spring e JPA cria uma linha no banco de dados é desnecessário. Eu não me dou ao trabalho de testar a função de frameworks estáveis e que estão consolidados no mercado há alguns anos porque eles já foram testados. Eles funcionam.

Hoje, meus projetos tem um mix de testes unitários para códigos que precisam ter testes (lógicas de execução) e testes de integração. E sim, o código de testes normalmente é pequeno.. doa a quem doer, mas eu confio na qualidade do meu trabalho e não vejo a necessidade de me tornar um neurótico que testa cada linha simples de codigo só pra dizer que tem cobertura completa de testes…


13
Jun 10

Vagas sem valor de salário? Seja contra!

Author: Felipe | Filed under: Uncategorized | 1 Comment »

É inadimissível ver que ainda existem empresas que fazem leilão de profissionais.

Primeiro, porque muitas vezes perdemos tempo em processos seletivos que no final decepcionam nessa questão. Isso já aconteceu com muita gente, inclusive comigo.

Segundo, que isso desvaloriza a média geral de salários da nossa profissão. Quando a empresa filtra os candidatos pelas pretensões pedidas, obviamente ela começa a analisar por quem pediu menos. O CV passa a ser o segundo critério ao invés de ser o primeiro.

Isso faz com que as empresas consigam sempre uma mão de obra barata, o que não tem nada de errado, mas indiretamente faz com que as empresas sempre queiram pagar o mínimo possível e isso influencia diretamente nos salários que serão oferecidos posteriormente.

A responsabilidade é nossa..


21
May 10

copycat - simple, transparent and non-instrusive persistence

Author: Felipe | Filed under: python | No Comments »

Check out copycat new website: http://copycat.loogica.net/