Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina

domingo, 30 de setembro de 2007

O bom estagiário de TI (ou outro qualquer)

Ser estagiário é o primeiro passo para o profissionalismo mas, ao mesmo tempo pode-se tornar um passo para o limbo. Se você é ou será estagiário, veja aqui como aproveitar ao máximo este período e tornar-se um profissional requisitado.

Engraçado que nunca fui estagiário. A vida me tirou do banco da escola diretamente para o profissionalismo e se vão quase vinte anos desde que isso aconteceu. Dizendo isso você pode estar pensando "mas como está escrevendo sobre este assunto se nunca passou por isso?" Bem, eu não preciso ser um hobbit para escrever sobre a Terra Média não é mesmo? A experiência destes anos todos levou-me a ter sob custódia dezenas de estagiários os quais sempre tentei mostrar que aquele período de "molho" era simplesmente uma etapa a ser transposta para o futuro de sua carreria. Neste meio tempo aprendi com eles principalmente como não ser um estagiário. Quer ouvir um pouco? Então vamos lá.

Um pouco de teoria

Pela atual legislação de nosso país (lei aprovada em 27/06/07(1) na Câmara dos Deputados(2)) o estágio é "o ato educativo supervisionado, desenvolvido no ambiente de trabalho, que visa a preparação metódica para o trabalho de educandos que estejam frequentando o ensino regular, em instituições de educação superior, de educação profissional e de ensino médio". Trocando toda esta fala bonita em miúdos, o estágio é aquela educação dentro do ambiente de trabalho onde o futuro profissional irá exercer sua profissão, servindo para que este possa colocar em prática o que está ou esteve aprendendo no banco da escola, com supervisão de um mentor.

Dito isso alguns leitores poderão já dizer: "mas o estágio que conheço não é nada disso, é trabalho forçado!". Eu sei nobre colega. E não somente eu, mas parece que nossos legisladores também acordaram para o fato que muitas empresas estavam usando o manto do estágio para mão-de-obra barata, principalmente por não incidirem vários impostos e tampouco ser caracterizado vínculo empregatício com a empresa. Mas vamos deixar de lado a questão legal e trabalhista do assunto pois ela pode ser vista em vários sites na Internet(3) e também lendo o projeto de lei aprovado na Câmara. Vamos falar sobre o estagiário, vamos falar de você.

Lembro-me ainda hoje de um dos melhores estagiários que comigo trabalhou. Garotão ainda, tinha acabado de sair da faculdade. Boas notas, se virava bem no inglês e no espanhol e tinha um "quê" de diferente de todos os que entrevistei. Alguma coisa me dizia que ele seria futuramente um ótimo profissional e resolvi contratá-lo. Na primeira semana de estágio, ainda meio fora de forma e duro no teclado, faz um DELETE FROM tabela sem uma cláusula WHERE. Resultado: todo o banco de dados de um dos nossos clientes desapareceu em questão de segundos. Branco como vela, veio me contar sua proeza e saber como poderia voltar atrás, mas já tendo a certeza que estaria no olho da rua. Ao contrário do que pode-se imaginar, somente recuperei um backup com os dados e expliquei que quando se apaga, tem-se dizer o que está se apagando. Para encurtar a história, nunca mais cometeu o mesmo erro, aprendeu e hoje é um profissional que tenho o prazer de, sempre que posso, carregá-lo comigo para trabalharmos juntos.

Voltando da historieta, muitos estudantes odeiam estágio. Alguns inclusive tentam tudo para não estagiar. Acham que é uma grande besteira e somente uma imposição da instituição de ensino que frequenta. Longe disso, o estágio é o "warm-up" de uma carreira e quando bem aproveitado (e supervisionado) pode se tornar um perfeito laboratório principalmente para aprender como fazer e como não fazer as coisas. Desta forma, o aproveitamento do estágio não é somente uma questão de "cumprir horas", mas sim poder estar na tenra idade diante de bons (ou maus) profissionais que irão balizar aquilo que irá fazer no futuro. E o que você, como estagiário pode fazer para tornar este treino uma pole-position?

Seja responsável

Claro que as baladas, viagens e oportunidades de paqueras mil fazem a cabeça de qualquer garoto pirar. Esta é a época do deslumbre, do descobrimento, da experimentação. Mas responsabilidade deve ser o primeiro ponto a ser levado em questão quando se está estagiando. Tire da cabeça que por não existir um vínculo empregatício com a empresa que você é turista e pode entrar ou sair a hora que bem entender. Também existem tarefas que devem ser feitas e nós, profissionais, pouco queremos saber se por causa de um porre da noite anterior você não terminou determinado código. Isso é problema seu e que está criando um outro problema. Então meu amigo, responsabilidade! Se quer passar o fim de semana na orgia com aquele monumento que conheceu numa balada, sem problema nenhum. Mas não se esqueça que na segunda-feira seguinte estão esperando você no escritório, mesmo que seja numa maca.

Mas a responsabilidade vai muito além disso. Ela passa também pelas questões de informações sigilosas, dos equipamentos que usa e até mesmo pelo que escuta nos corredores. Sempre fique atento no que está fazendo e pense sempre se são corretas suas atitudes. Estágio não é playground, é trabalho e futuro (o seu).

Aquele que é responsável possui pontos muito grandes sobre o gênio indomável. É uma pessoa que pode-se contar sempre e que não precisa ser monitorada constantemente. Mas cuidado, ser responsável não é ser escravo. Jogue limpo para que joguem limpo com você em todas as oportunidades. Faça a sua parte com responsabilidade e aprenda a falar não quando não existe como fazer algo. Milagre é coisa rara até mesmo para os mais fervorosos.

Não tenha vergonha

Você não é um profissional e por isso não é obrigado a saber tudo. Aliás, mesmo os profissionais de longa data não sabem tudo. Diante deste fato não tenha vergonha de dizer "não sei" e inclusive aproveite este "não sei" ao seu favor: "eu não sei como se faz isso, mas vou procurar aprender para lhe dar uma resposta". Com isso, fica caracterizado que você é honesto e também interessado em solucionar os problemas que aparecem em sua frente.

Fuja dos chavões "isso é fácil" ou "isso é bico". Um pequeno código pode se tornar uma dor de cabeça tremenda e você ficar em falta com sua palavra. Dê sempre certeza no que fala, mesmo que seja para "não sei". É preferível um não sei com 100% de certeza do que um "eu sei" com 50%.

Comporte-se

No mundo da programação não é raro ver empresas que aceitam profissionais de todas as tribos. Cabeludos, nerds, roqueiros, almofadinhas e todo o tipo de expressão pessoal. Mas convenhamos, não é nada legal você estar em uma empresa onde todos usam gravatas e você aparecer de skate e camiseta do Sepultura. Nada contra, cada um tem seu jeito e sua forma de ver o mundo. Mas se você não suporta um terno, não invente de trabalhar em uma companhia onde este é o "uniforme" do dia-a-dia. Procure uma que aceita seu jeito de ser (ou que incentive, inclusive) para que possa fazer sua parte sem pressão de todo mundo comentando sobre o "maluco de TI".

O comportamento não é só a vestimenta, mas também aprender a falar e ouvir. Nada mais chato que aquele contador de vantagens, piadas ou pior, de casos. A empresa não é mesa de bar e alguns de seus colegas podem até achar engraçado na primeira vez. Depois, começa a se tornar chato e sua imagem horrível. Cuidado com o que fala e para quem fala. Seu superior não é "meu" e tampouco "mano" e a secretária do departamento não é "aquela gostosa". As pessoas possuem nomes e títulos que, aceite você ou não, devem ser respeitados. Ou você gostaria que seu estagiário o cumprimentasse: "aí mano, certo?!" Coloque-se na posição deles no futuro pois certamente lá estará.

Curiosidade não mata o gato

O que mais prezo numa pessoa é a curiosidade. O questionamento do "por quê" determinada coisa é assim e não assada fez com que tenhamos hoje telefones, carros, aviões, satélites e tudo o que a vida moderna nos proporciona, sendo certamente a grande mola das invenções humanas. Via de regra quando se está na etapa do estágio, se é jovem com todo o gás. Então o necessário é dar vazão a este gás de uma forma direcionada, aproveitando o conhecimento daqueles que já estão na estrada há mais tempo e questionar, perguntar sempre.

A maioria dos estagiários toma uma atitude passiva diante de tudo aquilo que é apresentado, se tornando então um robô. Vá além disso, querendo saber como seu colega chegou a determinado objetivo, que caminhos traçou, como transpôs os obstáculos e anote tudo. Esta bagagem será de grande valia em seu futuro como profissional.

Ser curioso não é visto como um problema, mas sim como uma qualidade pouco aproveitada nos dias de hoje. Entretanto tome cuidado com a dose. Algumas coisas não se deve perguntar pois o nível de responsabilidade ou ainda os perigos existentes no conhecimento sobre determinado assunto podem lhe trazer problemas.

Aproveite-se da empresa

A maioria das empresas (principalmente em TI) possuem uma vasta literatura técnica e também uma profusão de softwares que você pode estudar e ampliar seus conhecimentos. Algumas delas inclusive incitam seus estagiários a estudar além do que a escola ensina, seja por meio de cursos de idiomas, certificações ou ainda cursos internos. Participe de tudo, mostre interesse e amplie seus conhecimentos. Aproveite-se destas oportunidades para melhorar seu curriculum e ampliar suas oportunidades no futuro.

Mas aproveitar-se não quer dizer que você pode pegar aquele manual do Counter Strike e imprimir naquela maravilhosa laser colorida em alta resolução. Isso é falta de responsabilidade. Da mesma forma, não faça cópias de softwares que não permitem cópias e tampouco instale em sua máquina aplicativos que não são aceitos. A questão de segurança é muito importante dentro do mundo corporativo e não é feita para dar emprego para determinados profissionais. Esqueça o regojizo de usar a rede corporativa como seu centro de downloads de filmes e músicas. É melhor pegar a grana do estágio e pagar uma linha DSL em casa e deixar sua máquina o dia todo fazendo download (lembra-se da responsabilidade?).

Crie sua rede de contatos

