10 commandments of egoless programming