O valor do programador em tempos de crise

// Isto não é uma campanha do estilo “Pague bem seu programador”.

Quando alguém que não seja da área de TI pensa em desenvolvimento de sistemas, provavelmente acredita que para que um sistema seja criado precisa somente de um pouco de programação. Porém, alguém que já tenha participado de pelo menos um projeto de médio porte sabe que as coisas não funcionam bem assim. Podemos definir um projeto de sistemas pelas seguintes fases.

  • Definição do problema
  • Especificação dos requisitos
  • Planejamento das próximas fases baseado nos requisitos
  • Arquitetura do Sistema
  • Modelagem em alto nível
  • Modelagem mais detalhada
  • Programação
  • Testes unitários
  • Testes de integração
  • Integração das partes já desenvolvidas
  • Testes baseados nos processos funcionais do negócio
  • Correções e manutenções finais

Essa lista pode variar de acordo com o tamanho e formalidade do projeto. Mas em geral, projetos de desenvolvimento de sistemas passam por essas fases, mesmo que com outros nomes, aglutinadas em menos ou subdivididas em mais. Podem, inclusive, ser repetidas inúmeras vezes.

No entanto, por mais fases que existam, a programação acaba sendo a que demanda mais tempo no desenvolvimento do projeto. Mesmo ao utilizarmos o TDD, metodologia cujos testes representam um tempo considerável do projeto, estes não deixam de ser uma forma de programação. Logo, gerar linhas de código, ao invés de diagramas e modelos, é o que mais demanda tempo.

Ao iniciarmos nossas atividades na área da computação, seja ela no meio universitário ou profissional, é comum ouvirmos algo do tipo: “Programar não dá dinheiro. Análise, modelagem e gerência, sim”, mas associar salário a uma função pode não ser tão simples.

Se pensarmos em “responsabilidade atribuída“, podemos pegar como exemplo um motorista de ônibus. Este possui sob sua responsabilidade cerca de 50 vidas, entretanto não é uma profissão bem remunerada. Podemos pensar também em “nivel de escolaridade“. Mas aí temos muitos médicos que não ganham tão bem e que dependem de um valor/hora bem baixo pago pelos planos de saúde e hospitais. Por último, existe a questão “importância e contribuição para sociedade“, mas talvez seja melhor nem comentar os salários dos professores no Brasil… Com estes exemplos, podemos concluir que o fato de não ser bem remunerado não determina um bom profissional.

Então, para se ganhar dinheiro não bastar ser bom, ter um bom nível de escolaridade, um cargo de alta responsabilidade e ser diretamente responsável pelo desenvolvimento da sociedade. Tem que ser raro! De preferência um dos únicos. A raridade de um profissional é diretamente proporcional ao seu salário.

E estamos vivendo uma época em que faltam analistas. Mas analistas que metam a mão na massa. Definitivamente, bons programadores são raros de achar.

Um dos ditados mais conhecidos é “tempo é dinheiro”. Não seria em desenvolvimento de sistemas que isso seria diferente. Tanto que nesse ramo a cobrança é feita por hora. E como programação é o que demanda mais tempo do projeto, o cliente paga mais por programação do que por modelos.

Para quem não trabalha diretamente com tecnologia da informação, um sistema é visto da seguinte maneira:

Entrada –> Transformação–> Saída

Não importa a quantas fases são necessárias, a quantidade de camadas usadas, as madrugadas em frente ao computador. Só o que interessa para o cliente é entrada, transformação e saída. E em tempos de crise, todas as áreas estão propensas a cortes, por isso, chega a ser comum ouvir dos próprios clientes e usuários que não é tão necessário pagar por análise, modelagem e testes. Quem trabalha com desenvolvimento de sistemas sabe da necessidade de uma boa análise, modelagem e testes minuciosos. E o objetivo desse post não é discutir sobre a importância desses três ou mais itens.