Também conhecida como networking, a rede de contatos é aquela que lhe trará as melhores oportunidades e posições no futuro. Acredite, ela realmente funciona tanto para o lado bom quanto para o lado ruim. Se você é um bom profissional, competente e responsável, certamente seu ex-colega de trabalho ou superior tecerão as melhores palavras sobre você quando precisar usá-los como referência. Mas se ao contrário disso os defeitos superam em muito as qualidades, pode ter certeza que terá que mudar de cidade. Neste aspecto o dito popular que notícia ruim é mais rápida que rastilho de pólvora cabe com perfeição.

Cuidado! Rede de contatos não é Orkut e tampouco Facebook. Se você quer criar uma rede de contatos online, use uma das várias corporativas existentes. As anteriormente citadas servem mais para fofoca do que qualquer coisa. Ademais, não é colecionando figurinhas num site que se cria uma rede de contatos. É necessário efetivamente ter contato com a pessoa, ligar em seu aniversário, convidar para um happy-hour ou almoço, se fazer presente. Da mesma forma, ser solícito quando necessário é algo que sempre conta e também muito lembrando no momento de uma recolocação. Ninguém vai deixar de falar que você sempre ajudou, sempre apoiou e sempre foi "pau prá toda obra". Somente tome cuidado para não se tornar um verdadeiro puxa-saco. Estes morrem afogados.

E no frigir dos ovos

Se você quer realmente ser um profissional, aja como tal. Uma pesquisa(4) realizada por um dos maiores grupos de RH do país em 2004 mostra que somente 6% dos estagiários são efetivados. O problema: falta de profissionalismo. O estágio deve ser visto como parte de sua carreira e não somente como uma tarefa a ser executada. Tenha paixão no que faz e faça bem feito. O mercado procura bons profissionais e estes muitas vezes são ou foram estagiários comprometidos não somente com o que trabalham, mas também com tudo a sua volta. Se você não faz a sua parte, infelizmente não podemos fazer a nossa.

Sucesso!

sábado, 29 de setembro de 2007

Mitos SEO - não se deixe enganar

Caros amigos! Hoje descobriremos quais são os principais mitos na área de SEO. O assunto é polêmico, portanto comentem e dêem sugestões. E lá vamos nós.

Para quem não sabe, SEO é a sigla de Search Engine Optimization. Ela consiste nas estratégias para melhorar, de forma racional, a visibilidade de um site nos resultados da busca natural nos sites de busca. Em resumo, seria como aparecer no Google quando se busca por algo. Mostrar que o SEO é importante para um site não é difícil.

O problema é que ele é uma ação sem garantias. Ninguém pode prometer que um site ficará em primeiro lugar nos resultados. Mesmo assim, vejo muitos aproveitadores tentando enganar gente honesta com promessas. Achei legal escrever um artigo com os cinco maiores mitos SEO para evitar. Com isto fica fácil identificar quando um espertalhão tenta roubar o dinheiro suado dos donos de site.

Técnicas de Black Hat SEO valem a pena?

Existem técnicas de SEO que não são bem vistas pelos sites de busca, podendo causar até punição. Elas são conhecidas como técnicas de chapéu preto, em alusão aos hackers do lado negro. Estas técnicas costumam ter um retorno maior e mais rápido que as técnicas de Chapéu Branco que são as boas praticas de SEO, porém evite a tentação de ganho rápido. A BMW já aprendeu a lição. http://www1.folha.uol.com.br/folha/informatica/ult124u19612.shtml Ela foi retirada do Google por apresentar versões diferentes do site para pessoas e para os robôs de busca, conhecidos como crawlers. Em hipótese alguma arrisque técnicas de Black Hat.

Não cadastre seu site em 9.743.529 sites de busca

De que adianta ter seu site cadastrado em milhares de sites e diretórios web se 80% das buscas estão concentradas nos três maiores site de busca. Ter o seu site cadastrado em diretórios é importante, por que cada link apontando para o seu site conta como um voto para aumentar a popularidade do site, mas cuidado com a dose. Existem, por exemplo, ferramentas que cadastram em milhares de sites de busca simultaneamente. Utilizar estes cadastros pode até ser considerada técnica de spam e ser punida pelos sites de busca, por isto muito cuidado. Outro problema e participar de fazendas de links, que são sites que existem apenas com a intenção de aumentar a popularidade dos sites linkados. A fazenda de links não são bem vistas pelos sites de busca.

Não basta espalhar palavras-chave pela página

Ter palavras-chave no documento é importante, mas não significa que você deva encher a página com elas. Tudo deve ser feito com bom senso. Não esqueça que as páginas devem ser feitas para pessoas e não para robôs de busca. Além de ficar estranho para uma pessoas ler o texto alguns sites de busca já conseguem identificar páginas entupidas de palavras-chave e diminuem a relevância delas. Fique atento que existem vários outros fatores influenciam o posicionamento, como o texto do link que aponta para a página. Escreva de uma forma agradável e útil ao seu visitante. Ele vai ficar grato e possivelmente pode ter um link apontando para a sua página com a palavra-chave de forma natural.

Meta tags não são a base do SEO

Já faz tempo que elas perderam a força. Ele serve mais como exercício de boas práticas e para ser exibido no texto da página de resultado de uma busca. O spam nas meta tags é considerado crime http://www.out-law.com/default.aspx?page=29&terms=meta+tag e já rendeu até 20 anos de prisão nos estados unidos para spammers.

Garantimos seu site no topo dos sites de busca?

Na busca orgânica, ninguém tem como garantir a primeira posição ou qualquer posição que seja. O sistema para rankear os resultado nos sites de busca são desconhecidos. O que os costuma acontecer é o uso de estratégia de confundir o cliente por parte de aproveitadores. Uma das estratégias e escolher um conjunto de palavras-chave como "placebo barato". Como só existe no site do cliente, a busca pelo termo acaba aparecendo nos primeiros resultados das buscas. O que acontece é que como ninguém vai procurar por este termo ou não serão geradas visitas relevantes. Outra estratégia é vender o serviço como SEO, prometendo os primeiros resultados, e na verdade eles utilizam links patrocinados por um tempo com valor do clique alto.

Quanto mais gente aprender a evitar estas roubadas, melhor ficará o mercado de busca no país.

Quem faz o profissional é você.

sexta-feira, 28 de setembro de 2007

SEO na prática

SEO na Prática

O SEO(Otimização para Ferramentas de Busca) muitas vezes é visto como magia negra, por conta de práticas não muito éticas empregadas por alguns profissionais, porém, quando bem utilizada, torna o seu site melhor de ser navegado e conseqüentemente, melhor posicionado nas ferramentas de busca. O objetivo não é ficar em primeiro lugar e sim tornar o seu site legível para as ferramentas de busca.

Antes de mais nada, tenha em mente que este é um trabalho à longo prazo. O seu site deve ser cuidado como uma árvore. Não basta plantar a semente e esquecê-la. A chance de passar um esquilo e comer a semente é grande.

Para que você otimize o site, existem dicas práticas. Comece pensando nos seguintes ítens:

- Conteúdo.
- Navegabilidade.
- Página.
- Submissão de site.
- Palavra-chave.
- Links relacionados.

Conteúdo

Tenha um conteúdo de qualidade relacionado ao assunto que o seu site trabalha. Se o site é de uma oficina mecânica, fale sobre peças novas, dicas de manutenção, veículos novos... Tenha um página atualizada, viva, afinal, na internet todo dia surgem coisas novas. Se possível, tenha uma novidade por dia!

Navegabilidade

Todas as páginas do seu site devem ser alcançáveis a partir da raiz, afinal a Web é baseada em hyperlinks de documentos. Se uma página não tem nenhum link apontando para ela, que serventia ela tem? Tenha também um mapa do site para facilitar a vida do seu visitante. Além de ser uma página com a estrutura completa de navegação, ela também serve para que as ferramentas de busca possam "garimpar" todas as suas páginas.

Página

Tenha em mente a simplicidade. Sua página deve ser leve e legível pois as ferramentas de busca lêem apenas textos. Evite imagens, javascript ou flash para mostrar informação. Procure usar os padrões da web. Se for usar imagens, use a tag ALT para descrever o que é a imagem. Esta regra serve para ajudar inclusive pessoas com deficiência visual a poderem navegar pelo seu site. Não esqueça de colocar o título da página, os títulos do documento e colocar uma página válida no ar.

Submissão de site

Ao contrário do que muitos livros orientam, prefiro que as ferramentas de busca me encontrem por links que levem a página. Submeter o site para diversos cadastros pode fazer mais mal do que bem. No máximo, cadastre-se no DMOZ. O DMOZ é um diretório de sites. Ele é o Open Directory Project (ODP) da fundação Mozilla, famosa pelo navegador Firefox. Várias ferramentas de buscas a utilizam como Google, AOL, Lycos, HotBot e outras. Dependendo do orçamento disponível, vale a pena pagar o cadastro no diretório de sites do Yahoo!.

Palavra-chave

Se o seu site trata de pelo menos um assunto, ele tem uma palavra-chave(ou conjunto de palavras) que sejam relacionados ao conteúdo. A palavra deve constar na página, pois se o seu site se trata de uma oficina, com a página será encontrada se a palavra não aparece no texto? Outro detalhe é que normalmente as pessoas procuram não por apenas uma palavra e sim refinam a busca usando mais de uma palavra. Quando procuram por oficina para consertar seu carro, elas escrevem: "oficina mecânica", para evitar de encontrar oficina de arte ou oficina de teatro.

Links relacionados

Coloque links para páginas relacionadas ao seu assunto para que o leitor tenha a opção de se aprofundar no assunto. Se possível tenha também o seu link em páginas relacionadas, mas atenção: se você linkou para uma pessoa, ela não tem obrigação de linkar para você. Na internet reina a democracia e a liberdade.

Conclusão

O SEO é a prática de ter um site racional. A otimização de sites não chega a ser uma grande novidade pois muitas destas dicas nos já fazemos no dia a dia, mas que devem ser levadas em conta na hora de se publicar na web. Lembre-se: tudo com bom senso e ética.

quinta-feira, 27 de setembro de 2007

Na hora de pagar pelo site, desconfie do barato

Os preços de projetos na web podem divergir demais de empresa para outra. Além de ficar de olho no orçamento, é preciso atentar aos detalhes, pois no final eles fazem a diferença.

