Ambiente de trabalho – um fator importante porém negligenciado

Ao longo de minha vida profissional tive contato com inúmeras empresas, dos mais variados portes. Independente do tamanho e até das finanças, diria que grande parte delas negligencia um ponto muito importante: o ambiente de trabalho. Cadeiras não confortáveis, mesas pequenas, computadores obsoletos, iluminação inadequada e falta de isolamento acústico mínimo acabam prejudicando a produtividade de qualquer profissional.

Empresas pensam somente no resultado imediato, economizando na compra de mobiliário e equipamentos porém, na verdade, estão promovendo o inverso. Em médio prazo, esta economia traduz-se em gastos crescentes com profissionais tendo sua produtividade afetada. Mobiliário adequado, cadeiras confortáveis e ergonômicas, ambiente bem iluminado são as chaves do sucesso para o aumento da produtividade.

Um exemplo simples e com um investimento baixo e com resultado em curto prazo é o uso de dois monitores, ou mesmo um monitor com tamanho superior ao atual padrão de mercado. Se você não acredita, faça uma experiência. Inicialmente você pode até estranhar, porém, em poucos dias, verá que sua produtividade irá crescer. Faça o teste!

Falando de estações de trabalho, recomendo atualização de hardware anual. A velocidade das inovações disponíveis no mercado justifica tal prazo.

Para empresas de desenvolvimento de software que estão se estruturando para operar a partir de 2011 ou aquelas que pretendem atualizar seu parque de máquinas, recomendo o seguinte setup:

– Processador de seis núcleos com clock de 3GHz
– 4GB de memória RAM
– Dois monitores de 19”
– Disco rígido de 1TB 7200 RPM
– SSD de 256GB

Ressalto que a empresa deve adequar o hardware à sua área operacional. Uma empresa que desenvolve jogos, por exemplo, deve investir em uma placa de vídeo mais potente.

Outro ponto importante é a constante evolução dos softwares utilizados, mas este será o tema de um outro post.

O cliente auto-destrutivo

Um website é composto da união entre marketing, design e tecnologia da informação. Portanto, o planejamento deve estar presente na concepção estratégica, na criação do projeto gráfico e no desenvolvimento tecnológico. Quando uma empresa busca um profissional ou uma empresa para a implementação de um projeto web, na maioria das vezes as premissas básicas de projeto não foram cumpridas.

Um projeto web, assim como qualquer projeto, deve possuir um planejamento bem elaborado e com objetivos claros. O planejamento é uma técnica e, como tal, se aplica de acordo com a situação e a finalidade. O papel do planejamento é orientar o esforço do trabalho para a obtenção de um resultado.

Um website tem como objetivo principal atingir um nicho de consumidores e/ou potenciais consumidores. Para atingir este público é necessário estudo e criatividade. Qualquer atividade que envolva criação em seu processo, depende da liberdade para atingir seu objetivo com êxito. Diferente do trabalho executado por um arquiteto de casas, onde o objetivo principal é elaborar uma construção de acordo com os anseios do cliente, um arquiteto web deve implementar o projeto pensando no público alvo que, na maioria dos casos, não é a empresa contratante, e sim, os clientes desta empresa.

O principal, ao meu ver, é compreender exatamente o que o cliente precisa e então argumentar com o mesmo a melhor solução para as questões apresentadas. Clientes dos mais variados segmentos tendem a opinar no design e na navegabilidade do projeto web.

O papel de um arquiteto web é mapear o perfil do público alvo de um produto ou serviço e desenvolver o projeto de design e usabilidade focado neste público. Quando o cliente interfere incisivamente neste processo, o resultado final certamente fica comprometido. O cliente, por incrível que pareça, é um dos maiores responsáveis pelo fracasso de um projeto web.

Não adianta projetar um site de óculos para leitura baseado em uma resolução de vídeo de 1280×1024 e uma tipografia estilizada tamanho mínimo para um público que está buscando o site justamente para encontrar o produto que resolva seu problema.

Não há mais espaço para amadorismo. Se um cliente contratar você ou sua empresa para desenvolver um projeto web, busque sempre o êxito máximo. Somente profissionais qualificados tem a competência para elaborar e implementar um projeto alcançando o resultado esperado pela empresa. Portanto, estude e mantenha-se atualizado.

Saber ouvir

