Pelo menos no Brasil, toda vez que uma nova lei é sugerida a primeira pergunta que todos devem fazer é: a quem ela beneficia? E, não, a resposta não é “a população”. Deveria ser, mas no Brasil normalmente não é. Que beneficia políticos e lobistas isso não é novidade. Precisamos analisar, de fato, quem ganha com isso.
Além disso precisamos entender que toda justificava de lei é falaciosa. Políticos são mestres da argumentação – por isso são políticos. Vamos lá.
A Falácia
Antes de mais nada, o argumento que todos mais gostam:
“Engenheiro Civil, Cardiologista, Advogado criminal, Contador, etc todos eles precisam se formar, todos eles precisam de licença para trabalhar, todos eles pagam conselhos regulamentadores, enfim, todos eles são ‘regulamentados’. Por que programadores, analistas, cientistas da computação, acham que são mais ‘especiais’ e não precisam disso?”
Esse é o principal argumento e a chave dessa falácia.
Primeiro, vamos quebrar a premissa dessa falácia, que “desenvolvedor de software está na mesma categoria de engenheiro civil, ou médico, ou advogado”.
Se um engenheiro fizer um prédio ruim, ele cai. Se cair pessoas morrem. Isso é raro, mas mesmo assim ainda acontece.
Se um médico cometer um erro, o paciente morre. Se o advogado cometer erros, um inocente passa 30 anos na cadeia. Se um contador cometer erros seus clientes terão prejuízos financeiros importantes e um nome sujo junto à Receita Federal.
A comparação – errônea – é que se um programador “inexperiente” cometer um erro e deixar um bug para trás, um avião controlado por computador poderia cair. Um elevador controlado por computador poderia cair. Um equipamento médico eletrônico poderia matar um paciente. Um carro computadorizado poderia bater.
Logo, portanto, um programador despreparado não é menos perigoso do que um médico despreparado. E o pior, ele não é hoje considerado um perigo e, portanto, não é devidamente fiscalizado e nem punido.
Voltando no tempo
Antes de mais nada, a engenharia civil tem raízes desde antes dos tempos dos faraós e as pirâmides. Milhares de anos. A Medicina tem raízes também há muito tempo, desde os curandeiros das tribos até hoje. Advogar e todas as técnicas de argumentação existem desde que se existem pessoas.
Qualquer uma dessas profissões envolve um corpo de conhecimento extremamente complexo e, principalmente, muito mais completo e uniforme. Não significa que não estão em constante evolução. Mas a profissão se divide entre aqueles que apenas executam as técnicas que aprenderam (a maioria) e os que tem os recursos para investir em pesquisa e descobrir novas técnicas (a minoria).
Computação, no geral, é o oposto. Para começar, nossa área sequer tem um século de idade. O mercado em si, começou não faz 60 anos. Diferente de outras áreas, cada salto evolucionário na nossa área é como se saltássemos 1 século no futuro em outras áreas.
O maior problema de nossa área é que ela envolve tanto conhecimentos matemáticos como técnicas de engenharia. E com isso os leigos acreditam se tratar da mesma coisa: técnicas bem definidas com resultados bem definidos.
Não é esse o caso. Eu não iria tão longe quanto Pete McBreen em Software Craftsmanship mas é inegável que a maioria das pessoas parte das premissas erradas ao avaliar software.
Portanto, nossa área não é tão estável quanto as outras porque estamos em desenvolvimento acelerado onde cada passo muda a área completamente. Um único novo algoritmo pode mudar tudo o que fazemos. Um Google, um Linux é capaz de redefinir a maneira com pensamos e fazemos software.
Pouco mais de uma década atrás, a Internet nem era tão popularizada quanto hoje. Linguagens mudam o tempo todo, incluindo paradigmas de programação. Poucos anos atrás metodologias Ágeis sequer eram levadas a sério. O que se aprendeu na faculdade 10 anos atrás já mudou muito. Daqui 10 anos já serão diferentes.
Quebrando a Premissa
Desenvolvedores de Software não podem nem devem, portanto, ser comparados a médicos ou engenheiros. Nós estamos mais para o lado do ‘artesanato’, da ‘arte’, ou seja, da experimentação.
Um único programador muda a maneira como ele faz a mesma coisa de projeto para projeto. Exatamente como um artista muda alguma coisa numa escultura. A técnica se ‘refina’ com a experiência e o convívio com outros artistas.
Nós combinamos diferentes ferramentas, com diferentes processos e cada um tem resultados muito diferentes do outro. Não existem critérios fixos para definir o que um “bom software” ou o que é um “mal software”.
Outra coisa: é impossível fazer um software 100% livre de erros. Bugs são artefatos inerentes à nossa prática e não podem ser evitados. Podem, sim, ser controlados mas nunca eliminados. Não existe uma única linguagem, uma única plataforma, um único conjunto de técnicas que garanta, com 100% de certeza, que bugs não existem.
Algumas coisas que aprendemos é entender que bugs existem e, por exemplo, nos preparar antecipadamente com suítes de testes. Nem isso, porém, garante 100%, apenas garante que os mais óbvios provavelmente foram cuidados. Quer aumentar a probabilidade de acerto? Aumente a quantidade de testes. Mas mesmo assim, depois de um certo tamanho ou quantidade, alguém precisaria garantir que os próprios testes não tem bugs (!)
Quanto a processos, alguns acham que basta aplicar CMMi, PMI, ou qualquer dessas bobagens para “garantir” um “bom software” ao final do processo. Outro erro. Nem mesmo XP ou Scrum são as respostas definitivas – mas obviamente são um grande passo à frente. Ainda não existe o processo que garanta 100% de certeza.
A Falácia do Diploma
Será que um músico diplomado é melhor que um Villa Lobos? Será que um pintor diplomado é melhor do que uma Tarsila do Amaral? Será que um escritor formado será melhor do que Machado de Assis? Será que o Washington Olivetto é um grande publicitário porque é formado? Ah, não, ele nunca concluiu o curso de publicidade da FAAP.
O que isso significa? Que eu sou contra a graduação?
Absolutamente não. Se Linus não tivesse passado pela Universidade de Helsinki, talvez não tivesse criado o Linux. Se Larry Page e Sergey Brin não tivessem feito Ph.D na Universidade de Stanford talvez sequer tivessem se conhecido e nem o Google teria existido. E a lista se segue, James Gosling por Carnegie Mellon, Bill Joy por Berkeley, Bjarne Stroustrup por Cambridge, Dennis Ritchie por Harvard, Yukihiro Matsumoto pela Universidade de Tsukuba.
Enfim, muitos dos grandes nomes da história da computação parecem ser formados. O que significa isso? Que todos nós, não formados, estamos perdidos?
Não, o problema aqui é a Falácia Informal
“Muitos grandes programadores da computação são formados. Portanto, a chave para se tornar um grande programador é se formar.”
Dados os dois cenários acima, entre artistas e programadores, eu diria o seguinte:
“Grandes programadores não são formados. Grandes programadores se formam.”
O fato desses grandes nomes terem terminado suas faculdades, pós-graduações e doutorados indicam apenas que eles identificaram valor nesse formação e foram atrás dela. Garanto que nas turmas de cada um deles havia dezenas de outros formandos, muitos lá apenas por inércia. Mas apenas um tem seu nome na Wikipedia hoje.
Um grande artista viaja à França atrás de conhecimento e inspiração por conta própria, não porque é um trabalho de sala de aula. Um grande programador lê Donald Knuth antes de dormir porque ele compreende o valor dos algoritmos, não porque precisa de créditos para o próximo semestre.
Problemas Brasil
O problema aqui é o Brasil, pra variar. E não, isso não é desculpa da ‘direita neo-liberal’ bla bla bla.
Para começar a maioria esmagadora de nossas universidades – pelo menos na área de computação – não chega nem perto das universidades americanas. Sim, sim, temos USP, Unicamp, algumas federais. Não estou falando das exceções.
Quase não existe incentivo à pesquisa nem pela iniciativa pública e nem pela privada. Não existe o equivalente Bell Labs, Microsoft Research, Google, ou outras centenas de empresas que primam por grandes investimentos em Research & Development. Empresas brasileiras não querem investir, querem faturar. Ok, estou generalizando, não contem as exceções nesse argumento.
Nosso sistema tributário e fiscal é, claramente, uma vergonha nacional. Ela nos faz sangrar diariamente e destrói o país como a um paciente terminal com câncer. Leis protecionistas que não funcionam, impostos cujo único objetivo é preencher mais e mais cabides públicos.
A quantidade de pesquisa científica inédita, publicada por brasileiros, é um fio de cabelo comparado à massiva biblioteca de inovações que se vê saindo das melhores universidades americanas, européias e asiáticas. Todas as tecnologias que usamos no nosso dia a dia não veio do Brasil. Nós apenas licenciamos, importamos e aplicamos essas tecnologias aqui. Mesmo as raras exceções de grandes conquistas brasileiras são mais utilizadas lá fora do que aqui dentro. Exemplo clássico disso? A linguagem Lua que, até por coincidência irônica, tem a página do Wikipedia mais completa em inglês do que em português.
Se a maioria de nossas faculdades e universidades se limita a ensinar o que se descobre lá fora, qual meu incentivo de me formar aqui? Se eu tivesse vocação para pesquisa, teria que me formar lá fora (que é o que muitos de nossos melhores cientistas fazem). Cientista, no Brasil, morre de fome.
E se for para aprender, com muito atraso, o que já se aplica lá fora, porque vou perder meu tempo? Felizmente temos internet hoje. O que eu quero aprender, algoritmos e estruturas de dados? Estatísticas e Probabilísticas? Inteligência Artificial, autômatos finitos? Compiladores? Bancos de dados não-relacionais? Sistemas operacionais modernos? Qual dessas matérias não está coberto por livros e Web? Vou para a faculdade aprender princípios da construção de linguagens modernas? Não, aqui vamos para a faculdade aprender Java. Sinto muito, é muito pouco.
Eu passei pela USP, fiquei 2 anos cursando lá e simplesmente me desmotivei a continuar. Aprendi as teorias de programação todas por conta própria. Apenas para saber que existe o livro do Tanenbaum eu não preciso ficar até o 4o ano esperando para aprender sistemas operacionais. Eu não precisava ter entrado na faculdade para ler o livro do Wirth. Onde estão as pesquisas inovadoras que me prenderiam lá? Onde estão os grandes nomes publicando novos trabalhos? Onde está a inspiração e a motivação para me manter por 4 ou mais anos numa universidade?
E depois que eu me formar? Existe algum grande incentivo para que eu faça pós-graduação, doutorado e inicie minhas próprias pesquisas? Ou se eu sair para a iniciativa privada, as empresas vão me contratar para fazer pesquisa? Ou mesmo se eu quiser abrir minha própria empresa, será que consigo mantê-la?
No Brasil, ser um empreendedor é uma tarefa homérica. É preciso ser Aquiles para não ser esmagado pelo elefante que é a máquina opressora do governo. Você é praticamente um criminoso por abrir sua própria empresa. O Brasil incentiva o “jeitinho”, motiva a recompensa rápida e fácil, porque longo prazo aqui é praticamente sinônimo de prejuízo. As que sobrevivem de longa data são vacinadas e continuar assim. É por isso que um iPhone jamais saria de uma empresa brasileira. É por isso que o próximo processador quântico jamais sairá de uma instituição brasileira. É mais barato, mais fácil e dá mais lucro importar tecnologia do que criar, mesmo com impostos protecionistas.
Enfim, se meu incentivo é apenas receber um pedaço de papel ao fim de 4 anos, porque alguma lei regulamentadora irá me exigir isso, então fiquem com meu exame de urina, é mais barato.
“Jeitinho”, um orgulho nacional
Como estamos numa espiral negativa, universidades ruins, empresas ruins, estudantes desmotivados, nenhuma tecnologia nova, etc. mais ainda essa ridícula “lei regulamentadora” não faz sentido algum.
Antes de mais nada, uma lei que quer regulamentar algo que não é regulamentável é apenas uma ordem para arrecadar mais fundos para os puteiros de Brasília.
Para começar, nossas universidades – como um todo – são muito ruins. Da mesma forma que inventamos os ‘remédios genéricos’, também inventamos as ‘universidade genéricas’. Todo dia aparece uma Uni* com cursos de 2 anos, aprovados pelo MEC, formando ‘profissionais’. Eles existem justamente pelos motivos que falei acima: como se formar se tornou uma burocracia necessária, o brasileiro foi incentivado a criar meios de burlar a burocracia. Se as empresas querem papel, então é papel que vamos dar a eles, mas pelo menos vai custar menos tempo e menos dinheiro.
Vamos definir o que um órgão desses vai regulamentar. Será considerado software ‘certificado’ todo aquele que for feito por pessoas diplomadas, usar o processo ISO-xpto, passar pelo crivo de um ‘fiscalizador’ autorizado, for feito na linguagem Java e rodar em servidores Windows.
Está muito fácil.
É público e notório que a grande maioria das prestadoras de serviço de software, vulgo ‘consultorias’, são um sub-produto das condições que mencionei acima. Um sub-produto do ‘jeitinho’. Nenhuma delas tem interesse algum em melhorar a qualidade de nada, de incentivar pesquisa, de incentivar formação. Se eles tem centros de ‘educação’ para certificar seus funcionários é única e exclusivamente porque as licitações do governo exigem tais papéis.
São elas que tornam o papel de um desenvolvedor mais difícil ainda, porque o governo não tem competência para liderar projetos de software, todo projeto sai pelo menos uma ordem de grandeza mais caro, e o que se conclui é que essas consultorias são as culpadas. E são mesmo, só que aqui é o feitiço voltando contra o feiticeiro pois foi o próprio governo que criou tais aberrações exatamente com atitudes como essa nova “lei regulamentadora”.
Criar órgãos regulamentadores que não tem absolutamente nenhuma idéia do que regulamentar é exatamente o que eu defino como cabide de empregos, serão mais um corpo de fiscalizadores a se subornar. É mais um custo que toda empresa vai precisar pagar para continuar funcionando. Enfim, será apenas mais um obstáculo na já absurda burocracia que temos que enfrentar todos os dias. Do dia para a noite, como resultado disso, será criada mais uma nova categoria de ‘despachantes’ para burlar essas burocracias. Mais uma nova categoria no direito e mais algum trabalho para advogados.
Que benefícios essa lei trás para …
- os clientes de empresas de software? Nenhum. Se eles já recebiam serviços ruins, vão continuar recebendo, só que mais caro. Se já tinham um bom serviço, vão parar de ter pois muitos dos bons profissionais serão impedidos de exercer e os muitos ruins tomarão seu lugar.
- as empresas de software? Nenhum. Apenas tornará mais difícil contratar bons profissionais, aumentará custos com burocracia, inicialmente talvez até exista uma inflação nos preços daqueles que já tem diploma em mãos. Será apenas mais um custo a se lidar, mais um custo que precisará repassar a seus clientes. Enfim, mais uma ‘encheção de saco’.
- os micro-empreendedores que investem em serviços de software? Nenhum. Alguns precisarão fechar as portas pois seu único diferencial muitas vezes era a qualidade do serviço, mas com regulamentações arbitrárias desse tipo, eles não poderão arcar com os custos (subornos) e, ou terão grandes dificuldades em se adaptar, ou irão eventualmente falir.
- bons programadores? Nenhum. Os que já eram formados, continuam trabalhando mas agora pagando o equivalente a um CREA que além de não lhe proteger em seus direitos ainda irá lhe atacar o tempo todo por nada. Haverá desmotivação à criatividade já que seu trabalho precisará seguir ‘padrões’ arbitrários e ilógicos e eventualmente, o que tiverem condições devem deixar o país.
- os maus programadores? Todas. Os que já são formados, acabam de ganhar uma lei protecionista que o beneficiará com ou sem esforço. É possível que passem a ganhar mais. Haverá maior procura e eles ganham cabides de graça onde se pendurar. Os que ainda não se formaram vão querer se formar e nesse caso ganham também as genéricas Uni* que vão distribuir papéis a preço de ouro e ficar ricos no processo.
- os atravessadores? Todas. Desde Uni* que receberão mais gente em seus ‘cursos’ de baixíssima qualidade, até os profissionais informais que tem ‘contatos’ com os cabides governamentais e oferecerão saídas ‘por baixo dos panos’ a quem puder pagar por isso. Além disso vai se popularizar o papel dos “profissionais formados” que poderão assinar por projetos feitos por “profissionais não-legalizados” melhores do que eles. Uma assinatura agora vai valer dinheiro.
- os políticos? Todas. Mais cabides de emprego, mais lugares onde empregar familiares e amigos, mais cargos executivos que poderão ser negociados. Mais suborno de lobistas. Mais dinheiro em caixa extraído dos profissionais honestos que pagam impostos e taxas arbitrárias como essa. A maior parte da população será ludibriada novamente porque desconhecem a matéria e eles se elegem de novo. Absolutamente nada a perder.
- a população em geral? Zero. A área de tecnologia brasileira já andava devagar de qualquer maneira, será apenas mais um freio. Com sorte não começaremos a rolar para trás, ladeira abaixo de novo. Junto com leis anacrônicas como a de reserva de mercado que impõe impostos irreais para produtos eletrônicos importados, esta será mais uma que coloca o mercado de TI brasileiro mais atrás ainda do resto do mundo.
Programadores
“Bons profissionais não são formados. Bons profissionais se formam. Bons profissionais, no Brasil, tragicamente podem acabar sendo empurrados a serem péssimos profissionais.”
“Péssimos profissionais não são formados. Péssimos profissionais sempre serão péssimos. Não há esperança para eles.”
Não me interessa se uma pessoa é formada ou não. Me interessa se o profissional é de qualidade.
- Um bom profissional estuda e pesquisa por conta própria – já que ninguém o incentiva.
- Um bom profissional está constantemente preocupado com a qualidade de seu trabalho – mesmo que ninguém o recompense.
- Um bom profissional ajuda o próximo – mesmo que ele lhe esfaqueie pelas costas.
- Um bom profissional ainda usa seu tempo livre para participar de comunidades, difundir informação, tentar colaborar para a melhoria da área – mesmo que isso lhe renda uma crise de stress depois.
- Um bom profissional, no Brasil, é um sobrevivente, mesmo com tudo isso ele ainda quer melhorar e tem a habilidade de sobreviver nas selvas.
- Um bom profissional tem que ser praticamente um Chuck Norris.
- Um bom profissional guarda fantasias de ver uma Magnum 44 apontada na cabeça de cada político.
Péssimas pessoas são péssimos profissionais. Todo político, por definição, é um péssimo profissional.
- Um péssimo profissional é um encosto. Faz faculdade não porque quer aprender, mas porque quer o diploma.
- Um péssimo profissional menciona, logo no topo do seu currículo, as 10 certificações que tem.
- Um péssimo profissional dá risada de leis como essas: elas vão melhorar ainda mais sua situação.
- Um péssimo profissional torce pela deterioração do setor, pois no curto prazo ele se beneficia disso.
- Um péssimo profissional adora leis protecionistas, pois elas protegem sempre tipos como eles, afinal quem cria essas leis são, por si só, outros péssimos profissionais.
- Um péssimo profissional é como uma barata: asqueirosa e difícil de morrer. Eventualmente alguns péssimos profissionais viram políticos.
Alguns dizem que sou simplesmente pessimista. Será?