O preço sempre foi um dos pontos mais difíceis na negociação de um projeto web. Na verdade, não só neste tipo de ação, mas em qualquer um que envolva diferentes qualidades. Por exemplo, você pode executar o projeto de uma casa gastando 100 mil reais ou 1 milhão de reais. Tudo reside nas escolhas feitas. Se você escolher utilizar ardósia no assoalho, gastará bem menos que mármore carrara.

Dois alfaiates conseguem produzir um terno, mas a grande diferença entre um que cobra 2 mil e que cobra R$ 500 é a perfeição do caimento que ele terá em você. Quando você for escolher uma empresa para executar um projeto web, possivelmente receberá uma variação no preço final nos orçamentos. Em alguns casos, a diferença é surpreendente.

Por que pagar 20 mil no projeto se posso pagar 10 mil? É exatamente o ponto. Em um primeiro momento você pode até ficar tentado a economizar 10 mil no orçamento. Mas, refletindo melhor, tenho certeza de que você pensaria: “deve ter alguma coisa errada com o mais barato, a diferença é bem grande”.

E certamente terá, não tenha a menor dúvida. Não existe mágica nisso. Qualidade custa dinheiro. Se você quiser algo de qualidade, que vai te dar menos problemas, trazer mais benefícios, vai ter que pagar mais caro. Em projetos para internet não é diferente. Na verdade é bem mais complicado e conseguir distinguir qual a melhor empresa não é uma tarefa nada fácil.

Detalhes também contam - E contam muito. O entendimento da forma de navegação do usuário é hoje um dos principais problemas para muitas empresas. E várias vezes está relacionado a um projeto mal implementado ou feito às pressas.

Temos uma variedade de navegadores, monitores, processadores e configurações que afetam a forma com que nosso site é visto e navegado.

Por exemplo, imagine que a empresa que você contratou para fazer o seu site coloque um verificador em Javascript no formulário de compra. Quando você testar, tudo vai funcionar perfeitamente. Maravilha! Porém, pode ocorrer do usuário estar com o suporte a Javascript desativado no navegador e, neste caso, o formulário não vai ser validado. Um detalhe simples, mas que pode causar problemas com seus clientes.

Vamos a um exemplo real, que ocorre em uma das maiores lojas do país de comércio eletrônico. Eu, por exemplo, costumo ir navegando pelo site e clicando nos produtos abrindo novas janelas no navegador, para manter a lista onde estou. Nesta loja, não consigo fazer isso.

O motivo: uma forma diferente de codificação que poderia ter sido feita de outra maneira sem nenhum problema. Ou seja, o problema não é de tecnologia. É de usabilidade. Simplesmente ninguém previu que isso poderia acontecer. Nas lojas concorrentes, não há o mesmo impedimento.

Não significa que a loja irá perder vendas por causa disso. Mas, sem dúvida, deixa um desconforto no usuário que gosta de usar aquele recurso. Atenção aos detalhes: eles podem atrapalhar (e muito!) o seu negócio.

Por Fernando Costa

quarta-feira, 26 de setembro de 2007

SEO - trabalhando ao nível do site

Uma das grandes coisas que fiz no ano passado foi o completo redesenho do tuning.online.pt. Algumas das coisas que fiz foram muito importantes para conseguir aumentar o tráfego do site e o posicionamento nos motores de pesquisa para mais keywords. Tive o cuidado de planear bem os requisitos que o novo design deveria ter. Não foram precisos 2 a 3 meses para notar logo resultados.

Algumas das coisas que se deve ter em atenção:

1. Os motores de pesquisa devem ver o meusite.com e www.meusite.com como o mesmo site. Isto pode ser configurado por ex nas webmaster tools do Google, ou então com um redirect.

2. Dê preferencia aos links internos no site. Por um lado mantém mais users na pagina. O ratio entre os internal e external links pode ser importante. Se possível duplique o menu no footer do site.

3. Proíbido usar frames! O site é mais dificil de indexar e as páginas indexadas provavelmente não não conduzirão ao restante conteúdo.

4. Uma extrutura do site correcta permite aos users navegar correctamente no site por mais tempo. Os spiders dos motores de pesquisa também acederão mais facilmente a todo o conteudo.

5. Imagens e flash pouco dizem aos motores de pesquisa, por isso os links de texto são incrivelmente melhores. É possível conseguir menus espectaculares com recurso a CSS.

6. Use o standard W3C HTML como guia. Embora seja muito difícil em muitos casos ter o site todo conforme, vale a pena o esforço.

7. Implementem um site map. Não me refiro ao sitemap do google, mas sim uma página que conduza a todas as paginas do site, tendo em atenção também o anchor text.

8. As keywords devem ser usadas na navegação. Nada melhor que garantir que as principais estão no menu.

9. Porque chamar index.html a todas as páginas? Porque não organiza-las de acordo com os temas e dando nomes às directorias e páginas mais específicos. EX: em vez de implementar o forum assim: www.checksumm.com/forum/ implementei em www.checksumm.com/chiptuning/ ou outro ex: http://www.tuning.online.pt/images/wallpapers/car-wallpapers.php, aqui tive o cuidado de fazer o targeting a algumas keywords no url.

10. Manter o design isolado do conteúdo. Usando Cascading Style Sheets garante-se que se consegue mudar num único ficheiro um estilo para o menú, para um título ou para qualquer outro elemento do design. Os motores de pesquisa também adoram.

Para quem quer saber tudo recomendo o The SEO Book

Autor Desconhecido

terça-feira, 25 de setembro de 2007

Checklist Ceo

aqui uma pequena checklist que deve ser seguida sempre que possível ao melhorar a popularidade do nosso site através de links. Como sabem um link de outro site para o nosso website funciona como um voto, assim quantos mais votos o nosso site tiver, mais probabilidades tem de receber visitas e de se posicionar mais alto nos motores de pesquisa.

Assim as regras que seleccionei e que devem ser recordadas em relação aos links são:

1. Links de outros sites são um factor importante que condiciona os rankings dos principais motores de pesquisa.

2. É mais importante a qualidade dos inbound links do que a sua quantidade.

3. Links deverão sempre que possível ser de paginas do mesmo assunto.

4. Deve ser escolhido o anchor text a colocar nos links e este deve ser escolhido em função das keywords que queremos optmizar.

5. O Anchor text não deve ser igual em todos os links, pois isso não parece natural e pode levar os motores de pesquisa a pensar que é uma forma de SPAM.

6. O anchor text deve abranger vários assuntos do website e os links não serem todos para a homepage do site.

7. Os outgoing links permitem implementar relações com outros websites, trocar trafego e mostrar aos utilizadores que temos confiança no conteudo do site e que podemos deixar sair do site os utilizadores.

8. A troca de links e o link building torna o site menos dependente dos motores de pesquisa.

9. Alguns links não melhoram os rankings e não trazem valor adicional para o nosso website.

10. Os links devem ser de vários tipos pois o algoritmo dos motores de pesquisa variam muito e podem penalizar um site se usa apenas um determinado tipo de link, como link exchange ou só links de sites de artigos free.

11. Os links devem ser provenientes de sites com pagerank diferente.

12. Os links contextuais tem um peso grande ou são muito relevantes. Um link conteuxtual é inserido a meio de um texto, normalmente é usado muito em blogs.

A lista não está obviamente completa e brevemente farei referências a outros assuntos e vou desenvolver mais alguns dos incluidos nesta checklist.

segunda-feira, 24 de setembro de 2007

Briefing, você tem que fazer. Siga este roteiro.

As pessoas entopem seus canais criativos com conceitos negativos e acreditam que não sabem criar. Use este modelo para montar o seu briefing e verá a criatividade fluir.

Confie nessa vozinha insistente que diz: ”Talvez isso funcione; eu vou tentar” — DianeMariechild

Muita gente me diz que não é criativa, só que isso é uma grande falácia.

Na verdade, todo mundo é criativo. Para começar você tem de recriar o seu mundo todos os dias. E quem sabe recriar pode muito bem criar.

O que ocorre com algumas pessoas é que elas entopem seus canais criativos com conceitos negativos, sendo o primeiro deles a crença de que não são criativas!

Pensando nessas pessoas, elaborei este artigo que apresenta e comenta um modelo de briefing criativo. É uma abordagem mais racional da criatividade que pode te ajudar a refazer os seus conceitos sobre criatividade.

Briefing tem várias traduções possíveis, mas trata-se de um sumário de informações que é usado em campanhas de marketing. Então use este modelo para criar o seu documento ou de seu cliente, e em menos de uma hora terá os sucos de criatividade fluindo em seus canais.

Modelo de briefing de criativo

Nome da empresa (insira o nome da empresa)
Nome do projeto ou campanha (insira o nome da campanha)
Data de realização:

Tarefa (o que deve ser realizado nesta atividade)

.
.
(deixe um espaço aqui)
.
.

Objetivos do projeto: (o que você quer alcançar)

.
.
(deixe um espaço aqui)
.
.

Objetivos do negócio

.
.
(deixe um espaço aqui)
.
.

Objetivo desta comunicação

.
.
(deixe um espaço aqui)
.
.

Contexto do projeto: (detalhes relevantes do contexto)

.
.
(deixe um espaço aqui)
.
.

Estratégia

.
.
(deixe um espaço aqui)
.
.

Público alvo

.
.
(deixe um espaço aqui)
.
.

Estratégia do projeto: (como vamos motivar nosso publico alvo a agir da maneira como desejamos?)
.
.
(deixe um espaço aqui)
.
.
Vantagem competitiva circunstancial: (porque eles iriam considerar o seu produto ou serviço em detrimento de outros?)
.
.
(deixe um espaço aqui)
.
.
Mensagem chave: (Qual é a promessa ou benefício único mais importante para o cliente? Em 25 palavras ou menos.)
.
.
(deixe um espaço aqui)
.
.
Suporte: (quais as provas que suportam a mensagem chave?)
.
.
(deixe um espaço aqui)
.
.
Obrigações: (que elementos devem ser incluídos no trabalho criativo? Isto é, gráficos, logos, parafernália legal, etc)
.
.
(deixe um espaço aqui)
.
.
Orçamento:
.
.
(deixe um espaço aqui)
.
.
Datas chave:
Data do briefing:
Conceitos criativos apresentados pela agência:
.
.
(deixe um espaço aqui)
.
.
Participaram da elaboração deste documento: (insira aqui os nomes de todos os envolvidos)

Mãos à obra

Tái. Agora está com você. Vista o seu chapéu pensador, ligue ou sente-se com os outros envolvidos e aplique este modelo. Você acaba de economizar alguns milhares de reais e possivelmente, elucidado, ou ao menos, abordado as principais questões que permitirão ao seu empreendimento tornar-se um sucesso

Por Renato Fridschtein

domingo, 23 de setembro de 2007

Ajax também enfrenta problemas. Veja quais são.

Ao exibir conteúdos em uma página só e carregar apenas as informações necessárias, para garantir eficiência e agilidade, os desenvolvedores Ajax quebram a cabeça com o despreparo dos browsers.

Cinco meses após o primeiro artigo sobre Ajax (“Não é tecnologia, é um jeito”, veja ao lado) muita coisa aconteceu e já há uma maturidade maior para se falar sobre isso. Antes de mais nada:

Ajax veio pra ficar

Quando falamos de web 2.0, falamos em serviços na internet, softwares na internet. Ora, isso é completamente inviável sem Ajax ou algo parecido. Quer dizer, na verdade, existem centenas de tecnologias pra se fazer softwares na web, de “JavaApplets” (que o Box.net usa de forma linda, no qual se pode arrastar e soltar uma pasta do computador para a internet). Existem também plugins. Isso é muito antigo. O Ajax foi a primeira tecnologia a aparecer com uma solução nativa do navegador. Sem precisar instalar nenhum plugin.

Além disso, o passo que nós já demos em direção à web 2.0 não pode ser desfeito. Seja com Ajax ou alguma tecnologia similar, jamais se deve deixar uma página ser recarregada a cada comando que o usuário dá.

Algumas utilidades já consagradas para o Ajax

Algumas coisas que podem ser feitas com Ajax têm o poder de viabilizar vários sites e novos serviços que estão aparecendo por aí. Vamos tentar relacionar algumas destas competências:

Interface numa única página. Sem recarregar a página a cada comando, é possível fazer softwares na internet com performance semelhante à do software local. Isso não era possível antes − embora as tecnologias que compõem o Ajax estejam aí há muito tempo, este jeito de pensar em desenvolvimento web é muito novo.

Arrastar e soltar. Você já imaginou um sistema operacional como o Windows sem o recurso de arrastar e soltar? A internet era mais ou menos assim. Agora, com o Ajax, ficou fácil trabalhar com arquivos (como o Box.net), com blocos de informação configuráveis (como o Netvibes), entre várias outras funcionalidades que só apareceram na internet quando se tornou possível arrastar e soltar.

Páginas mais rápidas. Quem não sabe disso, né? A função principal do Ajax é deixar tudo mais rápido. Sem esperar tudo recarregar, a gente consegue induzir o usuário a fazer coisas que de outra forma ele jamais faria, por preguiça ou falta de tempo. Novamente o mesmo exemplo: eu teria preguiça de clicar em um formulário de contato se souber que vai demorar para carregar. Mas não teria se fosse instantâneo. Qual é a diferença aqui? Um site com Ajax dá mais retorno − teoricamente.

Maior capacidade de personalização. Com Ajax se tornou possível fazer um site e deixar cada usuário remoldá–lo como quiser. Antes já era possível? Sim, era. Mas era terrívelmente difícil. Agora basta clicar em um link “edit” em algum canto, clicar num comando e está pronta a mudança no site. Ou clique em um conteúdo e arraste para outro lugar. Ou clique em um botão de avaliação sem precisar parar de ler a notícia… Enfim, sem espera, sem chateação, deixe o site do jeito que você quiser.

Essa lista poderia continuar, porém o mais importante está aí. Além do mais, trabalhando na minha empresa (Desta.ca) com Ajax tenho tido algumas dores de cabeça e percebo que a maioria dos programadores ao redor do mundo tem os mesmos problemas… Quero falar um pouco sobre isso.

Alguns problemas relacionados ao Ajax

Uma tecnologia tão nova não poderia deixar de ter problemas. Estes problemas acontecem ou pela falta de maturidade da tecnologia e conhecimento dos programadores que estão começando a trabalhar com isso, ou porque a própria internet não está totalmente pronta para essa revolução.

Aí vão algumas preocupações e problemas, classicamente apontados quando se trata de Ajax. Vou chamá–los, carinhosamente de bichos–papões do Ajax.

1. Favoritos. Se a interface do seu site é toda em uma página só, como o usuário vai guardar um determinado artigo nos seus favoritos? Como ele vai enviar este conteúdo para um amigo? A falta de um link permanente (problema também quando se faz um site todo em Flash) é um monstro. Porque um dos corações da web 2.0 são os blogs… Como eu vou falar no meu blog sobre um artigo, video, áudio ou qualquer conteúdo, sem ter um link direto para ele? Cada programador está procurando sua própria solução, mas nós temos que procurar padrões para essas soluções. Assim a tecnologia vai ter maturidade mais rápido.

2. Botão Voltar. O que acontece quando você clica no botão Voltar em um site Ajax? Hoje temos duas opções (fora as gambiarras com programação suja): ou não acontece nada, ou não volta para o lugar que você queria. Acontece que os navegadores não têm um evento para o programador dizer o que acontece na sua página quando o usuário clica Voltar. O máximo que o navegador consegue dizer é que o usuário saiu da página. E aí, recomendamos ao usuário não clicar no botão Voltar e damos o problema por resolvido?

3. Recarregar. Acontece a mesma coisa com o botão Recarregar. O navegador só entende que o usuário saiu da página… mas recarregar uma página e voltar para a anterior são ações muito diferentes. Por que o navegador não tem “eventos” para os botões Voltar e Recarregar? Simplesmente porque antes não era preciso. Agora, com Ajax, é preciso. Novamente, alguns programadores fazem gambiarras (como iframes escondidos, que causam um mooonte de bugs no sistema) para driblar esses problemas. Mas é preciso uma solução padronizada, simples e limpa para isso.

4. Compatibilidade entre navegadores. Pelo tamanho do nome já se vê que esse deve ser um mostro enorme, que sai de baixo da cama quando os programadores apagam a luz em seus quartos. Realmente, é um problemão programar em JavaScript pensando nas frescuras de um browser e de outro. Tableless não resolve o problema, cada browser interpreta CSS de um jeito. O Internet Explorer tem um monte de bugs ao trabalhar com Javascript (por exemplo, às vezes quando se escreve um código, ele simplesmente “esquece” de passar um parâmetro). Os programadores ficam loucos com isso. Isso aumenta o custo do produto final e deixa todo mundo bravo.

5. Segurança. Quando você faz um monte de processos pelo lado do cliente, e não no servidor, se o programador não for bom, pode ser abertas brechas enormes de segurança. A tecnologia ainda não tem padrões muito bem definidos para segurança quando se trata de Ajax. Por enquanto eu não ouvi falar de nenhum problema sério, mas os programadores têm um pouco de medo quanto a isso.

A comunidade continua trabalhando. A internet está mudando. O mundo todo está mudando. Basta ter paciência para ver a maturidade dessa tecnologia chegar e todo mundo ser mais produtivo. Um pouco de boa vontade do pessoal dos navegadores, um pouco de boa vontade dos programadores em compartilhar as soluções e todos poderemos dormir um pouco mais tranqüilos.

Por Gilberto Alves Jr.

sábado, 22 de setembro de 2007

Cuidados ao registrar o domínio de seu cliente

O registro de domínio oferecido junto à criação do website pode fazer parte de um pacote de serviços de webdesigners e produtoras. Mas são atividades distintas que implicam em responsabilidades que não se confundem. Veja como proceder.

Já comentamos aqui acerca do registro de domínio que costuma ser oferecido concomitantemente à criação do website (O que não deve faltar no contrato com o cliente). Nada impede que se queira oferecer um amplo pacote de serviços, especialmente se isso significa uma maior vinculação do cliente a sua empresa.

Contudo, não pode passar desapercebido, que são atividades distintas que implicam em responsabilidades próprias que não se confundem.

A aquisição de um domínio não está vinculada à criação de website, exceto pela função social que deve exercer o domínio, posto que não se presta exclusivamente à especulação, antes deve ter utilidade àquele que o requer.

A lei, no que diz respeito à inserção na web, ao contrário de alguns tipos de negócios jurídicos, não exige o cumprimento de nenhuma formalidade — como na aquisição de um imóvel, em que se deve proceder ao registro no cartório imobiliário competente, ou na constituição de empresa, em que se requer o arquivamento de seus atos constitutivos na Junta Comercial do Estado.

Se o endereço na web não está vinculado a nenhum subdomínio — como por exemplo www.wrodrigues.adv.br/subdomínio — a única formalidade a ser cumprida diz respeito ao registro de domínio; afinal não digitamos uma seqüência numérica (IP) em busca de um endereço na web, mas sim buscamos textualmente por aquilo que procuramos.

E é exatamente porque procuramos textualmente por aquilo que nos interessa que o registro de domínio requer alguma atenção.

Vejamos: por se tratar de palavra ou texto, é certo que não deve ser confundido com nenhum nome comercial ou, o que é pior, com marca registrada no INPI.

Por isso mesmo já deu para perceber que se você proceder ao registro de um domínio para seu cliente, deve assegurar-se de não colocá-lo em situação que o comprometa legalmente em relação ao mercado, causando confusão entre marcas ou nomes comerciais de outras empresas ou organizações.

Apenas a título de exemplo, sempre lembro de um caso em que dois sócios de duas empresas diferentes passaram meses trocando farpas por e-mail quando descobriram que possuíam registros de domínios muito parecidos, apenas com uma sílaba de diferença e que disputavam, por uma questão de fluxo na internet, um terceiro domínio que estava disponível, também muito parecido com seus domínios originais.

A princípio, ambos pensaram se tratar de má-fé, e de que a outra empresa havia adquirido o registro de domínio para cedê-lo por preço abusivo posteriormente.

Com o tempo, foram percebendo que estavam a debater-se por um erro que nunca seria sanado fora do Judiciário, e o que é pior, não sem mover ação contra o INPI, já que ambas as empresas haviam feito corretamente pedido de registro para a mesma marca junto ao órgão, que publicou um dos pedidos de marca com incorreção, gerando a confusão, já que a empresa que fez o requerimento por último não tinha em nenhuma de suas buscas qualquer resultado que a impedisse de obter tal marca.

