24/06/2009

Simulação empresarial

Semana passada começou o Desafio Sebrae, é a terceira vez que vou participar. Já estou tão íntimo do jogo que uma senhora do Sebrae já me ligou perguntando se eu abri uma empresa depois de ter me formado. Bom, como eu ainda não cheguei a vencer, certamente ainda preciso aprender algumas coisas, mas uma coisa eu já aprendi: a concorrência te engole vivo se você não estiver preparado, assim como os juros do empréstimo do banco.

Apesar de ser apenas um jogo, é interessante como você é forçado a ter uma visão do todo de uma empresa, tais como marketing, finanças, custos, produção e investimentos (definição do manual!). As situações adversas que podem acontecer durante o jogo, lembram que talvez não estejamos preparados para tudo. Como, por exemplo, sua melhor funcionária ficar grávida e pedir demissão ou o seu fornecedor não entregar os seus insumos de produção porque uma chuva destruiu as estradas.

Sei que já é tarde para convidá-los a participar do jogo, mas curtam a propaganda motivadora do Desafio Sebrae (que vocês já devem ter visto no cinema):



Outro jogo de simulação que me chamou a atenção recentemente foi o IT Manager 3: Unseen Forces. Este jogo da Intel te coloca na pele de um gerente de TI de um pequeno negócio com ambições globais. Assim como no Desafio Sebrae, você é forçado a compreender as habilidades necesárias de um gerente de TI, estar pronto para ataques de crackers, panes no sistema, treinamento do pessoal em novas tecnologias e etc. Mas, neste jogo não há prêmios nem competidores, você começa e recomeça quantas vezes quiser e só termina quando você não consegue mais gerenciar a TI da empresa.

Segue abaixo o trailer, bem fraquinho, do jogo:

07/06/2009

Android - o futuro da mobilidade



Desenvolvido pela Open Handset Alliance, um grupo de 47 companhias de tecnologia e telefonia, Android é a primeira plataforma aberta, gratuita e totalmente customizável para aparelhos celulares. Mas por quê começar um projeto tão promissor como este em aparelhos celulares? Por quê não começar pelos desktops e notebooks?

No site da própria Open Handset Alliance eles explicam esta questão com uma simples estatística: 1.5 bilhões de televisores em uso no mundo, 1 bilhão de pessoas estão ligadas à internet e aproximadamente 3 bilhões de pessoas possuem um telefone celular. Obviamente isto torna os dispositivos móveis um mercado bem atraente. E o lançamento do primeiro celular com Android foi tanta, que algumas empresas já o utilizarão como o sistema operacional de fábrica de seus netbooks.

Veja abaixo a propaganda do G1 da HTC, o primeiro celular com Android:



E hoje já temos estes smartphones declarando guerra aos netbooks. Aparentemente as pessoas estão preferindo comprar celulares super inteligentes no lugar dos mini notebooks. Se a idéia dos netbooks era de entrar na internet de maneira rápida, utilizar mensageiros e criar documentos, os celulares inteligentes o estão fazendo da mesma maneira e melhor. E o preço dos dois são praticamente os mesmos.

Por isso muitas empresas estão investindo na mobilidade. Acredito que em breve desktops devem desaparecer e os notebooks irão tomar o seu lugar. Assim como os smartphones tomarão o lugar dos netbooks. Além disso, dispositivos diferentes, com o mesmo sistema operacional e ligados a internet, devem mexer com a imaginação de muito desenvolvedor. É bom ficar de olho no caminho que o Android está tomando, é possível que em breve ele seja uma das principais plataformas para desenvolvimento.

31/05/2009

Qual linguagem de programação aprender?

Uma dúvida que provavelmente deve aparecer na cabeça de todo estudante de Ciência da Computação é: qual linguagem de programação aprender? Antes mesmo de entrarmos na faculdade, recebiamos aqueles panfletos no sinal ou no centro da cidade com cursos que ofereciam várias opções de combos de linguagens para aprender. São dezenas de opções e ficamos perdidos sobre em qual delas devemos nos focar. Por isso, resolvi fazer uma pesquisa rápida na área de emprego das (que eu acredito ser) três maiores empresas do momento: Google, Yahoo e Microsoft.

Nesta pesquisa quis observar quais são as principais linguagens de programação que estas empresas requerem como necessárias e desejáveis para os cargos de desenvolvimento de software. Utilizei uma amostra de dez ofertas de emprego de cada uma das três empresas, escolhido de modo aleatório, de cidades diferentes, tirando os cargos de chefia e as linguagens de base de dados. Segue abaixo o TOP 3 em cada caso:



Conhecimento necessário:

1º - Java (9 das 10 ofertas);
2º - C/C++ (8 das 10 ofertas);
3º - Python (4 das 10 ofertas);

Conhecimento desejável:

1º - Python (5 das 10 ofertas);
2º - Shell (4 das 10 ofertas);
3º - Perl (4 das 10 ofertas);




Conhecimentos necessários:

