Off Topic: Vamos todos impedir a regulamentação da profissão de analista de sistema

2008 April 19, 20:22 h

Update 25/08/2009: A lei já foi aprovada pelo CCJ e caminha para o CAS. Isso está indo longe demais!

Update 21/04/2008: Este post do Paulino Michelazzo é muito bom. Recomendo.

O Rodrigo Kumpera disse tudo, essa lei de regulamentação de ‘analistas de sistema’ é pura perda de tempo e uma bobagem sem tamanho.

Senhores “políticos”, dito que já estão desperdiçando nossos impostos em projetos de lei sem sentido, que tal regulamentar a profissão de político? Como podemos ver, sua profissão pode causar mais males a uma quantidade muito maior de pessoas com muito mais facilidade do que um médico não licenciado realizando cirurgia cardíaca.

Vamos colaborar: bloguem, divulguem e o principal, enviem sucata para a casa deles (endereços dos ditos no link acima). Tenho alguns quilos de sucata excedente aqui esperando um destino.

Mas tem que ser rápido! O tempo está se esgotando.

Obs: se quiserem ficar revoltados basta ler o texto integral dessa tal lei. Seria engraçado se não fosse trágico. Em resumo, serve para criar milhares de cabides (conselhos regionais e fiscalizadoras, bla bla bla), serve para nos roubar (anuidades a esses cabides), nos fazer voltar 30 anos no passado e frear o desenvolvimento tecnológico do país impedindo profissionais qualificados de atuar e dando passagem a diplomados desqualificados (não é uma discussão se ‘diploma é importante’ é o caso que programador não tem nada a ver com médico nem engenheiro).

Update 20/04/2008: Como os comentários estão legais, resolvi acrescentar exatamente porque eu, pessoalmente, quero dar um tapa na orelha do infeliz que saiu com a idéia dessa “lei”.

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 …

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.

Péssimas pessoas são péssimos profissionais. Todo político, por definição, é um péssimo profissional.

Alguns dizem que sou simplesmente pessimista. Será?

tags: off-topic principles market regulation

Comments

comentários deste blog disponibilizados por Disqus