O detalhe: as duas empresas teriam que demandar suas perdas no Rio de Janeiro, sede do INPI, sendo que suas sedes ficavam em outro estado.

Dentro das regras do bom senso, entenderam ambos os sócios que melhor seria encontrar um meio termo. Assim, a empresa mais nova no mercado e que por último requereu o registro de marca ganhou um ano e meio de prazo para adequar-se a um novo nome comercial, marca e domínio, sem sofrer nenhum tipo de constrangimento por parte da outra empresa, inclusive com direcionamento do fluxo de seus clientes na internet durante esse período.

Aí eu pergunto: se seu cliente tivesse perdido judicialmente tal domínio e marca, contra quem ele iria demandar, contra o INPI ou contra você?

Um roteiro para a sua segurança

Diante disso, certamente fica a pergunta: como proceder a esse registro com segurança?

Bem, aí vão algumas dicas:

Primeiro, procure fazer uma busca prévia dos demais domínios já registrados para o mesmo texto que seu cliente pretende, mesmo em outros níveis de domínios (.adv, .pro, .org, etc) no Brasil e no exterior (.com ou .net). Afinal, seu cliente tem o direito de saber com quem eventualmente dividirá o fluxo de usuários quando ocorrerem erros de digitação dos internautas.

Segundo, faça uma busca prévia de nomes comerciais na Junta Comercial do Estado e no Cartório de Registro de Pessoas Jurídicas, para saber se trata-se de algum nome comercial já existente no mercado.

Terceiro, proceda à busca junto ao INPI para saber se o texto ou palavra pretendida não se trata de nenhuma marca já registrada, visto que dispõe o § 1º do art.º 1º da Resolução nº.: 02/2005 do Comitê Gestor Internet que “constitui-se em obrigação e responsabilidade exclusivas do requerente a escolha adequada do nome do domínio a que ele se candidata. O requerente declarar-se-á ciente de que não poderá ser escolhido nome que desrespeite a legislação em vigor, que induza terceiros a erro, que viole direitos de terceiros, que represente conceitos predefinidos na rede Internet, que represente palavras de baixo calão ou abusivas, que simbolize siglas de Estados, Ministérios, dentre outras vedações”.

Assim, entende-se por desrespeito à legislação em vigor, dentre outras práticas, a violação à marca de terceiro, nos termos dos incisos IV e V do art.195 da Lei de Propriedade Industrial, o qual dispõe:

Art.195 - “Comete crime de concorrência desleal quem:
(…)
IV – usa expressão ou sinal de propaganda alheios, ou os imita, de modo a criar confusão entre os produtos ou estabelecimentos;
V – usa, indevidamente, nome comercial, título de estabelecimento ou insígnia alheios (…)”

Ou seja, sendo a marca o sinal distintivo usado para distinguir produto ou serviço, o uso indevido de marca registrada constitui crime nos termos do artigo 195 da Lei de Propriedade Industrial, não parecendo razoável que se proceda ao registro desse mesmo nome como sendo de domínio.

Afinal, isso seria colocar seu cliente em situação de desvantagem ao invés de proporcionar a ele uma boa experiência em sua inserção na web.

De qualquer maneira, a questão da escolha e do registro do domínio deve ser amplamente discutida com o cliente visando delimitar e dividir eventuais responsabilidades pelo registro.

Por fim, a última dica é anexar todas as buscas efetuadas ao contrato com o cliente, junto com um termo de ciência quanto às diligências efetuadas. Isso, para salvaguardar sua empresa de desagradáveis surpresas, pois elas podem efetivamente ocorrer.

Fica aí o alerta e algumas dicas. Por isso, quando oferecer um pacotão, incluindo registro e criação, diferencie bem um do outro no contrato, anexe as diligências efetuadas e um termo de ciência de seu cliente. Tenho certeza de que ele se sentirá mais seguro de sua transparência e você também, não é?

Por Monica W. Rodrigues

sexta-feira, 21 de setembro de 2007

Como lidar com clientes que gostam de atrapalhar

Sartre disse que o inferno são os outros. Nem tanto - o inferno pode ser os clientes enrolados e os desvios que propõem. Para não se perturbar, use suas táticas preventivas.

Clientes são importantes para os negócios porque representam a ligação mais forte entre você e o dinheiro que você precisa receber todo mês. São eles que vão pagar e esperam receber um bom trabalho em troca.

Manter o cliente satisfeito não é apenas uma questão de educação; é a peça chave para atingir sua meta nos negócios e fazer dinheiro.

Com o tempo você vai se tornando um expert no relacionamento com os seus clientes. Aprende a distinguir os mais importantes e identificar o que eles precisam. Não existe uma forma padrão de tratamento para todos. E sempre aparecem no caminho certas figuras com atitudes manjadas que podem desviar você de seus objetivos.

Veja alguns destes tipos e o caminho para neutralizá-los.

O sabe tudo

Possui um repertório infinito de sugestões capaz de irritar o mais calmo dos monges budistas. Pensa que sabe mais sobre o trabalho do que você e tem sempre uma maneira melhor e mais inteligente de executar uma tarefa.

Tática: ouça as idéias porque elas podem servir para alguma coisa. Entretanto, deixe bem claro que você é um profissional, que sabe o que está fazendo e que o processo que você está usando produzira um bom resultado. Se ele continuar a interferir, diga que você pode escutar todas as suas sugestões de mudanças depois que o trabalho estiver pronto. Desta forma você poderá cobrar taxas extras para cada alteração feita depois da entrega do trabalho.

O negociador

Simpáticos tapinhas nas costas, gargalhadas indiscretas e piadas sem graça são marcas registradas. Intimidade é sua principal armadilha. Começa com um convite para uma cerveja no bar na esquina e termina com a história das dividas que o sócio deixou antes de fugir para Bahamas que vem acompanhada de um pedido de atraso no pagamento.

Tática: Não crie laços de amizade. Chame-o sempre de senhor para provar que sua relação com ele é estritamente profissional. Recuse convites com desculpas educadas e não ceda a chantagem emocional (você não é uma entidade filantrópica).

O Pilatos

Se você vê-lo mais duas vezes depois da assinatura do contrato será um milagre. É do tipo que não faz a mínima questão de saber o que está acontecendo e que só aparece no dia da entrega do trabalho. Nunca tem tempo para conversar sobre problemas e quando não gosta de alguma coisa diz que não foi informado sobre nenhuma mudança.

Tática: se falar com ele é uma odisséia, escreva. Faça relatórios periódicos e peça uma assinatura de aprovação. Eles servirão como prova de defesa caso no futuro, você seja acusado de omitir informação. Mas não envie nada por correio nem deixe de pegar os papéis depois. Vá atras do cliente pessoalmente e só saia de perto depois que ele tiver assinado todas as folhas.

O esquecido

Infelizmente, é um tipo de cliente muito comum. Sofre de amnésia no dia do pagamento, que pode se estender por mais de uma semana. Quando cobrado, costuma repetir frases do tipo “a secretária esqueceu de colocar o cheque no correio” ou “ah sim, vou fazer isso hoje”. Se você é uma pessoa muito otimista ou acredita em Papai Noel, pode estender seu prazo normal de 30 dias para dois meses ou três meses. Se estiver precisando de grana em dia é melhor se proteger desse tipo de cliente.

Tática: Inclua uma cláusula de depósito no contrato, determinando a data do pagamento e multa por atraso. Você também pode exigir parte do pagamento adiantado sem problemas.

O desesperado

Mal começou o trabalho e ele quer saber se o prazo vai ser cumprido. Liga dez vezes ao dia para saber o que está acontecendo, entope a caixa postal do seu celular de recados e entra em pânico se você disser que há algum problema.

Tática: não deixe contagiar pelo estresse do cliente. Antes de atender o telefone, respire fundo e conte até dez. Use o contrato para mostrar que as coisas estão indo conforme planejado e, se estiver com problemas, assegure sempre que tudo está sobre controle (mesmo que não esteja).

Um manual básico

  • Trate os clientes como você gostaria de ser tratado. Se você for anti-profissional com eles espere o mesmo;
  • Pegue o máximo possível de informações que puder por escrito e exija assinaturas em todos os documentos;
  • Evite intimidades;
  • Seja firme ao fixar um preço. Independente do poder econômico do cliente;
  • Seja franco e não esconda nenhum dos termos e condições do contrato;
  • Faça reuniões periódicas para que o cliente acompanhe seu trabalho e não tenha surpresas no final;

quinta-feira, 20 de setembro de 2007

Python é opção para desenvolvimento web

Desenvolvedores web giram em torno de PHP, ASP e Java, pelas muitas vantagens que oferecem. Mas há opções como Python, que oferece qualidades e está por trás de muitos sites. Conheça algumas delas.

Antes de começar, gostaria de deixar claro que não sou um desenvolvedor (ou programador, escolha o termo) na acepção mais purista da palavra. Sou na verdade um profissional de humanas que convive com computadores pessoais desde criança e no máximo um “desenvolvedor hobbysta”.

Hoje o que mais atrai os inúmeros novos desenvolvedores é o ambiente web. Muitos por pressão do mercado, muitos por verdadeira paixão pelos conceitos que a web representa e alguns por que só conheceram o mundo construído através de interfaces web.

Como todos os desenvolvedores web mais antigos, segui os caminhos do mercado e trabalhei com CGIs, ASP, PHP, desenvolvi projetos com JSP e até mesmo com WebClasses (conceito natimorto da Microsoft). De toda esta experiência o grande ensinamento é que desenvolvimento web significa, necessariamente, flexibilidade e agilidade, principalmente com relação a interfaces de usuário.

Não importa quão complexo seja o sistema ou a necessidade de integração, mas as alterações de layout, design, navegação devem ser feitas de forma rápida e ágil. É preciso entender que alterações deste tipo são essenciais para o negócio.

Sendo assim ficam claros os “porquês” da preferência da maioria dos desenvolvedores web por linguagens como ASP e PHP. Apesar de todo tipo de crítica, elas representam esta agilidade.

Obviamente existem aqueles que preferem a segurança e robustez à agilidade e escolhem, na maioria dos casos, alguma solução baseada em Java. O cenário é relativamente o mesmo há alguns anos, sendo assim podemos supor que os desenvolvedores, na média, enxerguem estas como as únicas opções “aceitas” para desenvolvimento web.