Encontrar a melhor solução para um problema começa por ouvir os envolvidos no processo. Entender o problema e debater é algo primordial. Várias vezes profissionais procuram entender o problema, porém, não debatem o mesmo com os envolvidos no processo. Desta maneira encontrar a melhor solução pode ser uma tarefa superdimensionada e nem sempre com sucesso garantido.

Isso me faz lembrar de um acontecimento interessante contato por um conhecido. Vejam:

Uma empresa grande que produz sabonetes, creme dental, que tem uma unidade no interior de SP, próximo a Campinas, recebia reclamações por ter fornecido caixa de creme dental vazia. A diretoria foi verificar junto a produção e detectaram que a maquina perdia o sincronismo com a esteira de transporte das caixas e as caixas eram fechadas sem o produto.

Com isso apuraram que precisariam resolver isso, pois as leis do consumidor existentes e a concorrência poderiam comprometer a credibilidade da empresa. Sendo assim, a diretoria se reuniu juntamente com os gerentes do setor e chegaram a conclusão que deveriam contratar especialistas para o assunto. Contrataram 3 engenheiros para desenvolver um método para resolver o problema.

Eles desenvolveram um equipamento com uma balança muito sensível e um braço acoplados na esteira, assim, sempre que a balança registrava que o peso estava abaixo do que seria com o creme dental dentro da caixa ele empurrava a caixa, esse equipamento teve um custo de R$ 8 Milhões.

Passou um mês, dois, três… observaram pelos relatórios que não tiveram mais problemas com reclamações.

Sendo assim, a administração foi verificar o equipamento e constatou que não estava ligado, ai perguntado aos operários por que o equipamento estava desligado?

Eles disseram que dava muito trabalho, além que, toda vez tinham que parar para que o braço empurrasse a caixa vazia, com isso resolveram desliga-lo, mas para isso fizeram uma vaquinha arrecadaram R$ 80,00 e compraram um ventilador grande com um pedestal, com isso sempre que surgia uma caixa vazia ela era soprada para fora da esteira não necessitando parar todo equipamento e também sem prejuízo na produtividade.

A situação relatada acima demonstra claramente que, se o problema tivesse sido debatido com outros membros da equipe, uma solução rápida e simples teria resolvido o problema. Portanto pense, e na próxima vez que for buscar a solução para um problema, ouça os envolvidos.

Empresas x Processos x Metodologias

Atuando como consultor me deparo com realidades diferentes em empresas dos mais variados segmentos e portes. O que mais me intriga é que, na maioria delas, metodologias são apenas buzz words (recursos comerciais) para se vender um projeto. O mais chocante é que nem mesmo processos existem!

Falando de ambiente de desenvolvimento, a realidade é ainda mais caótica. Falta de controle de versão, codificação sem padrão, arquitetura capenga, inexistência de testes e ambiente de homologação. Quando adentramos a plataforma de desenvolvimento a nuvem negra só aumenta. Um exemplo corriqueiro é a utilização de orientação a objeto de forma completamente distorcida, não aproveitando os benefícios da reutilização, herança, interfaces, entre outros.

A realidade é que as empresas ainda tem muito que evoluir, a área de desenvolvimento está muito aquém de sua capacidade produtiva.

E você, caro leitor, também constata esta realidade?

MeeGo – O substituto do Symbian é exibido pela primeira vez

Primeira aparição do MeeGo Mobile
Primeira aparição do MeeGo Mobile

A Nokia e a Intel, parceiros no projeto, exibiram nesta quarta (30/06/2010) imagens do novo sistema operacional para dispositivos móveis que irá substituir gradativamente o sistema operacional dos aparelhos da Nokia – o MeeGo. Baseado no Linux, o MeeGo também é um sistema open source.

A versão pré-alpha apresentada já exibe as características visuais conhecidas da Nokia, possui um browser baseado no Firefox e alguns recursos comuns em interfaces de touchscreen como teclado. Proprietários do modelo N900 podem, depois de algum esforço de compilação, instalar o sistema no aparelho. Ambos fabricantes alertam que a versão é apenas pra comprovar conceitos e que vários ajustes estão sendo realizados.

Para quem quiser conhecer melhor o novo sistema operacional: http://meego.com/

GlobalMoneyInput – Plugin de jQuery para digitação de valores monetários

