O Sobrinho - A solução do seu cliente... o Motivo do seu bolso vazio

[quote=celso.martins][quote=elomarns]
Acho que o Maurício não estava se referindo à qualidade do código da aplicação, e sim da sua qualidade externa. Por mais que a idéia nos pareça estranha, um software pode ter sim uma péssima qualidade interna, ou seja, um código horrível e de difícil manutenção, e ainda assim ter qualidade externa, resolvendo bem o problema do cliente. E no fim das contas, para muitos clientes, a qualidade externa é a única que conta ao determinar a qualidade total do aplicativo.[/quote]
[/quote]
Na verdade eu quis dizer com qualidade externa a qualidade percebida pelo cliente, e não apenas uma interface agradável e eficiente, embora isso também determine a qualidade total e externa da aplicação. Ou seja, estou me referindo a um software que efetivamente faz o que o cliente precisa, e que portanto é percebido pelo cliente como um bom produto, possuindo qualidade externa.

Um software desse pode ou não possuir também qualidade interna, mas a maioria dos clientes não se importa, desde que ele resolva os problemas do seu negócio, ainda que com um código medonho.

Por exemplo, vamos supor uma aplicação qualquer que possui registro e login de usuários. Nesse caso, o usuário obviamente só pode ser cadastrado se tiver um login, logo deve haver uma validação para verificar a presença do login, conforme o código abaixo, escrito em Ruby, e que usa o ActiveRecord, do Rails.

[code]class User < ActiveRecord::Base
(…)

def validate
self.errors.add(:login, “O login do usuário deve ser informado.”) if self.login.blank?
end
end[/code]

Por mais que o código acima não seja o mais adequado, uma vez que um validates_presence_of :login já resolveria o problema, ele continua resolvendo o problema de só registrar usuários que informarem o login. Logo, uma aplicação pode ter vários trechos de código assim, usando opções que não são as melhores, ou então até usando os recursos certos, mas com uma legebilidade ruim, caracterizando assim um código ruim. Mas ainda assim a aplicação resolverá o problema a qual foi proposto, já que não há um erro de lógica, apenas mal uso da linguagem e/ou framework.

E no fim das contas o cliente não se importará com esses problemas, já que o aplicativo faz o que ele precisa, e se ele precisar adicionar algo na sua aplicação quem sofrerá com o código ruim não será ele.

Ou não tem vontade. E a vontade, normalmente, é diretamente proporcional ao reconhecimento que dão para o seu trabalho. Podemos romper com esse tipo de pensamento também. Eu procuro fazer sempre o meu melhor (!= conseguir sempre) para ficar em paz com a minha consciência.

Eu me preocupo como as pessoas me avaliam (óbvio, não vivo numa ilha deserta). Se o próximo que assumir algo desenvolvido por mim, me criticar, quero saber os motivos. Se tiver razão, mudo meu pensamento. Se não tiver, vou argumentar em prol das minhas soluções. Dessa forma, evoluimos. Consolidamos os nossos conhecimentos. Isso beneficia a todos.

O que vou relatar aconteceu em 2006, se não me falha a memória. Uma dupla de desenvolvedores assumiu o meu trabalho, pois a filha do dono não gostava de mim. Criticaram tudo o que eu já tinha feito. Consegui extrair boas coisas deles, mas foi um período duro para a minha carreira. Entrei em depressão e pensei em opções para largar o desenvolvimento. Só não me demitiram devido à grande confiança que o dono da empresa tinha em mim. Também, esse foi o ano que meu filho nasceu. E o meu emprego por um fio.

As críticas, obviamente, faziam parte da venda e, na verdade, refletia o ódio que a “filha” nutria por mim. É a mesma que me criticou por eu ouvir música enquanto desenvolvia.

Resumo da ópera, cobraram R$30.000,00, não conseguiram entregar NADA, sumiram, a “filha” sumiu e, até hoje, as minhas soluções estão rodando. E até hoje, sou solicitado a desenvolver novas soluções.

Tenho muito a agradecer a esses dois. Foram a principal razão do nascimento do meu psicopatismo sadio pela qualidade.

Analise o que está acontecendo com frieza. Até dos infernos astrais coisas boas podem brotar.

[quote=elomarns]