Pois é, não são.

Além de PHP, ASP e Java

Ainda em meados de 2000 ouvi falar de um tal de Zope e de uma linguagem de programação chamada Python. De início não levei muito a sério a opção, pois o mundo se dividia na tríade composta por PHP, soluções Microsoft e Java. Por que alguém racional se aventuraria por terras desconhecidas (ou terras pouco exploradas como Perl, Ruby e até mesmo Lisp)?

Basicamente, porque eles são inovadores. Vêem o que os outros demorarão meses ou até anos para perceber, e chegam lá primeiro. Python é uma linguagem madura, está por aí há um certo tempo (foi criada em 1991) e é utilizada em projetos web sérios (leia-se Google, e-Groups, …) ao menos desde 1996.

A pergunta então é: se projetos tão importantes foram desenvolvidos em Python, como esta linguagem não é tão conhecida ou divulgada como as três opções acima?

Uma simplificação da resposta poderia ser que nenhum gorila da tecnologia financia o marketing da linguagem. Não há empresas como Microsoft, Oracle, Sun ou IBM investindo para torná-la popular. Mas, como disse, seria uma simplificação, pois PHP está aí independentemente do marketing de grandes corporações. Há uma série de fatores que poderiam explicar esta falta de popularidade de Python como linguagem de programação, mas esta discussão seria longa demais para este momento.

Por outro lado os casos de sucesso de Python (e aplicações web escritas com ela) estão aí para provar que ela é uma das melhores escolhas para desenvolvedores que buscam robustez e produtividade, com facilidade de aprendizado, disponibilidade de módulos prontos para tarefas como conexão a sistemas legados, webservices, tratamento de imagem, integração com aplicativos de produtividade e com todo tipo de aplicações que você possa imaginar (o brinquedo já vem com as pilhas no pacote!).

Mas por que Python?

Você deve estar se perguntando então “Por que que eu, desenvolvedor de (coloque aqui sua linguagem favorita), deveria conhecer e utilizar Python em projetos web?”. Alguns argumentos:

  • é fácil de aprender e muito intuitiva
  • faz você ser muito produtivo - escreva menos linhas de código e tenha tempo livre para… escrever outras linhas de código ;-)
  • dificulta que você escreva códigos obscuros, impossíveis de serem mantidos
  • é multi-plataforma. Desde Mainframes até telefones celulares suportam a linguagem
  • mais robusta e segura que outras linguagens de script (como PHP)
  • mesmo sendo robusta e segura, não é tão burocrática quanto C ou Java
  • tem código aberto
  • muito importante: você conta com diversas opções para desenvolver suas aplicações

Opções? Quais opções?

Python conta hoje com ao menos quatro boas plataformas para desenvolvimento de aplicações web. Cada uma com suas características, mod_python, Django, TurboGears e Zope são escolhas seguras para qualquer desenvolvedor.

  • Mod_python é um projeto mantido pela Apache Foundation para suporte a linguagem Python como linguagem de script ao servidor Apache (assim como o mod_php ou o mod_perl)
  • Django é um framework de alto nível para desenvolvimento web, que tem como características a agilidade para o desenvolvimento de aplicações e foco no pragmatismo (não perca tempo onde não é preciso, não reescreva o mesmo código diversas vezes)
  • TurboGears é outro framework que foca, muito, em agilidade no desenvolvimento de aplicações, utilizando-se de templates e facilidades na implementação da integração com base de dados relacionais. TurboGears vem ganhando muitos fãs nos últimos anos, principalmente entre programadores que vêm de PHP ou ASP.
  • Zope é, entre estas opções, a mais conhecida e mais madura. O Zope é um servidor de aplicações (compare-o a um JBoss ou a um TomCat) que conta com uma base de dados orientada a objetos e está no mercado há pelo menos 10 anos (8 destes como software livre). Não é o ambiente mais fácil para se começar a desenvolver, mas com poucas horas de prática você já percebe a facilidade que ele proporciona. Hoje a aplicação mais conhecida escrita em Zope é um sistema de gerenciamento de conteúdo (CMS) chamado Plone, que é adotado em portais como IDGNow!, OAB/SP, Câmara dos Deputados, Portal da Presidência, Dicionário online Veja-Larousse, Free Software Foundation, entre outros.

Casos de Python no Brasil

São diversos os casos de utilização de Python em portais web no Brasil, citando alguns (divididos por segmento):

Neste momento, mais importante do que os casos de sucesso é a demanda que existe por profissionais que conheçam Python. Cidades como Brasília, São Paulo, Recife e Rio de Janeiro têm um volume maior de ofertas de emprego do que profissionais qualificados. Escolher Python, se qualificar como desenvolvedor Python é neste momento, garantia de empregabilidade.

Aprofunde

Veja os links abaixo, conheça as opções, desenvolva. Se você dominar o idioma inglês, veja este vídeo (cuidado, são mais de 300Mb) feito pela equipe de desenvolvimento web do Jet Propulsion Lab da NASA, e por fim, volte a se divertir escrevendo código para a web.

Para saber mais (em português):
[1] http://www.pythonbrasil.com.br
[2] http://www.tchezope.org
[3] http://www.oturbogears.org

Para saber mais (em inglês):
[1] http://www.python.org
[2] http://www.djangoproject.com/
[3] http://www.zope.org
[4] http://www.plone.org
[5] http://www.turbogears.org

Por Érico Andrei

quarta-feira, 19 de setembro de 2007

Uma avaliação heurística básica para o seu site

Faça uma inspeção de usabilidade no site - um roteiro de avaliação para diminuir custos de testes. Elimine os erros básicos e passe bem no teste com os usuários.

A avaliação heurística é uma forma “barata” de revisar um site. Tem uma relação de custo-benefício muito boa e pode ser realizada com poucos avaliadores. Segundo a Wikipedia, heurística consiste numa série de conhecimentos que proporcionam uma rápida solução para algum problema ou dificuldade, com o menor gasto de energia ou esforço.

Nesse sentido, o número ideal de avaliadores para que se tenha a melhor relação custo-benefício, segundo Nielsen, é o de cinco pessoas. Esses cinco avaliadores podem encontrar cerca de 80% dos problemas de usabilidade em um projeto.

Mas ainda sim é necessário o teste com usuários, pois os 20% restantes tendem a ser os erros mais graves, que só o público real do site consegue encontrar.

Não é necessária uma interpretação das ações do usuário, já que quem realiza a análise é o próprio especialista, que gera um relatório com as especificações dos erros encontrados e o que pode ser feito.

Recomenda-se que seja feita essa análise antes do teste com usuários, já que dessa forma se pode detectar erros simples, a um custo muito menor que um teste com usuários. Assim o teste com usuários se torna mais efetivo, detectando erros mais específicos.

Essas avaliações são feitas com base em alguns princípios, as heurísticas, que classificam a gravidade dos erros, o número de ocorrências, a facilidade para se superar o erro, e o princípio de usabilidade violado.

Há uma escala que é utilizada para dar o nível de gravidade dos erros (há quem use também a escala de 0-4 ou de 1-5, mas basicamente é a mesma coisa, já que nas outras escalas é adicionado um item para dizer que não é um erro de usabilidade):

1.Superficial: Só será solucionado se houver tempo e dinheiro.
2.Leve: Deve ser solucionado, mas tem baixa prioridade.
3.Médio: Deve ser solucionado logo.
4.Grave: Pare tudo e vá arrumar isso!

Dependendo do site são gastas até duas horas por página. É preenchida uma lista previamente definida com os erros, e com a análise geral do site.

São analisados primeiro o fluxo geral da página e depois os pontos isoladamente, e é explicado a relação entre o erro e o princípio de usabilidade. Cada avaliador, geralmente, desenvolve suas heuríticas, e para isso é necessário experiência.

Esse tipo de análise seria desnecessário se no projeto fosse considerado, desde o início, o usuário final. Mas como o mundo não é perfeito, e muitos sites sequer têm um projeto, esse tipo de análise pode ser muito útil.

Por Rochester Oliveira

terça-feira, 18 de setembro de 2007

Usabilidade

Não confunda usabilidade com acessibilidade:

- usabilidade é aplicada para que os usuários naveguem sem dificuldades em websites ou consigam um aproveitamento melhor em softwares. É definida como a qualidade de interação de uma interface e seu usuário.

- acessibilidade é o termo usado para definir usabilidade para as pessoas com algum tipo de deficiência. Saiba mais.

Programas

Em todo programa se encontram menus com seu conteúdo. Para facilitar ainda mais encontramos barras de propriedades, de ferramentas, janelas etc.

Os menus são de grande ajuda nos programas e podem ser intuitivos:

- para salvar um arquivo? menu arquivo.
- minha janela sumiu! menu janela.
- como retiro essa seleção? menu selecionar.
- e para exibir as guias ou grades? menu exibir.
- como vou formatar o texto? menu texto

Até um menu de ajuda podemos encontrar nos programas.

Sites

Consideramos que um site tem um problema de usabilidade, quando o usuário encontra dificuldades em realizar determinada tarefa por meio da interface, muitas vezes ele não sabe como retornar a página anterior. Esses problemas são frequentemente encontrados em páginas criadas em flash. Quem nunca se deparou com introduções gigantescas e demoradas que retardam o acesso as informações desejadas?

Pensando justamente em sites com muitas animações que em sua maioria dificulta a usabilidade do site, a Macromedia desenvolveu o Macromedia Flash Usability. No site o visitante encontra estudos de usabilidade em formato PDF, dicas práticas e estudos de casos, tudo voltado para o Flash. Espero que ele não mude endereço.

Iniciante

Segundo Jakob Nielsen o iniciante em criação pode pecar justamente com esses três erros:

- optar por um design maravilhoso que acaba não sendo visto porque ninguém tem paciência de esperar carregar;

- adotar uma estrutura organizacional que mais parece a ordem hierárquica da empresa e que não reflete as necessidades do usuário;

- exibem informação demais. O que é fácil de ler no papel, on-line leva o usuário a deslizar pelo texto em vez de ler com cuidado. As telas atuais não chegam perto do conforto de uma revista no aconchegante canto de sofá
Há outros problemas que podem ser citados tais como: falta de informações para contato, informações desatualizadas, formulários de pedidos longos, requisitos de softwares para download, funções de e-commerce muito complicadas, etc.

