Android Developer Challenge

Se uma empresa produz sistemas operacionais e deseja que a sua plataforma domine o mercado, ela tem duas opções:

  1. Colocar o seu CEO num palco de uma conferência, e pedir que ele fique gritando “developers, developers, developers” até perder a voz.
  2. Prover um ambiente de incentivo econômico para que desenvolvedores utilizem a sua plataforma, no lugar de outras alternativas.

Imagino que o pessoal da Google tenha respeito por suas cordas vocais, pois eles optaram pela segunda opção. Foi anunciado o Android Developer Challenge. A “competição” prevê prêmios para pessoas que desenvolvam novos aplicativos para a plataforma Android, totalizando até US$10 milhões.

Enquanto não há nenhum handset fabricado e pronto para o mercado, os prêmios serão pagos para as melhores propostas e idéias mais promissoras que possam fazer uso da tecnologia oferecida pelo Android. Até o começo de março de 2008, serão aceitas propostas de aplicativos. As 50 melhores propostas receberão um prêmio de US$ 25 mil. Depois disso, quando os celulares começarem a entrar no mercado e os aplicativos já puderem ser testados em campo, serão premiados os 20 melhores (entre os 50 qualificados), com prêmios de US$ 100 mil e US$ 275 mil.

A iniciativa é um reflexo dos tempos. Numa época em que aparelhos celulares são oferecidos de graça por operadoras de telefonia e que esses aparelhos são capazes de rodar sistemas operacionais livres, gratuitos e de qualidade, é difícil conseguir penetração em um mercado maduro. A alternativa, então, passa a ser fomentar desenvolvedores e criar um ecossistema de inovação na sua plataforma.

Alguém aí quer participar? Entre em contato.

Aviso aos empreendedores da Terra Brasilis

Um pouco em cima da hora, o Log4Dev anuncia que amanhã, dia 10 de novembro de 2008, ocorrerá em São Paulo o primeiro 1o StartupCamp Brazil Web. O objetivo do evento é fomentar o empreendorismo brasileiro, promovendo o encontro de VCs, angels, empreendedores, donos de startups, blogueiros e pessoas ligadas à web brasileira. De manhã, haverão palestras e a tarde, um encontro aberto para discutir o empreendedorismo no Brasil. Mais informações sobre o projeto StartupCamp Brazil podem ser encontradas no site deles.

Startup Mantra I: Design é tudo que importa

Já reparou que há algumas coisas no mundo de tecnologia que tiveram sucesso por solucionar um problema e empregavam milhares de pessoas, mas que hoje não são mais realmente problema nem solução? Já reparou também que esses mesmos produtos desenvolvidos por milhares de pessoas, mesmo quando são excelentes obras de engenharia, não caem no gosto do público?

Por exemplo: sistemas operacionais. POSIX ganhou há tempo. O Windows XP é um sistema que está longe de ser perfeito, mas ele se mantém utilizável e estável o suficiente para boa parte das pessoas. Ele resolveu um problema que um sistema operacional deve resolver: permitir que uma pessoa possa rodar seus programas e oferecer suporte básico de operações de computador.

E o Windows Vista? Bem, pode até ser que alguns tarados que tenham olhado as fotos das telas, gritado “Shiny Boxes!” e saído correndo para fazer o upgrade. Com certeza a máquina de marketing de Microsoft vai funcionar a ponto de convencer muitas pessoas que elas têm que ter janelas translúcidas e que elas têm que estar prontas para um mundo de 64 bits. Mas isso é uma grande bobagem. E isso se refletiu nas diversas análises que foram feitas. “Não há nada que justifique o upgrade”. “O maior ponto do Windows que precisa ser corrigido, a segurança, já está abalado pelas novas ameaças.” Não foram poucos os casos que escutei de pessoas que compraram um computador com Vista e voltaram atrás. Certamente a Microsoft vai conseguir com que o Vista se pague em pouco tempo, e seus acionistas vão adorar. Mas com certeza, a dominação que a MS tem não vai ser ampliada em função de seu novo produto.