E no fim das contas o cliente não se importará com esses problemas, já que o aplicativo faz o que ele precisa, e se ele precisar adicionar algo na sua aplicação quem sofrerá com o código ruim não será ele.[/quote]

Entendi… você estava falando da suficiência.

Agora, o cliente sofrerá sim com um CR em código mal feito. O problema é que ele ainda não sabe disso. É nossa obrigação começar a dissipar essas nuvens da visão dele. Eu já contei este exemplo aqui, ele também está incluído no primeiro post do meu blog e, por isso, vou resumir a história:

No primeiro semestre de 2007 fui contratado para atuar numa consultoria de soluções Delphi. Tudo era programado nos eventos, nada de OO e boas práticas. Boas práticas para o dono significava comentário no código. Manutenções de 2 horas duravam 2 semanas. Isso é real. Agora você imagina uma equipe de 3 pessoas trabalhando com uma fila de 40/50 CR’s. Propague estas 2 semanas e verá a realidade. A consultoria está perdendo seus principais clientes (que não podem esperar tanto tempo por um CR) e está indo a falência. Cara, em empresa pequena, é normal você conhecer o dono e, vou te dizer, é triste, muito triste, ver um trabalho de anos desmoronando. Tentei ajudar, tentando mudar um pouco a filosofia da empresa, mas fui taxado de teórico e fui demitido.

Talvez eu tenha errado na abordagem. Entretanto, apesar da história triste, foi possível extrair algo de bom: consolidei ainda mais meus princípios e comecei a estudar técnicas de vendas (Maurício =) ) e conversação. Tudo isso está me ajudando a vender as minhas idéias.

Hoje, atuo numa das maiores consultorias do mundo, e vivo um momento na carreira em que sou mais respeitado e mais ouvido. Dissemino melhor a minha experiência para os mais novos e consigo vender melhor as minhas idéias para os meus superiores. Simples assim.

Abraços.

Opa… bom dia galera… a Choradeira não é minha graças a Deus… em Breve sonho em montar minha empresa sim… mas com certeza meu cliente não será o “TIO” vou atrás do cliente de verdade…

Quanto ao mais, gostaria de complementar uma coisa… esse assunto de fez faculdade é bom e blá blá blá já foi… acho que ninguém aqui tocou no assunto e se não me engano nem o tópico inicial tocou nesse assunto… A discussão é outra… precisa se mudar a cabeça dos “TIOs” empresários e com isso fazer o sobrinho aprender mais…

Aqui em minha cidade ao entrar no site de uma grande concessionária (GRANDE MESMOOOO) ví uma página feita no FrontPage com aquele famoso link (>> ENTRAR <<) sei que foi o sobrinho e que se f… o TIO que o chamou para fazer o site porco… nem muito menos digo que esse sobrinho daqui a alguns anos não estrá sendo um dos maiores empresários do mundo… só estou dizendo que muita gente boa deixa de vender seu trabalho decente por conta desse tipo de atitude, NÃO DO SOBRINHO (esse tá ganhando a sua grana sem roubar, nem matar, nem se prostituir) mas sim do “TIO” empresário que economiza pagando o sobrinho por um trabalho porco (não que não existam sobrinhos que façam um excelente trabalho…)

Quanto ao amigo que falou que cobraria os mesmo R$ 140,00 do sobrinho… vá lá cara… fique a vontade pra dar seu preço, meu trabalho vale mais…

e ao Maurício… não cara… creio que vc tbm entendeu errado… não to falando de “sisteminhas de cadastro que imprimem uma notinha fiscal escrota” não… to falando do cara que tá precisando de um sistema ERP próprio, que atenda ao seu negócio especificamente, mas que acha que o “Sisteminha de cadastro que emite uma nota fiscal” tá ótimo pra ele, e 90% do trabalho dele continua sendo manual e ele as vezes é até roubado pelos seus próprios funcionários por conta disso…

Só pra finalizar, não estou entrando no mérito do SOBRINHO… como já falei, esse cara faz o papel dele… minha preocupação aqui em minha cidade (não apenas pela grana, mas pela qualidade de TI que acaba marginalizada) é com a cabeça dos “TIOs” sacaram ?? sei que vão rebater horrores esse tópico aqui, mas com uma empresa aberta por uma semana em Belém-PA vocês entenderiam… hehehehehehehe… São realidades diferentes e estou falando da realidade do meu local (Sem generalizar é claro).

Falows :wink: