No entanto, o produto seguinte estará com preço bom e todos migrarão para ele, irão cultivá-lo e na colheita deste novo produto do momento o preço estará lá em baixo.
São regras do mercado. Oferta e procura.
Linguagens para desenvolvimento de sistemas informatizados tem semelhanças, dada as devidas proporções. Sempre tem alguma que está em curva de ascensão e inevitavelmente você não domina. Ou talvez você conheça apenas um aspecto da linguagem. Exemplo: eu tinha um amigo que usava todos os recursos do Borland Delphi, criando páginas da Internet e programas para bloquear máquinas em uma rede de computadores de uma lan house, e além disso ainda desenvolvia muito bem na área de banco de dados. Eu, no entanto, sempre aprendi apenas a área que tem relação com banco de dados.
A formação de um profissional em uma linguagem depende de uma série de parâmetros, mas geralmente a pessoa é introduzida por outra que conhece a tal linguagem. Claro que isso leva junto os vícios, defeitos e limitações da pessoa que ensinou.
Apesar de ter feito pequenos programas com o objetivo de desenvolvimento de raciocínio com as linguagens QBasic e dBase III Plus, a primeira linguagem que trabalhei profissionalmente foi o Clipper Summer '87, sendo que rapidamente migrei para o Clipper 5.0.
“Profissionalmente” aí está sendo utilizado muito livremente. Sem uma cultura teórica forte, fazíamos telas, menus e gravávamos variáveis, mas não tínhamos plano algum que permitisse a estruturação tanto do programa, quanto da empresa.
Tudo era pirata – inclusive a empresa – e bastante amador. Não havia documentação, não havia um teste adequado, os fontes dos bons programas se perderam – e dos maus, idem.
Limitados, a única realidade que nos interessava era a dos bancos de dados para pequenas aplicações comerciais, algo que foi abocanhado por empresas que desenvolveram bons produtos pautando-se pela eficiência e qualidade. Para a empresa em que trabalhava tivesse um lucro a mais, fornecíamos um pequeno curso de informática, e necessitando de profissionais para desenvolvimento ensinávamos banco de dados para eles – da mesma maneira tosca que havíamos aprendido, ou ainda pior, já que não tínhamos metodologia alguma.
O irônico era que embutíamos uma falsa urgência ao aprendizado de programas de banco de dados, simplesmente por que queríamos mais programadores.
Apesar disso, sempre tínhamos alunos.
Um caso que me recordo foi de um pai que trouxe o filho com 8 ou 10 anos para aprender. Perguntei se o menino sabia ler e ele respondeu que sim. Então expliquei que não tínhamos um curso voltado para crianças, era um curso de adultos que “aceitávamos” crianças somente pela questão financeira e que não havia nenhuma metodologia especial para tratar o caso. O pai concordou e o menino iniciou com MS-DOS, Fácil (um programa editor de textos), dBase III e Clipper 5.0 como qualquer adulto da escola.
* * *
Anos depois, já distante daquela escola, um cliente reclamou do visual de uma aplicação que criei para ele. Era funcional e fazia aquilo que ele queria, mas não era bela. Assim, no final dos anos 1.990 tive que iniciar uma migração para um ambiente visual e exatamente por que um dos colegas da época do Clipper estava desenvolvendo em Delphi decidi ir para esta linguagem.
Nota-se o erro!
Ainda sem um conhecimento estruturado, sequer procurei referência da linguagem. Poderia ter escolhido outras linguagens, mas fui para aquela por que conhecia alguém que poderia me ensinar. Mas naquele momento não pensei que ele poderia encontrar outras funções para seu próprio tempo e que em vez de me ensinar, passasse a corrigir meus erros sem que eu tivesse um aprendizado real.
E desta vez o estrago foi bem pior.
O Clipper é uma linguagem procedural onde em cada linha há uma instrução com parâmetros que uma boa literatura pode lhe fornecer. Um livro do Ramalho era nossa bíblia de referência e vinha com um longo programa de exemplo. Já o Delphi é uma linguagem/IDE de eventos, você faz algo como clicar num botão e cria um evento, você clica num campo de texto e acontece mais um evento que você tem que tratar.
Mas a documentação de banco de dados de Delphi já não é tão extensa em função da quantidade de realidades que podem surgir. São tantas as possibilidades para um ambiente visual que seria necessário verdadeiras enciclopédia para documentar tudo com exemplos. E nem aí seriam úteis, visto que poucos leriam tanta informação ou se dariam conta da utilidade daqueles exemplos.
De qualquer modo foi-me possível a aprender um mínimo que me permitisse migrar algumas aplicações e desenvolver outras a partir do zero nesta nova realidade.
Ainda assim, fazia apenas um terço do que produzia na linguagem anterior que já tinha controle total sobre a minha realidade e já programava até usando orientação a objetos.
No Delphi nunca passei de um programador que criava telas e relatórios mais simples.
Em parte tudo se deve ao fato de que neste momento já não desenvolvia em parceria e a curva de aprendizado era mínima. Desenvolvimento em parceria era algo que permitia um aprendizado constante, e anos depois quando estudei as disciplinas “Engenharia de Software” I, II e III se confirmou como acertado. Ambos os desenvolvedores aprendem e eliminam erros estruturais.
Achei então que tudo poderia se resolver quando finalmente estruturasse o meu conhecimento com o quê me faltava: a teoria.
E comecei um curso superior na área de informática.
* * *
A faculdade poderia ter me deixado melhor preparado para o mercado, mas a escassez de profissionais no interior fez a instituição contratar um profissional que trabalhava com Delphi. Tive boas notas e estruturei muito de meu conhecimento finalmente, mas o momento já era de outra linguagem: o Java.
O professor que já desenvolvia usando Delphi não acreditava no potencial de outras ferramentas para desenvolvimento. Como ele padecia do mesmo mal que a escolinha de informática onde havia trabalhado anos antes – a falta de profissionais – decidiu usar a instituição de ensino em que trabalhava como um laboratório para si próprio, ensinando, selecionando e treinando profissionais para sua própria empresa.
Se preocupou em ensinar aquilo que ele mesmo trabalhava para assim, tentar uma seleção de parceiros. Numa cidade pequena como a minha era uma oportunidade real de trabalho, ainda que educacionalmente falando você estaria relegando toda uma cultura de mecanismos de trabalho para se concentrar apenas naquilo que alguém desejava que você soubesse.
Veja bem, certamente o problema não era do professor que soube repassar os esqueletos de desenvolvimento, o problema era da coordenação que afastada da tecnologia (o coordenador tinha excesso de funções e tinha um “chamado” maior para a educação do que para a informática) não soube antever a próxima linguagem do momento – se bem que então já era o momento.
Convencido pela faculdade e pelo professor com quem tenho simpatias até hoje, comprei a briga e continuei com Delphi.
Arrependo-me amargamente quando vejo a lista de exigências de currículos para profissionais que dão ênfases em outros materiais que sequer vi na faculdade.
Cabe então uma reflexão sobre o papel do professor que deve ter uma visão além de seus interesses próprios e ver o mercado como um todo. Se vale para informática, vale também para filosofia e educação, entre outras, onde hoje é muito constante um doutrinamento em prol da esquerda.
Quanto a mim ainda novo de idade, comecei mais para migração que, assim como as outras, também é focada em banco de dados, apesar de saber das dezenas, senão centenas de utilidades desta linguagem.
Espero que quando eu dominar esta linguagem (quando será?) o mercado ainda esteva utilizando-a como agora e não exigindo profissionais com conhecimento em outra próxima e melhor linguagem.
No resumo da ópera ficam os conselhos:
1)Analise constantemente o mercado e veja se você preenche a lista de conhecimentos desejáveis para um profissional da sua área de atuação;
2)Apesar de antigas linguagens ainda estarem em uso, como o Fortran ou Cobol, verifique se a linguagem que você domina atende as necessidades do mercado. Não adianta a linguagem “X” ser mais poderosa que a linguagem “Y”, se a empresa que você deseja trabalhar tem uma cultura com a linguagem “Y” e os homens de negócio desta empresa desejam pessoas que trabalhem nesta linguagem.
3)Se atualize constantemente e veja os rumos que o mercado está tomando. Mesmo que você tenha uma posição segura na empresa em que trabalha utilizando a linguagem “X”, observe que talvez todo o mercado usa a linguagem “Y” - ou ainda a “Z”, a “D”, etecetera. Assim, reflita comigo: o quê acontecerá se, eventualmente, você ficar desempregado? Talvez tenha que aprender uma nova linguagem exatamente num momento difícil e cheio de pressões sobre você e ainda assim não conseguirá dominá-la à tempo.