Mesmo em tempos de crise, mesmo com clientes que não entendam absolutamente nada de sistemas, mesmo que a programação seja a fase mais demorada e cara de um projeto de desenvolvimento de sistemas, esta nunca é vista como desnecessária. Até porque, mesmo que o cliente não entenda nada, sabe que um documento do Word sozinho não irá resolver seu problema. E por mais importante que seja cada fase mencionada no início do post, sempre terá um cliente disposto a não pagar por todas e um fornecedor disposto a não usar todas. Faz parte do mercado.

Isso significa que independente da quantidade de fases no projeto, sempre haverá espaço pra quem faz a coisa acontecer: os programadores.

Acredito que se você puder escolher trabalhar em uma empresa onde não seja necessário bypassar fases importantes por pressão do mercado, esta seja a melhor escolha. Mas se a escolha for outra, tenha a certeza de cobrar pelo risco de passar finais de semana e feriados reprogramando o que não foi devidamente especificado e testado. O importante é que com crise ou sem crise, podemos dizer que o valor do programador está em alta.

Vivendo os problemas alheios

Durante as gravações de Ray, cantor e compositor cego, Jamie Foxx manteve seus olhos tampados 14 horas por dia enquanto gravava. Isto para ter uma maior experiência sobre a vida de uma pessoa com deficiência visual.

Leonardo DiCaprio aprendeu a falar árabe para atuar no filme Rede de Mentiras.

Christian Bale emagresceu 28 quilos para fazer o filme O Operário.

Christian Bale, O Operário

Christian Bale no filme O Operário

Todos eles fizeram esses esforços para poder entender melhor a vida de seus personagens e reproduzí-los de forma mais realista para os espectadores. Certamente estes hábitos os ajudaram a entender melhor os problemas vividos e suas necessidades.

Provavelmente, se nenhum desses esforços fossem feitos, os filmes seriam reproduzidos da mesma maneira. Porém, não seriam tão convincentes. Perderiam a “mágica”. Possivelmente continuariam sendo o mesmo sucesso de bilheteria que cada um foi. Não se sabe exatamente qual foi diferencial ocasionado por cada um desses esforços, pois os filmes nunca foram feitos sem eles. Portanto, impossível de haver uma comparação.

Mas os esforços foram feitos, e acredito que cada um dos atores sabe porque fizeram e suas consequências diretas em suas atuações.

Isto porque a vivência e a experiência são insubstituíveis para compreender uma determinada situação. Tentar entender como vive um cego simplesmente ouvindo e lendo relatos, porém ainda continuar enxergando torna-se impossível de compreender. Deixar os olhos tampados durante o dia fez com que Jamie Foxx soubesse de forma muito mais real o que é ser cego. Somente algumas reuniões para tentar entendê-los não bastariam.

Fazendo uma comparação com análise de sistemas, é possível perceber que fazemos tudo errado. Justamente o contrário dos atores citados. Sempre falamos da importância de especificar os requisitos, porém, antes de desenvolver um sistema, nos reunímos com os únicos interessados e ficamos ouvindo, anotando, ouvindo, anotando, …. . Quando estes interessados não se lembram de mais nada de relevante, simplesmente terminamos a reunião e entramos numa caverna para “analisar” de bem longe os problemas vivenciados por aqueles que estão necessitando do sistema.

Nenhuma empresa contrata alguém para desenvolver um sistema e aceita ficar pagando para que esta pessoa fique simplesmente olhando o usuário trabalhar por muito tempo. Todos querem resultados rápidos.

Ficar olhando o usuário, trabalhando junto e fazendo as mesmas tarefas seriam o ideal. Pouparia tempo de algumas reuniões, e, provavelmente, teria menos retrabalho em partes do sistema em que o analista não soube compreender direito o que o usuário desejava.

Mas como toda metodologia ideal, financeiramente é inviável de ser feita por completa. Por tanto, mesmo que todos os personagens influentes em análise de sistemas escrevessem livros sobre isso e provassem que funciona, ninguém faria.

Então, para começar dá pra passar uma tarde, um dia. Quem sabe uma semana, só pra ver no que vai dar.

É claro que isso não é tempo suficiente para acabar com as reuniões de especificação de requisitos. E talvez nunca seja possível, afinal é importante formalizar as especificações compreendidas.