Noticiei aqui no blog em meu primeiro post, em 15/06/2010, que a Microsoft havia realizado uma contribuição para o projeto jQuery com um plugin voltado para internacionalização, permitindo formatar números e datas.

Pois é, passados alguns dias surgiu uma necessidade em um projeto e utilizei o plugin. Porém, ao me deparar com a necessidade de permitir o usuário entrar com dados independente da localidade, não encontrei plugin para tal. Com isso resolvi implementar um plugin que fosse compatível com o Global, para aplicar máscaras em campos input para digitação de valores financeiros. Com isso surgiu o jQueryGlobalMoneyInput.

O jQueryGlobalMoneyInput é um plugin simples e direto. Ele basicamente possui dois métodos: maskMoney (para ativar a máscara) e unmaskMoney (para remover a máscara).


$('#yourMoneyFieldInputId').maskMoney();

Confira o plugin no site do jQuery, no Google Code ou no site que fiz para o projeto.

Você sabe HTML?

Em alguns momentos, quando vou selecionar profissionais para trabalhar em um projeto web, costumo fazer esta pergunta. A resposta é inevitavelmente “sim”. Normalmente após algumas poucas horas de trabalho com o profissional que respondeu a pergunta como sim, me deparo com um código bem aquém de alguém que possui conhecimento de HTML. Muitos acreditam que, se uma página aparece sem distorções no Internet Explorer, o código está correto. Comum engano.

Abaixo enumero alguns dos erros mais comuns:

  • Falta de definição de charset
  • Tags sem fechamento
  • Código CSS misturado com código HTML
  • Código Javascript misturado com código HTML
  • Falta de uso de tags básicas (como por exemplo H1)
  • Excesso de tags DIV
  • Tabelas utilizadas erroneamente para layout
  • Tabelas implementadas sem TBODY, TFOOTER e LEGEND
  • Legenda de campos de formulário sem LABEL
  • Links e imagens sem o atributo TITLE preenchido
  • Nenhuma preocupação com acessibilidade

Para quem trabalha e/ou pretende trabalhar com web, o completo conhecimento da linguagem HTML é um pré-requisito. Conhecer suas tags e saber aplicá-las corretamente é algo que diferencia um projeto de qualidade de algo feito por ditos “profissionais”.

Para ser um bom profissional web você deve, primeiramente, estudar HTML e acompanhar sua evolução.

Sencha Touch – Framework para desenvolvimento de aplicações para Iphone, Ipad e Android

Sencha Touch é um dos primeiros frameworks de desenvolvimento construído especificamente para dispositivos touch utilizando como base as tecnologias HTML5, CSS3 e Javascript. Com alto grau de potência e flexibilidade, a ferramenta permite facilitar o processo de desenvolvimento.

Confira o vídeo abaixo:

Sencha Touch
http://www.sencha.com/products/touch/

Linux responde por 91% dos sistemas operacionais de supercomputadores

A lista bienal do Top 500 Supercomputers (http://www.top500.org/) aponta o Linux como sendo o sistema operacional dominante na área de supercomputação. Abaixo um gráfico que ilusta a pesquisa:

Gráfico de uso de sistemas operacionais em supercomputadores
Gráfico de uso de sistemas operacionais em supercomputadores

O Top 500 Supercomputers cria e mantém esta lista bienal desde 1993 baseada na ajuda de pesquisadores, cientistas e fabricantes. O objetivo principal da lista é contribuir para a evolução da computação de alta performance, difundindo a informação.

Que tal utilizar ferramentas do Google por linha de comando?

Que tal adicionar um contato a sua agenda de contatos do Google direto da linha de comando? E adicionar um vídeo ao YouTube? Pois é, tudo isso já é possível graças a um projeto open source chamado GoogleCL.

Desenvolvido em Python, o projeto utiliza os recursos da API do Google para permitir tal integração.

Alguns exemplos de comandos possíveis:

google picasa create –title “Trip para Fortaleza” ~/fotos/fortaleza/*.jpg
google blogger post –blog “Meu Blog” –tags “viagem, fortaleza” meupost.html
google calendar add “Almoço com cliente”
google docs edit –title “Lista de supermercado” –editor vim

Ótima ferramenta pra quem utiliza as ferramentas do Google!

GoogleCL
http://code.google.com/p/googlecl