Testes de usabilidade

Os testes de usabilidade são de grande ajuda para definir o grau de dificuldade do usuário para com a navegação do mesmo. A empresa por meio deste teste conseguirá corrigir o problema de imediato, evitando assim mudanças drásticas no layout que poderiam levar dias.

Uma vez identificado o problema de usabilidade, o seguinte passo é procurar uma solução adequada.

É importante atribuir a cada problema de usabilidade um grau de severidade. O grau de severidade pode ser avaliado como relação ao impacto (grave, importante ou impacto menor) sobre a realização de tarefas e freqüência com o qual o problema ocorre.

Grave

Usuários precisam de mais de 2 minutos sem progresso na realização da tarefa. Usuários abandonam a tarefa ou demonstram stress na realização da mesma. Usuários não concluem a tarefa.

Importante

Usuários gastam até 2 minutos e obtém êxito na realização da tarefa. Usuários podem demonstrar stress visível ou perda de qualidade de interação.

Impacto menor

Usuários encontram o problema mas conseguem contorná-lo sem prejuízo importante para a qualidade de realização da tarefa.

Eis um exemplo aplicado por algumas empresas:

01. O avaliador recebe o participante, o cumprimenta e o convida a se sentar e se sentir confortável e relaxado.

02. O avaliador entrega ao participante o Questionário para Identificação do Perfil do Participante.

03. Após completar o questionário, o participante recebe o Script de Orientação do teste. O avaliador lê o script junto com o participante reforçando que o anonimato do produto deve ser mantido após os testes e que o centro da avaliação é o produto e não o participante em si. O participante deve ser informado que ele estará sendo observado e filmado e que a integridade do participante será totalmente resguardada, sendo utilizada a observação e as imagens somente para fins de análise do teste. O avaliador deve reforçar outras informações constantes do script e retirar dúvidas do participante sobre a sessão de teste.

04. Após serem passadas as orientações, o avaliador informará ao participante que ele pode utilizar o sistema livremente durante cinco minutos.

05. Passado este tempo, o avaliador irá orientar o participante a retornar à Área de Trabalho do Windows (se for o caso) e será entregue a lista de tarefas para execução. Os acontecimentos observados pelo avaliador deverão ser registrados no formulário de Coleta de Dados pelo Avaliador (Anexo 6). Um outro integrante da Tools Corporation irá cronometrar e registrar o tempo gasto na realização das tarefas.

06. Depois de completadas todas as tarefas, o avaliador irá entregar ao participante o Questionário de Avaliação do Sistema pelo Participante para ser completado.

07. Depois que o participante acabou de completar este questionário, o avaliador informará que será dada uma pausa de dez minutos para o café.

08. Passada pausa para o café, terá inicio a sessão de questionamento do participante sendo usado como guia o formulário de Tópicos para Questionamento. Outros tópicos além dos descritos neste formulário deverão ser acrescentados de acordo com os acontecimentos ocorridos durante o teste.

09. O avaliador agradece ao participante, entrega-lhe um brinde por sua colaboração
e se despede.

É claro que para um site pequeno não é necessário tantas regras para com os testes de usabilidade. Para avaliar o seu site, chame um amigo que não saiba muito de informática ou pessoas que não estejam envolvidas no projeto.


Jakob Nielsen

Existe um livro chamado "Homepage: Usabilidade: 50 Websites Desconstruídos" por Jakob Nielsen. O mesmo trata dos princípios de usabilidade na web. Nielsen também é autor de um outro livro bacana chamado "Projetando Websites".

Apesar de Nielsen falar umas boas verdades, tome cuidado. O visual não prejudica a usabilidade quando bem empregado, mas os mestres da usabilidade costumam prejudicar o visual com o exagero de seus critérios. Tire suas próprias conclusões

segunda-feira, 17 de setembro de 2007

O design, como visto pelo desenvolvedor

Para desenvolvedores de software, a beleza é expressa em linhas - ilegíveis para muitos. O relacionamento mais intenso com designers e arquitetos é uma novidade e passa por questões culturais.

Os anos dedicados ao desenvolvimento de sistemas web não me fizeram esquecer o passado - não tão sombrio mas remoto - em linguagens verbosas como Cobol, Assembler, CICS, Clipper, Pascal, entre outras.

Nessa época o “layout” (por assim dizer) do sistema estava somente em nossas mãos e isso não era uma tarefa fácil. Quer um exemplo? Os sistemas de locadora de vídeos e DVDs, com telinhas azuis, menus numéricos e navegação baseada em Ctrls, Escs e afins. É super trabalhoso de fazer.

A minha primeira calculadora em Cobol feita numa aula do colégio técnico tinha 100 linhas desenhando cada quadrado do número em branco e mais 20 para explicar que quando alguém apertasse o número no teclado ele deveria ficar em highligth na tela. Fora as outras centenas utilizadas para o layout básico da calculadora.

Sempre fui muito caprichosa e detalhista em relação aos layouts de sistemas que desenvolvo, pois sempre tive paixão pela ciência da HCI (Human Computer Interface), hoje muito associada à usabilidade, mas para mim e para muitos a velha e boa ergonomia.

Muitos colegas de profissão, ao contrário, não demonstravam tanta paciência com o desenho das telas e hoje continuam assim. As linguagens visuais e seus ambientes de desenvolvimento vieram com o intuito de diminuir o tempo investido na interface, para que o desenvolvedor possa dedicar cada minuto para a tarefa mais importante - produzir código.

A migração para o ambiente web foi parecida, mas é distinta. Com a profissionalização do desenvolvimento veio a especialização, a qual os desenvolvedores não estavam acostumados. Novos profissionais, entre eles o webdesigner e o arquiteto da informação, entraram no processo de desenvolvimento de sistemas.

Em ambientes tecnocratas, os desenvolvedores não se conformavam em ter que seguir as diretrizes passadas “por alguém de humanas”, “sem a mínima idéia de como as coisas funcionam” e que “apenas desenha botões”. Comportamento esperado, pois houve perda de autonomia, mas a mudança tenderia a ser aceita em curto prazo, pois trazia muitas vantagens.

O tempo prova que estes papéis foram bem aceitos pelo mercado e pelos desenvolvedores, mas estes ainda mantêm uma resistência velada.

Hoje não desenvolvo mais - pelo menos não oficialmente. Há dois anos administro uma empresa que presta serviços na área de consultoria e ergonomia, mas tenho contato constante com desenvolvedores das mais variadas linguagens e níveis de conhecimento. Na prática ainda existe o “vilão” design como justificativa para muitos dos problemas de um projeto.

E a pergunta é, por quê? Resumo em três questões.

Questão cultural: todos temos referências e/ou tutores quando iniciamos em uma atividade profissional. Dependendo do grau de admiração e respeito desenvolvido nesta relação, além da transmissão de conhecimento ocorre também a transmissão dos valores, o que inclui a importância que a pessoa dará a uma interface – e aos profissionais que trabalham nesta área.

Questão acadêmica: ainda hoje grande parte dos cursos de exatas ignora completamente o conceito de design. Ouve–se constantemente durante as aulas frases como: “Não se preocupem com o layout e sim com o funcionamento”, “Não quero ver o layout e sim o código–fonte”, “Não precisava ter se preocupado em fazer uma “telinha” bonitinha”. Ok, o que está em jogo aqui realmente é o aprendizado de uma linguagem, o que em minha opinião não deveria ocorrer na faculdade. Mas essas e outras frases transmitem os valores que a pessoa carregará consigo para a carreira profissional.

Com que freqüência são encontradas matérias como interação homem–computador em um curso de ciências da computação? Raramente. Há exceções, mas grande parte dos alunos ainda aprende na faculdade que o usuário é um “inimigo” e que o importante é um código de simplicidade interna, ou seja, mais fácil de ser implementado.

Questão corporativa: a concorrência no ambiente empresarial e o distanciamento dos desenvolvedores do usuário final fazem com que o webdesigner seja visto como um concorrente, um sabotador ou alguém a quem se pode atribuir a culpa por atrasos e maus funcionamentos (bugs). O tempo, bem precioso e escasso nos projetos, é disputado com unhas e dentes por cada membro de uma equipe e gera desavenças como as listadas anteriormente. E também existem gerentes de projetos que se beneficiam dessa situação para trabalhar seus prazos e gerenciar suas entregas. Ou seja, em prol de um “bem maior” há o reforço de uma postura de discórdia que determina a relação do desenvolvedor com o design/designer.

Atualmente há muitas iniciativas que visam melhorar o relacionamento do desenvolvedor com o design. Algumas universidades incluem este tema em suas grades curriculares, surgem empresas focadas em serviços de ergonomia de software que trabalham esta relação no ambiente corporativo e há muitos profissionais empenhados em mudar este estigma.

Estes profissionais de tecnologia possuem um grande papel nesta transformação. São (ou serão) a referência para iniciantes, coordenadores de projetos e professores universitários.

A importância deste relacionamento e a necessidade de sua melhora são mensuráveis, assim como os ganhos que proporciona. E, além disso, esse processo de melhoria gera uma ambiente mais agradável de trabalho, maior produtividade e, inclusive, melhor qualidade de vida.

Por Karyn Nassif

domingo, 16 de setembro de 2007

Dicas para programar melhor

Há muito tempo recebo mensagens de pessoas que querem dicas, seja para uma linguagem específica, seja para a área da programação. Infelizmente não posso dar dicas para todas as linguagens pois não as conheço para escrever sobre. Entretanto, algumas por serem genéricas, podem ser fornecidas e servem como base para toda a área e não somente para esta ou aquela linguagem. É disto que este artigo trata: dicas de como programar melhor. Vamos lá?

Aprenda com os outros

Existem programadores que não suportam imaginar sua "grande invenção" sendo copiada por outros. Para estes, é uma verdadeira heresia compartilhar o conhecimento e o código com outras pessoas. Infelizmente estes programadores estão, em sua maioria, fadados a fracassar pois vão viver inevitavelmente em uma ilha, isolados.

O ser humano chegou em seu estágio de desenvolvimento porque compartilha seu conhecimento e descobertas. Isso acontece em todas as áreas, sejam exatas, humanas ou biológicas. Assim é um equívoco gigantesco pensar que a descoberta de uma nova estrela ou ainda de um novo remédio é um fato isolado e feito por uma pessoa. São dezenas de pessoas em dezenas de instituições diferentes que juntas fazem "o sucesso".