Mas caso tenha um pouco de tempo, não custa (muito) tentar.

Idiota, mas só por uma semana

Quando se está trabalhando com desenvolvimento de sistemas, principalmente na fase de implementação, é comum perdermos muito tempo resolvendo problemas não planejados. Isto é, em sua maioria, não estimados, que por consequência, não cobrados.

Em geral pensamos que faz parte. Porém, em alguns destes problemas, para não dizer a maioria, depois de resolvermos, ficamos com cara de idiotas, olhando a besteira que foi para resolvê-lo. Praticamente uma linha de código modificada e pronto. Tudo resolvido. Mas e quase uma semana que foi para descobrir que o problema era só aquela linhazinha? Passou tão rápida que nos reforça ainda mais a cara de idiota.

A pouco tempo tive um dessas.

Sou bem metódico ao colocar comentários no código. Mas o que me deixou fulo, foi não lê-los. Justamente aquilo que é feito para nos ajudar, atrapalhou.

Bem, vai a dica depois de um tempo tentando colocar o AutoComplete do Ajax Control Toolkit para funcionar sem sucesso.

Depois de seguir o passo-a-passo das video-aulas, ler todos os exemplos possíveis e imaginários, ter certeza que não há nada mais para ser mudado, e mesmo assim continuar não funcionando sem aparecer nenhum erro para dar uma dica que seja, DESCOMENTEM A SEGUINTE LINHA:

// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
//[System.Web.Script.Services.ScriptService]  <– Esta linha
public class AutoComplete : System.Web.Services.WebService
{
….
Pronto.

E todos viveram felizes para sempre…

 

 

 

 

… mesmo que com cara de idiota.

Infiel, eu sou

Segundo o Wikipedia, livre-concorrência é “Situação do regime de iniciativa privada em que as empresas competem entre si”.

