13 de Setembro: Dia do Programador
Tivemos a grata oportunidade de ouvir um pouco do que pensa o engajado, célebre e respeitado profissional da área, João Batista Neto, que é engenheiro de aplicações com vasta atuação, seja por meio de cursos, palestras, mediador em fóruns e disponibilizando muito código OpenSource produzido por ele. Tentamos com apenas 7 perguntas - que imaginamos relevantes - captar um pouco do que envolve a profissão de programador.
Em todas as áreas há os bons e os maus profissionais, mas quando falamos em programação, em parte por não haver uma regulamentação da profissão, como no caso de um médico ou engenheiro, qualquer um que é capaz de fazer um script que lê dados de um banco de dados e formatá-los em uma saída, auto-intitula-se programador. Como isso impacta no segmento?
Veja, essa pergunta é altamente problemática porque mistura duas questões:
- A segunda questão diz respeito aos maus profissionais que auto-intitulam-se programadores. Os maus profissionais existem e continuarão existindo, seja com, seja sem regulamentação. Aproveitando o exemplo dos médicos que utilizou, outro dia vi num jornal sobre um médico que foi preso por ter estuprado pacientes; também temos exemplos de marquises caindo e matando pessoas e outros casos notórios de falhas de engenheiros civis. A regulamentação não tem absolutamente nada a ver com qualidade do profissional. Queremos ver menos sobrinhos por aí? Claro que sim; mas quem deve fazer esse filtro de qualidade é o mercado, não o Estado.
- A primeira questão diz respeito à regulamentação em si e sobre o impacto que isso pode trazer ao segmento. Veja, comecei a programar aos 12 anos de idade; muitos dos melhores desenvolvedores que conheço também começaram cedo e muitos também são autodidatas. Uma possível regulamentação – especialmente nos moldes do proposto – conseguiria apenas dificultar, burocratizar, diminuir o potencial e a velocidade de inovação e não beneficiaria o profissional. Ainda, acredito que programação deve ser ensinada para crianças nas escolas; impedi-las de aprender programação até que cursem uma faculdade específica me parece um contrassenso. Sem contar que com a “qualidade“ atual da educação brasileira desde a base, tenho bastante dúvidas se realmente queremos utilizar aquilo como critério para dizer se profissional X é melhor que profissional Y.
Você é célebre por produzir e divulgar conteúdo Open Source e na contramão, ainda há muitas empresas protegendo seu código. Como você vê o futuro? Quem vai ganhar esta "briga"?
Não acho que exista briga. O que existem são pessoas dispostas a contribuir para construir algo bacana, resolver problemas e eliminar dificuldades e/ou custos; se a NVIDIA quer fechar código, foda-se a NVIDIA. Mas a pergunta de fato é bem fácil de responder: quem vai ganhar essa “briga”? Veja, abri o documento que me enviou em anexo utilizando o LibreOffice instalado no meu Fedora – btw, converti o documento para Open Document; assim que terminar de responder, vou escrever algum código utilizando alguma tecnologia open source e o colocarei num servidor com sistema operacional open source e serviço http open source para ser consumido por outras pessoas que, eventualmente, talvez até utilizem algum browser open source. Quem ganha essa “briga”? As pessoas em geral; direta ou indiretamente, todos ganhamos.
A velocidade com que a tecnologia caminha tem favorecido o surgimento de muitas novas linguagens. Como é possível manter-se atualizado e participativo, diante de um cenário em que cada vez a “vida útil” do conhecimento é menor?
Essa é difícil. Apesar de provavelmente ter saído um novo framework javascript desde que comecei a responder essas perguntas, a tecnologia vem para resolver problemas e linguagens / frameworks são meramente ferramentas. Se uma nova ferramenta surge, é porque alguém tinha alguma necessidade específica que provavelmente não era atendida com as tecnologias que estavam à disposição. A beleza é que muitas vezes a pessoa com o problema compartilha sua solução na forma de open source. Então se uma comunidade produz muito open source, é porque essa comunidade é muito ativa. Como mantenho-me atualizado? Bom, eu pesquiso bastante, participo de diversas comunidades, eventos, etc; mas como eu realmente acredito que linguagens e frameworks são meramente ferramentas para resolução de problemas, prefiro esperar conhecer o problema antes de escolher uma ferramenta para resolvê-lo.
Mais do que o benefício material que um programador pode produzir pelo código que cria ao trabalhar para uma empresa ou para si próprio, como dentro do seu trabalho você pode contribuir socialmente? De que forma um programador no exercício de sua profissão pode contribuir para um mundo melhor ou, pelo menos, um país melhor?
Existem diversas formas; eu gosto de lidar com dados abertos e transparência no combate à corrupção, mas outro dia, num evento, conheci a história de alguns jovens que foram apoiadas por um projeto social que ensina programação para crianças; eles participaram de um hackathon da NASA e desenvolveram uma tecnologia chamada Rádio JUNO para propagação de notificação utilizando radio-frequência em AM em áreas remotas, para ajudar no combate de incêndios florestais: O WAAS.
Hoje, com o conhecimento que tem do mercado, da profissão, das dificuldades e facilidades, bem como das perspectivas, se tivesse a oportunidade de começar novamente, escolheria novamente ser programador? Por quê? Você consegue enxergar o cenário do profissional de programação em 5 anos? 10 anos?
Sou programador porque eu acho divertidíssimo sê-lo. Eu costumo brincar com as pessoas dizendo que no dia em que minha área deixar de ser divertida, trocarei de área; vou vender pipoca na praça, porque acho que vender pipoca na praça deve ser divertidíssimo. Em 94, quando comecei a programar, as coisas eram bem difíceis. Hoje contamos com uma inteligência coletiva enorme; certamente alguém, numa comunidade, teve o mesmo problema que você e o resolveu; se você programa em Ruby, pode procurar que certamente encontrará uma gem para resolver o problema. Acho que estamos vivendo a melhor época para o desenvolvimento de software. Então, sim, eu escolheria novamente ser programador e, apesar de não me atrever a prever o futuro, o cenário me parece promissor para 5~10 anos.
Se lhe fosse dada a oportunidade de estabelecer três diretrizes que regulamentariam o trabalho no setor, tal como as leis de Asimov, quais seria as suas?
- O desenvolvedor deve ser responsável pelo código que escreve;
- O código deve resolver problemas causando o mínimo possível de dano e efeito colateral;
- Ferramentas são só ferramentas; escolha uma desde que sua escolha não viole a diretriz anterior.
Que mensagem você deixaria para quem pensa em atuar nesta área?
Não permita que a faculdade prejudique seus estudos. Procure uma comunidade; o conhecimento coletivo é maior do que você pode imaginar. Colabore com open source; seja desenvolvendo, traduzindo, ou de qualquer forma que você encontrar para ajudar. E a dica mais importante que posso dar: divirta-se.