Outro exemplo? Videogames. Um mercado bilionário, com MS e Sony se debatendo sobre formatos, preços, exclusividade de títulos, tamanho do HD… e quem está levando a parada é a Nintendo. Com certeza os fanboys do PS3 e do XBOX sairam correndo para as lojas gritando “Shiny Boxes!”, vitimados pela máquina de marketing. Mas depois da euforia, o que sobrou?

O Léo com certeza vai deixar um comentário falando que a estratégia da Sony e da MS era outra, de dominar a central de entretenimento da casa. Ele tem razão. Mas o engraçado é que a liderança de mercado ficou com a empresa que não se preocupou em ser a líder de mercado. O grande diferencial da Nintendo é que ela se propôs a fazer algo que fosse da vontade do público consumidor, não da vontade dos acionistas.

A lição que se tira dessa observação: na Economia Digital, não é a tecnologia, per se, que adiciona valor na cadeia de produção. O que adiciona valor é a forma com que a tecnologia (nova ou já existente) é usada para resolver um problema. Com a comoditização tanto de software (graças ao Open Source) quanto de Hardware (graças a lei de Moore), o único ponto de valor agregado está no serviço prestado.

E o que isso implica para aqueles que trabalham com o desenvolvimento de tecnologia? Significa que não basta mais saber como programar, é necessário também ser capaz de saber o quê programar.

Design é tudo que importa para separar os bons desenvolvedores dos operários de luxo.

Se você é um desenvolvedor de verdade, e não um simples digitador de luxo, daqueles que recebe uma especificação pronta e tem que transformar diagramas UML em código Java, você já aprendeu que a parte realmente difícil de se fazer certinho em um software está no design. Não é na implementação, tampouco a parte de debugging. É claro que há os dias que gastamos horas e horas tentando resolver aquela porcaria de bug que nem o seu ursinho de pelúcia ajuda, mas isso é o trabalho braçal da coisa, e não o trabalho difícil da coisa. O trabalho que justifica o salário estratosférico que te pagam e os bônus de fim de ano e a máquina de café expresso que colocaram no escritório só para te manter acordado é o trabalho difícil, que só você, campeão, pode dar conta.

Com as linguagens de alto nível, com poder de hardware sobrando nas máquinas de hoje, com bibliotecas que resolvem problemas já conhecidos e com o Google tendo informação sobre os HOW-TOs de praticamente qualquer coisa já bolada no mundo, a parte de implementação em um projeto de software é muito mais um processo de encaixar peças de quebras-cabeças do que de realmente construção propriamente dita. Ainda não chegamos na fase de “Lego Programming”, mas essa é uma tendência clara.

O que resta? O design. O design é aquela fase onde o analista precisa fazer uma coisa esquisita: sair da frente da IDE e conversar com o cliente. Para efeito de ilustração, cliente pode ser traduzido como “o cara que tem que aprovar o software se eu quiser continuar com o salário estratosférico que me pagam e os bônus de fim de ano e a máquina de café expresso que colocaram no escritório só para me manter acordado durante um trabalho difícil, que só eu, o campeão, posso dar conta.

A fase do design é justamente a fase dos requisitos. É a fase onde o cliente vai te pedir que o sistema seja simples, mas que tenha um monte de recursos. Que seja capaz de resolver todos os 13795 problemas que ele acha que tem ao toque de um botão. Um único botão. Que todos os usuários possam acessar o sistema sem precisar de formas complexas de autenticação, ao mesmo tempo que o sistema precisa proteger o arquivo que seja eventualmente apagado por uma secretária estressada, vingativa e sem aumento há mais de 2 anos.

Design é a arte de saber encontrar soluções adequadas para requisitos conflitantes. E os processos e metodologias para desenvolvimento de software acabam se dividindo em dois campos: os que assumem que não vão encontrar uma solução ótima, e trabalham por aproximações sucessivas (as metodologias agéis), e os que tentam investir tempo e dinheiro para descobrir o ponto ótimo antes mesmo de tocar em uma linha de código (o pessoal das escolas Big M de metodologias: CMM, RUP e outras sopas de letrinhas).

O ponto maior desse post que já está ficando longo: não há metodologia ou processo de software que vá te ensinar a encontrar os requisitos, muito menos um método que vá te mostrar qual é o melhor ponto para cruzar os requisitos conflitantes.

Nas empresas do Brasil que lidam com outsourcing, muito se fala da concorrência de empresas da China e Índia, onde a mão-de-obra é mais barata.

Deixe eu reescrever o paŕágrafo acima: em qualquer lugar do mundo se fala da China e da Índia, por ser um lugar com mão-de-obra barata.

E realmente, a Índia é um lugar onde impera a Ditadura do Processo. É lá que se concentram o maior número de empresas com CMM nível 4 e 5. É para lá que vão os grandes call-centers de empresas multinacionais. É para lá que vão os projetos de software com baixo valor agregado. Se você quiser algo feito com baixo custo e com controle de qualidade absoluto, a Índia é o lugar.

Até a indústria de cinema deles é assim. Bollywood produz 800 filmes por ano, mas é um processo tão maduro e estabelecido que você poderia jurar que é o mesmo filme, feito 800 vezes. É ISO 9000 em película: música maluca, mocinha em perigo, mocinho que salva a mocinha depois de fazer uma coreagrafia tirada de algum clipe do Menudo, mocinho salva a mocinha da maldição. Mais músicas e coreografias de Ricky Martin. Créditos do filme. Próóóóóximo…

Domínio do processo é um passo inicial, importante. Mas se pararmos aí, ficamos sempre dependentes de alguém que possa nos dar ordens e indicar o que devemos fazer. A pergunta: o que vai ser da Índia e da China quando a tecnologia de geração de código chegar num nível elevado o suficiente para que tenhamos o “Lego Programming”? O que será dos milhões de profissionais treinados em resolver problemas que já foram resolvidos?

Eu sei que o leitor do log4dev é inteligente e provavelmente já sabe que design é o que realmente importa, mas quero deixar essa idéia bem clara e justificada para um próximo post, com outras idéias: que senso de design é algo que pode aprimorado, que design é o único ponto onde uma startup pode se preocupar, e que o design está nos detalhes.

Como Produzir Riquezas

Meu último texto foi recebido como um bebê de fraldas sujas pelos leitores. A maior parte olhou com cuidado, disse “que bonitinho” e depois ficou sem saber o que fazer.

Afirmar algo como “agora você pode tomar as rédeas da sua vida produtiva” pode causar isso. A reação natural é se perguntar “Ok. Mas como é que o meu computador e minha conexão com a internet vão me ajudar a pagar o meu aluguel e meu aparelho ortodôntico?”.

Qualquer pessoa que te falar que tem uma receita infalível para ganhar dinheiro ou é louca, ou é vigarista.

O difícil é conseguir explicar de uma forma direta que riqueza e dinheiro não são a mesma coisa. E, levando em conta que eu tenho passado a maior parte do meu tempo trabalhando nos meus projetinhos (por enquanto) secretos, não vou tentar explicar isso melhor.

Vou usar um artigo de Paul Graham para isso.

O Governo da Alemanha quer competir com o Google. E daí?

A Alemanha está anunciando com muita fanfarra que está investindo 165 milhões de Euros, com aprovação pela União Européia, num novo sistema de tecnologia de busca. O projeto ambiciona ser o melhor sistema de busca multimídia da Internet.

Eu já até imagino algum alemão de cerveja na mão e umas três Wiener Würstchen espetadas no garfo, gritando “Ja, wir werden unsere selbe Suchtechnologie haben! Europe über alles!” com tanto orgulho que até eriça fios do bigode.

Enquanto alguns podem até ficar impressionados com o valor do investimento (165 milhões de euros, Dude!!!), eu fico impressionado que os governos - especialmente na Europa - ainda não aprenderam nenhuma lição com os fracassos anteriores.

Projetos de tecnologia têm uma natureza diferente, a qual praticamente impede que o governo possa tomar qualquer iniciativa para correr atrás, ou tentar competir com os líderes do mercado.

Aqui vai uma lição importante: dinheiro não é uma solução para resolver problemas em tecnologia. O fato da Europa ser rica o suficiente para poder destinar verbas consideráveis em ventures não é de serventia nenhuma.

Já se foram dois anos desde que a França anunciou um plano similar, O Quaero. Qual foi o impacto dessa iniciativa? Zero! E não precisa ser vidente para dizer que o impacto será o mesmo nos próximos dois anos, ou vinte.

Quanto maiores os avanços em tecnologia (algo que não tem ocorrido graças a esses “projetos” públicos) mais acessíveis são os produtos que dela resultam, e mais rápidos são os ciclos de desenvolvimento. Essa tendência é incompatível com a forma de trabalho de uma organização como o Governo. Esses mesmos projetos públicos são notoriamente conhecidos por sua lentidão, pela burocracia e pelo excesso de partes envolvidas querendo ditar o rumo do trabalho.

Projetos governamentais, pela sua própria natureza, sofrem da síndrome do design por comitê. Isso pode servir quando queremos ter um projeto que envolva tecnologias já consolidadas (como a Engenharia Aeronáutica e a Airbus, ou o padrão GSM de telefonia celular) e onde o interessante é ter um produto seguro e eficiente, mas jamais servirá para competir num ramo onde o que importa é ser o primeiro, ou ser o melhor.

Qual é o seu papel na inovação tecnológica de sua empresa?

De todas as empresas de tecnologia que você conhece e admira, quantas surgiram da cabeça de um executivo que fez uma extensa pesquisa de mercado? Quantos produtos que causaram revoluções em uma indústria são resultado de anos de pesquisa e aprimoramento de um processo de manufatura?

Pode procurar, eu espero.

Achou algum? Eu sou capaz de apostar que não. E não é por culpa do seu mecanismo de busca favorito. A resposta é mais simples: produtos e idéias que revolucionam mercados (e que no processo deixam seus autores ricos) são desenvolvidos à margem dos objetivos e planos daqueles que fazem parte do establishment.

O iPod, o Ford T, o algoritmo do Google… todos eles surgiram da cabeça de alguém que estava buscando um meio diferente de resolver um problema. Em muitos casos, tudo partiu de um conceito simples, desenvolvido por alguém que apenas observou a forma que as pessoas trabalhavam e intuiram que uma solução melhor era possível.

Tente fazer isso para a sua empresa. Leve uma proposta de uma nova idéia para o seu chefe e veja a sua reação. Mesmo se for uma boa idéia, seu chefe não vai se entusiasmar em implementar algo que pode custar a cabeça dele se der errado. Antes de fundar a Apple, Steve Wozniak pediu a seu chefe para desenvolver o computador dentro da HP, que era seu empregador. Só depois que a HP abriu mão da idéia é que Woz se juntou a Jobs rumo a seu projeto bilionário.

Ainda hoje, grandes empresas se mostram eficientes em gerenciar e manter negócios já existentes, mas péssimas na criação de valor e novas riquezas.

Antes que você se pergunte “E eu com isso?” e volte para o seu jogo de WoW (ou Winning Eleven se você for menos geek do que gostaria de admitir), tente refletir um pouco sobre o seguinte: como trabalhar em uma grande empresa de tecnologia hoje, se a inovação contínua é algo que não costuma ser bem feita dentro da empresa?

Tom Peters é um cara que já pensou bastante no assunto.

Para o leitor que prefere ler toda a API do Java a ler algo sobre o mundo corporativo: Tom Peters é tido como um dos gênios de administração e negócios. Parte dos seus princípios está justamente em explicar porque grandes empresas não devem ter medo de derrubar seus próprios negócios estabelecidos. É o que é chamado Destruição Criativa.

Transcrevo uma de suas pílulas de sua sabedoria: Contrate os Freaks.

Never hire a human being who had a 4.0 (NT: 4.0 é a nota máxima na faculdade americana) in college. If they had a perfect GPA, it means they bought the act and never screwed around. Now a 2.0 is probably not so good. But the ones who had 3.0, yeah! Those are the freaks you want!

Fica mais bonito quando as palavras são dele, não? Além do mais, ele te cobraria milhares de dólares por palestra, enquanto meu texto sai mais barato que um dogão no Pacaembu. Mas a mensagem é a mesma: as empresas que quiserem continuar relevantes no seu mercado de atuação precisam dar espaço para pessoas com pensamento criativo, fora do lugar comum.

Como eu estou começando a escrever agora e preciso mostrar serviço, eu vou dar uma dica bônus: se você for um dos “freaks”, objetos de desejo de Peters, você é muito mais importante para a empresa do que vice-versa. Use isso a seu favor!

A lógica é simples: uma Grande Empresa ™ já tem um negócio estabelecido, e tem que gastar muita energia (pessoal, recursos, departamento judiciário, lobby, marketing) na manutenção desse negócio. Além disso, eles precisam de você se quiserem pensar o Futuro. Em troca, eles lhe prometem um salário e um crachá. Lucro e Risco provenientes do seu trabalho são diluídos, já que seu trabalho vai ser composto com o trabalho de todos os outros, do Diretor até o Office-Boy.

Mas, sendo o “freak” que é, você só tem a ganhar se trabalhar sozinho ou com um número reduzido de pessoas, preferencialmente “freaks” como você. O risco aumenta, mas as chances de lucro aumentam ainda mais.

Considere que o “risco” em questão em casos de empresas que tem custo baixo de operação, como um negócio online, é apenas a possibilidade de ficar sem o salário da empresa. Diante de uma lógica dessas, aceitar o salário da empresa (por melhor que seja) parece-me um roubo!

Pode levar tempo para que mais pessoas percebam isso. E mais tempo ainda para que as pessoas façam essa transição na forma de encarar a sua vida profissional. Mas esse é um processo que já está em curso, e aqueles que agirem mais rápido vão ser mais beneficiados.

Agora, cabe uma pergunta: quem você quer ser? O Diretor da Empresa que não vai encontrar talentos que aceitem trabalhar (a não ser em troca de um gordo salário e benefícios) na sua empresa, ou o freak que aprendeu muito mais que as respostas para as provas da faculdade e entregou todos os projetos no prazo?

Carreiras? Para onde nós vamos, não precisamos de carreiras.

Então, você está aí, feliz no seu emprego. Ao invés de passar seus sábados no posto de gasolina tomando coca-cola com vodca barata, você já conversa com seus amigos pelo msn ou pelo celular sobre o “Happy Hour”. Ao invés de fingir que estuda no laboratório da faculdade, você passa seus dias envolvido com sua atividade profissional. E todos sabemos qual é o dia-a-dia de um profissional: programar 20 linhas de código enquanto descansa após 6 horas de vídeos do YouTube. Isso que é vida!

Ou então, a empresa que você trabalha bloqueou o acesso aos seus passatempos favoritos, e você acabou caindo no log4dev. Quem sabe aqui (você espera) tenha algum post que possa te ajudar a resolver aquele bug idiota que só acontece quando o usuário está logado usando a versão 6.6.6 do IE, num teclado DVORAK acentuado. Você sabe que esse bug não vai melhorar o produto em absolutamente nada, mas seu chefe falou que é muito importante para que o produto esteja de acordo com as normas de acessibilidade do Curdistão, então é bom você, ao menos, encontrar informação suficiente que te permita ter uma justificativa para fugir do bug e marcar como WONT_FIX sem correr o risco de ir para a rua.

Ou então, você é um adolescente metido a esperto que fica buscando textos na internet que possa copiar para o seu site, na tentativa de aumentar em R$2,20 a sua renda mensal com a tonelada de AdSense que recheia o seu “blog”.

Dá trabalho, não?

Vale a pena? Gastar todo o seu empenho e seu conhecimento em um sistema de contabilidade que usa WebServices para a emissão de notas fiscais do açougue do seu tio? Ficar caçando o último rootkit para plantar um backdoor no computador do cara chato da sua escola só porque ele te deu um humilhante “Pedala, Robinho” seguido de um cuecão, quando você finalmente tomou coragem para falar com a Jéssica-aquela-menina-bonitinha-da-sua-turma. Vale a pena?

Talvez não seja o que você queria fazer. Talvez a necessidade de pagar a pensão para a filhinha que você teve aos 18 anos de idade seja maior que as suas paixões pelo seu projeto de computador foto-iônico. Talvez seu emprego seja apenas uma forma de garantir que você tenha dinheiro para financiar seus outros sonhos: sua banda de rock, sua TV de plasma de 183 polegadas, seu Dodge Dart 1981 original. Talvez a sua única ambição quando se interessou por tecnologia era encontrar uma forma de espiar o cara chato da sua turma e poder divulgar no meio da sala de aula o vídeo em que ele faz caras e bocas enquanto dubla uma banda Emo. Talvez o dinheiro do seu salário seja o que você precise para comprar o amor da Jéssica, que agora está trabalhando numa casa que usa neon vermelho para compensar a péssima iluminação natural.

Não importando o seu motivo, o que importa é que você está aqui e agora lendo esse texto.

Mas, se você se importa com o seu trabalho e com aquilo que você produz, será que a melhor alternativa é procurar e aceitar o primeiro emprego que te oferecerem?

Se você acredita na proposta da empresa que pretende trabalhar, tudo que posso dizer é “Vá com fé, irmão computeiro”. Desenvolva todo o seu potencial, coloque todo o conhecimento acumulado e mostre ao mundo o produto do seu suor. E não esqueça de comentar o código.

Mas se você está apenas trabalhando na esperança de receber o cheque no fim do mês, ou esperando a promoção para tentar fazer alguma mudança na empresa e impor a sua marca, há muito mais que pode ser dito.

Por exemplo, há de ser dito que um jovem recém-formado pode, hoje - a um custo muito baixo ou próximo de zero - montar a sua própria empresa e desenvolver produtos que o tornem mais rico que qualquer profissional de carreira.

Podemos dizer que não há mais, na prática, falta de recursos para que uma pessoa possa sozinha trabalhar na sua idéia.

Podemos dizer que um avanço rápido na forma de interação entre as pessoas e a forma de se fazer negócios está em curso, graças ao open source e as tecnologias distribuídas. E, mais importante, o acesso a essas ferramentas é universal. Qualquer um pode mudar o mundo, se quiser.

Mas, hoje, a única coisa que vou dizer é que há muitos que já estão antevendo o resultado dessas mudanças, e estão trabalhando para colocar essas novas propostas em curso. Um destes é Paul Graham, que fez sua fortuna através de sua própria startup, e agora trabalha investindo em novos talentos, sendo um facilitador de novos projetos. Contratar é Obsoleto é uma tradução de um de seus textos, no qual ele explica porque pode ser melhor para uma pessoa jovem que ele monte a sua empresa, ao invés de seguir a idéia tradicional que um recém-formado precisa entrar para uma corporação.

Sempre que eu precisar fazer um intervalo dos meus planos de dominação mundial através da minha startup, pretendo trazer algo para cá.

Até mais, e não se esqueça de comentar o seu código: é um saco ter que desvendar o que você quis fazer naquela função de 2739 linhas.

Página de 1 milhão de dólares

O interessante da internet é que todos podem desenvolver suas idéias, por mais loucas que sejam. E melhor ainda: sempre se pode encontrar alguém disposto a bancar as ditas cujas.

A 1 million dollar home page é um exemplo disso. Um estudante americano resolveu criar uma página para vender pixels. Ou melhor , blocos de 10×10 pixels a 1 dolar cada pixel (ou seja, 100 dolares cada bloquinho). Em cada bloco comprado, o comprador ganha um link para sua homepage, e pode colocar um logo, desenho, símbolo, ou qualquer outro elemento gráfico que caiba no espaço contratado. Qual a vantage para o comprador ? Link para sua página. E um link para uma página, na lógica da internet dominada pelo sistema de busca do google, é extremamente importante. (Quer saber porque ? Leia o artigo sobre o google rank aqui)

Resultado: o cara vendeu 800.000 dólares.

Um dia ainda vou ter uma idéia dessas.