 A primeira vista, a concorrência perfeita faz com que os preços sejam determinados pela oferta e pela procura, o que acaba sendo, na maioria das vezes, um benefício para nós. Porém, além do preço final, a concorrência faz com que o produto melhore a qualidade, melhore os serviços agregados, e em alguns ramos, aconteça uma corrida tecnológica.

Somos consumidores, clientes e usuários finais. Não necessariamente nessa ordem e às vezes tudo junto. O problema está quando passamos a ser torcedores. Podemos ser torcedores do Flamengo, Corinthias ou Vasco. Gritar com toda força “Flamengo até morrer”, ou algo do gênero. Mesmo em uma fase ruim, estamos lá, torcendo pelo nosso time do corãção. Mas ser um torcedor da Microsoft, Apple ou qualquer outra empresa de qualquer outro ramo, nunca! Jamais!

Antes de tudo, as empresas têm que nos conquistar. Com seus produtos, garantia, atendimento e serviços que nos facilitam a compra e a utilização do produto. Conseguindo manter um preço bom, melhor ainda. E depois que damos nossa confiança a marca, ela ainda tem uma tarefa muito importante: continuar nos conquistando, claro. Porque senão a deixamos, sem nenhum ressentimento.

Só porque gostamos e nos adaptamos com determinado produto, não faz com que tenhamos que vestir uma camisa da empresa e nos tornarmos vendedores sem ganhar um centavo por isto. Esse trabalho que fique com os que tem carteira assinada para tal.

De fato, nenhum produto é perfeito. Quanto mais a empresa que criou. Sempre existirá espaço para melhoras e para novidades. E o nome disso é oportunidade. Mesmo que um produto seja líder absoluto nas vendas e com uma fatia esmagadora de market-share. Existe uma infinidade de empresas que viram sua fatia diminuir. A Sony criou o primeiro toca-fitas, o primeiro discman, mas deixou o mercado de MP3 Players escapar pelas mãos (Pelo menos, por enquanto). Vejam só o Lotus123, ICQ e Netscape. A IBM balançou algumas vezes. Exemplos não faltam. E tudo isso aconteceu por causa de alguma evolução, alguma coisa diferente. Aquilo que ninguém pensou que poderia acontecer. Mas infelizmente, em pleno século XXI, ainda existem pessoas que não acreditam nisso.

Um dos problemas que acaba com a evolução e com a livre-concorrência é alguma das milhões variações das seguintes frases:
“Não troco meu iPod por nada nesse mundo!”
“Não consigo me imaginar usando outro sistema operacional que não seja Windows XP!”
“As batatas do McDonalds são as melhores, então nem experimento outras.”
Pessoas que pensam desta maneira estão fadadas a trabalhar com uma ferramenta arcaica durante um bom tempo. E se o mundo dependesse delas, estaríamos acendendo nossas lareiras batendo pedras.

Por isso dependemos de uma mente aberta. Assim nós poderemos sempre ter acesso ao bom, bonito e barato.

Gostaria de terminar este post com um juramento. O juramento dos não fiéis. A todos os outros que quiserem, podem levantar a mão direita e repetir em voz alta. ( Mas se quiser só ler e fazer já tá bom. )

“Enquanto meu salário não estiver associado a vender determinado produto em nome de tal empresa, serei fiel apenas ao que funciona e ao que melhora minha qualidade de vida! ( e ao meu bolso! ). Estarei sempre atendo as novidades do mercado, não acreditando somente no que dizem as propagandas, não fazendo ou comprando algo porque todo mundo o faz. Consumirei meus produtos sem fazer distinção de marcas. Serei um eterno solteiro, sem me comprometer em nenhum tipo de relação conjugal com qualquer empresa.

São com essas palavras, que eu concedo a mim mesmo, o direito de ser infiel! Amém!”

Um pouco de Coca-Cola para Microsoft

Os comerciais da Pepsi e da Coca-Cola sempre foram muito interessantes, e em alguns casos, ousados e inovadores. Mas sempre existiu pelo menos um diferencial. Era muito mais comum ver nos comerciais da Pepsi um ataque direto e explicito ao seu maior concorrente. Mesmo que mostrasse a marca sem nenhuma preocupação.

Podemos ver alguns exemplos.

Sem dúvida são propagandas excelentes. Em especial a do garoto na máquina de refrigerantes.

Porém, para tudo existe um motivo. A marca da Coca-Cola é muito mais valiosa que a da Pepsi. Quatro vezes mais para ser mais exato. Enquanto a primeira tem seu valor em cerca de US$60 bilhões, o valor da segunda é de aproximadamente US$15 bilhões. Os valores exatos são uma pequena variação desses, que a cada ano modificam-se um pouco. Mas a Coca-Cola teve sua marca com o título de a mais valiosa do mundo durante muitos anos, até ter sido superada pelo Google.

Estes valores são estimados de forma bem mais complexa, mas para não se prolongar muito, pode-se acreditar que são uma conseqüência da marca da Coca-Cola chamar quatro vezes mais atenção que a da Pepsi. Por este motivo é válido colocar a marca da concorrente na propaganda, aproveitando-se do seu sucesso.

De forma muito semelhante ocorrem casos entre Microsoft e Linux. Porém, isto vem dos próprios usuários, e não das corporações em si. Podendo virar até uma religião de fanáticos. A discussão entre Linux e Windows é muito válida, já que troca de opiniões são sempre importantes, porém, esta, pode ser eterna.

Certamente que sistemas operacionais possuem muito mais a se comparar do que refrigerantes. O problema é quando entra o fanatismo, e os usuários passam a querer a destruição do outro sistema, ou então, simplesmente vira aquele vendedor chato que não larga do seu pé, fazendo qualquer coisa para te convencer que o produto dele é melhor.

E é exatamente nisto que os amantes de Linux pecam. Boa parte dos usuários estão acostumados a usar Windows, e se satisfazem por seu sistema operacional permitir que o seu e-mail seja checado, mensagens instantâneas sejam trocadas pelo Messenger e seu perfil no Orkut seja atualizado. Por incrível que pareça, muitos utilizam o seu computador apenas para estas tarefas simples – vide os famosos autores das “Pérolas do Orkut“. Desta forma, falar mal do Windows só fará com que o usuário-vendedor-amante de Linux perca sua credibilidade com muitos usuários.

Amantes do Linux, enalteçam seu sistema o quanto quiserem! Mas deixem o meu fora disso! Independente de qual for o melhor ou pior, mas que cada um viva sua vida de forma feliz. Deixemos que a corrida pelo maior número de sistemas operacionais instalados fique com as empresas. Pois esta é a missão delas. A nossa é escolhê-los e usá-los.

Se mesmo assim quiser opinar, criticar ou contribuir de qualquer forma, que se faça no lugar certo. Tenho certeza que sugestões são muito bem vindas pelos fabricantes:
Microsoft
Fedora
Ubuntu
Slackware
openSUSE
Mac OS

Hasta La Vista, Vista!

Muito se tem reclamado da autocracia da Microsoft de não disponibilizar mais o tão estável Windows XP, e obrigar nós, mortais usuários finais, a utilizar o famigerado, instável, lento e pouco aceito por periféricos Windows Vista.

Certamente existe um enorme conforto em não mudar de sistema operacional, principalmente se o que você já tem está funcionando bem. Ter que transferir todos os seus documentos e instalar todos os programas pode ser um pouco trabalhoso, ainda mais não tendo absoluta certeza que tudo irá funcionar bem.

Com tanta reclamação e tantos “problemas”, deveríamos esperar que as vendas do Windos Vista fossem uma desgraça. Acontece que o Vista está vendendo que nem água no deserto! Batendo todos os recordes de vendas!

Será mesmo que está vendendo tanto?
Não estou insinuando que a Microsoft está fraudando essas informações. Porém o Vista não está vendendo tanto assim. As pessoas não vão as lojas e pedem pelo sistema operacional.

O que está ocorrendo é que a venda de notebooks e computadores de legalizados de marca estão batendo todos os recordes. E não só em países desenvolvidos. Aqui no país do presidente analfabeto também! Algo nunca visto por aqui antes.

Quando a Microsoft lançou o Windows 95, os computadores de marca passaram a vir com o novo sistema instalado. No lançamento do Windows 98, idem. Só que como a venda de máquinas Xing-Ling era muito maior - existiu uma época em que a venda de computadores Xing-Ling era de 90% do mercado – esta nova adaptação na base da ditadura não era percebida. Simplesmente aquele menino da informática colocava o sistema operacional que estávamos acostumados, e acabávamos mudando bem depois do lançamento. Tempo suficiente para todos os periféricos estarem compatíveis com o sistema operacional mais atual.

A pequena quantidade de novos adpetos do novo sistema operacional logo após o lançamento não fazia tanto estardalhaço. E convenhamos, naquela época, quem instalava o recém lançado é porque gostava de testar as novidades do momento e tinha um interesse maior pelo assunto. Provavelmente era um nerd, daqueles que são amantes de Star Wars e não muito habilidosos para conquistar mulheres.

Agora usuários finais reclamam da obrigatoriedade de usar um lançamento pouco estável e compatível com o resto de suas bugigangas virtuais. Estão com todo o seu direito. Mas só agora estão reclamando? Há pelo menos 13 anos a Microsoft faz isso e até então isso nunca foi motivo para revoltas e cartinhas para o jornal.

Podiam pelo menos se informar um pouco mais. É possível, sim, utilizar a licença mais atual em versões anteriores. Downgrade é permitido. Maiores explicações aqui.

Só pra deixar claro, estou muito satisfeito com meu Vista e não estou fazendo nenhum tipo de campanha para as pessoas fazerem downgrade. Mas se não gostou do novo, mude e pronto.

Aliás, eu gostava bem mais daquele modelo mais antigo do Pálio. Aqueles primeiros modelos mesmo, de uns cinco anos atrás, com a traseira mais arredondada. Vou mandar uma cartinha pro jornal reclamando que a Fiat não está mais vendendo carros naquele modelo. Quem sabe ela me escuta e não faz um modelo especial pra mim?

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.