1º - C/C++ (7 das 10 ofertas);
2º - Java (4 das 10 ofertas);
3º - Perl (3 das 10 ofertas);

Conhecimentos desejáveis:

1º - Perl (3 das 10 ofertas);
2º - PHP, Python e Ruby (2 das 10 ofertas);



Conhecimentos necessários:

1º - C/C++ (10 das 10 ofertas);
2º - C# (5 das 10 ofertas);
3º - Assembly (1 das 10 ofertas);

Conhecimentos desejáveis:

Bom... basicamente não existem conhecimentos desejáveis para os cargos de desenvolvimento de software na Microsoft, praticamente tudo se resume a C/C++ e C#.


Pelo o que podemos ver, a grande linguagem campeã é C/C++, que aparece como necessária nas ofertas de emprego das três empresas. Depois dela, você escolhe o perfil que mais se encaixa com você. Gosta do estilo Google/Yahoo? Java! Gosta do estilo Microsoft? C#! E entre as linguagens desejáveis, Perl e Python ficaram como as mais pops.

Deixando as linguagens de programação de lado, outro conhecimento necessário que aparece em praticamente todas as ofertas de emprego é o conhecimento dos ambientes UNIX/Linux, até mesmo em algumas ofertas da Microsoft. Então, escolha já sua versão Linux e comece a programar!

24/05/2009

O que é computação em nuvem?

Já faz um tempo, o termo Computação em Nuvem (Cloud Computing) se tornou popular e um possível candidato a estabelecer os novos padrões de como serão usados os computadores e a internet no futuro. Se você está tão perdido quanto eu (antes deste post) sobre o que é computação em nuvem, não se preocupe, você já usa esse modelo de computação há muito tempo e nem sabia!

Para começar, veja esta reportagem do Olhar Digital (UOL Tecnologia) para ter uma primeira impressão:



Como você acabou de ver acima, é provável que o estilo de computação em nuvem acabe com a necessidade de um computador super potente para ter todos os programas que você precisa. Como seus arquivos e os programas que utiliza no dia-a-dia vão estar na nuvem (vulgo milhares de servidores), você só vai precisar do acesso à internet. Esqueça também a necessidade de instalar programas. Você por acaso já instalou o Gmail? Ou precisou atualizar alguma versão dele? Claro que não! Isso agora é preocupação de quem estiver cuidando da nuvem. Dê adeus aos avisos de "Você tem uma nova atualização" ou "Experimente a versão X".

Outra palavra importante dessa nova tendência é escalabilidade. Hã?! O quê?! Calma... Imagine que você tem um site, ele começa a ficar famoso, receber muitas visitas e aquele servidor de 3ª mão que você comprou pra hospedar ele não aguenta mais a quantidade de pessoas entrando nele. O resultado já conhecemos, é como querer fazer a matrícula da faculdade pela Web no último dia... nada funciona! Mas como no futuro você vai usar a computação em nuvem, aqueles milheres de servidores vão oferecer pro seu site exatamente o poder de processamento e memória que ele precisar e, tcharam!, seu site não vai mais cair nem dar problema. Essa é a tal escalabilidade.

E só precisaremos pagar por aquilo que usamos. É como se fossemos receber uma conta de luz, se usamos muito, pagamos mais, se usamos só o básico, pagamos pouco. A pirataria também deverá decrescer horrores com esse modelo. Mas ainda existem algumas preocupações sobre a segurança dos dados. E se alguém tropeçar no fio do servidor? E se alguém roubar aquele meu projeto secreto? Se as empresas deverão se esforçar para resolver esses problemas ou se iremos utilizaremos algo fora da nuvem para proteger nossa privacidade, só veremos daqui uns anos.



Quem quiser uma visão simples e empresarial da nuvem, segue esta animação, em inglês, da Salesforce:

20/05/2009

O cruel início de um blog

Quando pensei em criar este blog a primeira coisa que me veio à mente foi: "YES! Vou criar um blog! Um blog interessante, que atraia as pessoas e motive-as a debater o post nos comentários!". Claro que essa simples vontade não passava de uma vontade simples, no fundo eu não tinha pensado em nada. Começar um blog (que você queira que seja minimamente interessante) implica em pensar em algumas daquelas táticas de marketing que você encontra por aí, como fazer a análise ambiental, identificar pontos fortes e fracos, público-alvo, divulgação e etc.

Então, a primeira idéia que me veio era a que eu deveria evitar: escrever sobre a minha vida. O meu cotidiano não é interessante o suficiente para prender a atenção das pessoas, por isso decidi limitar este blog a apenas um pedaço da minha vida, o pedaço em que sou um estudante de ciência da computação. Este é o espaço que criei para dividir dúvidas, experiências, idéias, novidades e curiosidades do mundo dos nerds. Logical conclusion: este vai ser um espaço voltado para pessoas como eu, inexperientes mas sedentas por conhecimento em tecnologia e também para aqueles que simpatizam com a nossa causa e gostam de ensinar os novatos.