A melhor forma de aprender é tomar exemplos daqueles que já fizeram. Não digo que a criatividade deve ser colocada fora da questão, pelo contrário. Bom é aquele que consegue ver algo e melhorá-lo, levando à excelência. Assim, obtenha código de terceiros e compreenda como o autor chegou em determinado resultado. Compare com o que você já sabe e peneire aquilo que é valioso para você. Muitas vezes a leitura de um código pode resultar na descoberta de uma solução totalmente diferente, e que cai como uma tábua de salvação no seu problema.

Lendo o código de outros programadores também aprende-se como NÃO FAZER (inclusive acredito que é por isso que muitos não divulgam o que fazem). Falta de identação, criação sistemática de variáveis, loops infinitos e todo o tipo de aberração pode ser encontrada em códigos mal feitos. Lendo estes códigos e comparando com aquilo que já conhece, certamente poderá identificar o que é utilizável e o que é "> /dev/null".

Pense antes de fazer

O número de programadores que começa a fazer um software pelo código é tão grande quanto a quantidade de cimento usado para construir as torres Petronas na Malásia. Seja por falta de conhecimento, seja por desespero do cliente ou empregador ou ainda por ego, eles começam a fazer uma casa pelo telhado e não pelo alicerce. Aí meu amigo, a casa cai, literalmente.

Os melhores softwares que conheço são aqueles onde o tempo "gasto" na sua idealização é muito maior que 70 do tempo total para finalizá-lo. Código, qualquer um faz, basta a leitura de um livro, dois tutoriais e um guia de referência à mão que ele sai. Agora, pensar como ele deve ser feito e como ele deve se comportar é algo que poucos fazem mas atitudes que separam o bom do mau software.

Pense no que a aplicação vai fazer. Execute testes de mesa, faça fluxogramas, pense nas tabelas do banco de dados. Considere as variáveis existentes e as não existentes e como a aplicação deve responder para cada uma delas. Imagine o que o usuário é capaz de fazer (cada coisa!) e como contornar as idéias mais mirabolantes possíveis. Levando tudo isso em consideração, seu software está sujeito a ter menos erros e não se tornar uma colcha de retalhos dentro em breve (como alguns sistemas que conhecemos).

Documente

A esmagadora maioria dos programadores não consegue criar um parágrafo de texto com nexo. Conheço vários exímios programadores que não se aventuram em escrever um livro ou um artigo sobre o que conhecem por não conseguir ser expressar além de parênteses, colchetes e sinais de igualdade. Outros até tentam e depois que percebem o erro que fizeram, abominam a idéia e fogem dela como o diabo da cruz.

Mas feliz ou infelizmente (para você), mais cedo ou mais tarde terá que parar e escrever a documentação do que está fazendo. Ela é imprescindível não somente para aquele que paga pelo seu trabalho, mas também para que você possa, em caso de necessidades futuras, saber o que foi feito, como foi feito e onde está cada parte de seu software. É trabalhoso, é cansativo, é chato e principalmente, maçante. Mas acredite, tem que ser feito e o quanto antes. Se no meio do caminho você se perder, poderá saber onde está e para onde vai.

O método correto é começar a documentação ANTES do desenvolvimento do software. Fluxogramas, dicionários e modelos de dados são o mínimo esperado de um programador que vai começar a fazer um sistema. Se começa sem isso, já começa errado e vai certamente dar com os burros n'água logo adiante.

Arme-se com ferramentas produtivas

Em minha última viagem comprei um daqueles afamados canivetes suíços. Uma ferramenta que acho imprescindível em todos os sentidos. Mas ao contrário do que pode pensar, não comprei um "turbo canivete" com mais de cem funções. Comprei um que possui somente aquilo que preciso, ou seja, duas lâminas de corte, uma tesoura, uma pinça, um alicate e uma chave com pontas intercambiáveis que retira qualquer parafuso dos computadores e notebooks atuais, inclusive aqueles com cabeças em estrela usados em disco rígidos. Poderia comprar um super canivete? Sim, mas para quê? Carregar peso desnecessário, pagar mais caro e nunca usar a maioria de suas funções?

Na programação acontece a mesma coisa. Existem ferramentas e "ferramentas" para tudo. Editores de código, gerenciadores de bancos de dados, documentadores e assim por diante. Uns melhores que os outros, sejam em recursos, em funcionalidades e também em preços.

Um bom editor que faça highlight de código, uma identação decente e que forneça acesso rápido à sintaxe das linguagens que usa é extremamente útil e produtivo. Da mesma forma, gerenciadores de bancos de dados são extremamente importantes a fim que possa executar comandos diretamente no mesmo a fim de comparar os valores com o que obtém no código e também, vez em quando, alterar suas propriedades.

Fuja de ferramentas com muitos recursos ou "gordas". A maioria destes recursos você nunca irá usar e se tornarão um peso em sua máquina, além de deixá-lo frustrado por não saber usar tudo o que existe. Prefira uma ferramenta que faz efetivamente o que deseja e que você se sinta confortável com ela. É muito melhor saber usar completamente uma ferramenta mais simples do que não saber usar uma com todos os recursos possíveis e imagináveis.

Não teste, peça para outros testarem

Tudo o que fazemos repetitivamente torna-se mecânico e não percebemos. Exemplos são: dirigir, andar de bicicleta e respirar (ou você pensa para respirar?). Com o teste de software acontece a mesma coisa. Estamos tão inseridos em seu desenvolvimento e conhecemos todas as vírgulas que elas se tornam um problema para o programador que, na hora dos testes, passa por cima de pequenos erros sem perceber e libera uma versão "bugada", ou ainda perde horas para descobrir que falta um ponto dentro de uma operação matemática.

Sempre peça para terceiros testar o que está fazendo e, preferencialmente, que seja um futuro usuário do software. Como ele não está inserido no processo de desenvolvimento e na maioria das vezes pouco conhece de programação, poderá encontrar erros que você simplesmente não percebeu, seja uma imagem deslocada, um pixel a mais numa área da tela ou ainda uma mensagem sem motivo de lá estar (principalmente quando é um palavrão). Fazendo isso, as chances de erros é muito menor (por isso existem beta testes).

Páre e descanse

A programação de software é uma área extenuante. Horas e horas diante de uma tela sentado em cadeiras que não atendem em absoluto a ergonomia de seu corpo. Muitos programadores passam o dia inteiro assim e a grande maioria reclama, depois de alguns anos, que não aguenta mais, seja pela pressão de fazer mais em menos tempo, sejam pelos olhos cansados ou pelas dores nos pulsos.

Se você entrar na onda do "estouro de boiada" e passar dez, doze, quatorze horas diárias sem pausas diante de um código, terá, além dos problemas já citados, um outro comum: lapso de memória. É comum quando estamos em uma situação de estresse psicológico sermos "desligados". Isso não é seu ou meu, mas sim da genética do corpo humano. Ele se "desliga" para isolar-se de situações que possam causar risco à sua sobrevivência. Exemplos são as pessoas que desmaiam diante de um estresse grande como um seqestro ou ainda a perda de um ente querido. E não adianta ir contra isso, se forçar, vai ter um reboot em breve (só espero que não seja um shutdown!).

Sempre faça pausas durante o trabalho. Levante-se, vá até o bebedouro (ou geladeira), beba água, caminhe, converse com alguém. Claro que não é para fazer isso a cada meia hora e tampouco pausas de duas horas. Mas sempre dê tempo ao tempo e principalmente à você. Use esta dica com regularidade para manter seu corpo e suas faculdades mentais em dia. E por favor, jogue no lixo aquelas bolinhas ridículas usadas para massagear as mãos. Elas servem somente como desculpa para que fique sentado com seu traseiro na cadeira e produza o máximo possível. Lembre-se, produção não é volume, é qualidade.

Não se prostitua

Claro que não estou falando de favores sexuais em troca de qualquer coisa. Não é nada disso. Estou dizendo que você não deve se vender por qualquer coisa, para qualquer um. Infelizmente um dos maiores problemas da área de programação é o ato da prostituição laboral onde o programador, por motivos mil, vende seu trabalho a qualquer preço, fazendo com que ele mesmo toda a categoria seja prejudicada.

Você pode advogar que a vida está difícil ou que precisa comer. Claro que sim, todos precisamos. Mas será que precisa ser tão barato? Muitas vezes os programadores são comparados com pessoas que estão começando na profissão mas levando em conta somente a parte financeira, ou seja, o valor de A é muito menor que B, não mensurando a experiência daquele que está há anos fazendo software.

Seja honesto consigo mesmo. Se você é um iniciante na programação, cobre o que é correto pela sua experiência. Entretanto se você é um "macaco velho", não se sujeite aos ditames pré-existentes. Na maioria das vezes isso é ruim para você, ruim para o contratante e ruim para todos nós. Acredite, ainda existem contratantes que sabem o quanto vale um bom programador. Se ele te oferece pouco, certamente é porque seu trabalho para ele vale pouco. Se vale pouco, para que ser escravizado?

A melhor forma de escapar desta armadilha é o planejamento. Muitas vezes somos obrigados a aceitar qualquer coisa que colocam em nossa frente porque não temos um planejamento financeiro adequado e nos vemos numa situação que é pegar ou largar. Não vou aqui ensinar regras de economia pessoal para você mas acredito que seria muito bom ler alguma coisa sobre o assunto e praticar. Com isso não precisa passar por apertos e pode ser valorizado como deve realmente.

Finalmente, como última dica; Seja humilde

Ninguém sabe tudo! Quando você toma uma postura como esta, mantém os braços abertos para receber novas informações e aprender mais, principalmente com aqueles que sabem algo diferente de você. Isso inclusive deve ser usado não somente relacionado com a metodologia ou linguagem que usa, mas sim em toda a área da programação. Muitas vezes você pode ter a solução de um problema baseando-se no conhecimento de outra pessoa que programa em linguagem diferente da sua ou que usa métodos diferentes dos seus.

Paulino Michelazzo (e-mail) é desenvolvedor web desde 95 e escreve com regularidade para vários canais na Internet e revistas nacionais e internacionais. Atualmente é Systems Developing Specialist na missão da ONU – Organização das Nações Unidas no Timor-Leste.

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina