sábado, 26 de março de 2011

Android - A Escolha

Amores vem e vão, e mais uma vez estou completamente apaixonado, Android é uma linguagem, e um ambiente operacional, da Google para se criar aplicações para dispositivos móveis. Tudo começou com uma pequena dúvida, nesta época podiamos dividir as linguagens de ambientes móveis em três grupos:

1. Objective-C. Tudo o que atualmente a Apple tem feito, tem causado um enorme furor, seja seu fantástico iPhone, ou quem sabe seu audível iPod e agora seu tablet iPad. Posso até nem saber o que vem a ser um tablet, mas quero um iPad. A linguagem usada nessa parafernália chama Objective-C, porém, para desenvolver nisso você precisará de um ambiente MacOS (não, não roda nem no Windows ou Linux), baixar o X-Code e se filiar a Apple Developers. Ou seja, acabou sendo uma paixão cheia de limitações na minha vida.

2. JavaX. O tão prometido ambiente ficou igual a perna de cobra, alguns até juram que já viram, mas qual celular isso roda? até que era uma excelente promessa depois do sub-utilizado que ficou a JavaME. Foi um amor, continua sendo, e quem sabe um dia quando ela me olhar com aqueles olhinhos verdes cheios de promessa.

3. Symbian. Notoriamente tão utilizado quanto Windows e IE, rápido, prático e muito fácil de programar, entretanto seus programadores são tão raros quanto políticos ficha limpa (que ninguém inclusive fala quem são) parece até que os programas brotam por mágica, tipo assim: pluft. E foi como mágica que aos poucos os programas estão desaparecendo. Mas quem sabe como mágica mais uma vez ela retorne.

E de repente a Google (lembra dela?) aparece sorrateiramente com seu robozinho verde, não sei acho que foi a época que vivemos nessa cultura de pró-natureza, reciclagem e essa coisa de Salvem o Verde a todo custo que o "Android" pegou, e firme, para se ter uma idéia de 2008 para cá foram escritos mais de 50 livros (do básico ao avançado da linguagem) aqui no Brasil, até o momento temos 2, um da Novatec e outro que é uma tradução do livro da O'Reilly (também representada no Brasil pela Novatec).

Quais são as vantagens desta nova linguagem (no ponto de vista de quem irá desenvolver):
  1. Multi ambiente (Windows, MacOS e Linux), não ficar presa como a Objective-C é um ponto forte do ambiente Android SDK.
  2. Plugins para os ambientes Eclipse e Netbeans, os dois principais ambientes dos programadores podem ser utilizados para desenvolvimento.
  3. Emulador. Necessário para qualquer ambiente, mas o do Android até Internet acessa, reproduz perfeitamente o que é o celular.
  4. Integração com Java. Isso é um fator decisivo, diferente de Symbian, Android usa Java como Struts 2 ou Hibernate usam
  5. Banco de dados embutido. Android já vem com o SQLite que muitos podem achar em se tratar de uma cópia do HSQLDB. Mas ele é rápido, prático e atende todas as necessidades de qualquer projeto.
Isso tudo significa que você precisa aprender um pouco da estrutura dos Activity, uma pitada de XML e já estará começando a criar seus programinhas para celular. Então minha escolha foi a mais simples possível, comprei um Celular Samsung Galaxy 5 - GSM com Sistema Operacional Android 2.1, Tecnologia 3G, Wi-Fi, GPS, Câmera 2.0 MP, Filmadora, MP3 Player, Rádio FM, Bluetooth 2.1, Fone, Cabo de Dados e Cartão de 2GB. E estava pronto para curtir um novo amor.

Abraços e até a próxima
Fernando Anselmo

PS. Interessante página do Felipe Silveira sobre desenvolvimento para o Android.

segunda-feira, 7 de março de 2011

Empregabilidade - Certificado 5 Estrelas

Existe um site interessante proposto pela Microsoft chamado Profissional 5 Estrelas, o que é isso? Uma Prova de Certificação, on-line que você pode obter algum reconhecimento, entre os conteúdos disponíveis estão:
  • ISA Server
  • Sharepoint Services 3.0
  • SQL Server 2005
  • Active Directory 2003
  • WS2003 - Ambiente de Hosted
  • Windows Vista
  • Exchange Server 2007
  • Windows Server 2008
A idéia é extremamente simples, você se cadastra de graça no site para ter seu ID do Windows Live, escolhe qual conteúdo você deseja estudar e começa a ganhar suas estrelas, só tem um detalhe para conseguir a última estrela (nem tudo são flores) você precisa ser aprovado nos exames oficiais da MCP e desta forma simplesmente submeter seu transcript. Ou seja, no "frigir dos ovos" o programa é uma forma de fazer você estudar para obter as certificações oficiais da Microsoft, o que vem a ser um excelente incentivo para quem está parado.

Abraços e até a próxima
Fernando Anselmo

domingo, 13 de fevereiro de 2011

Projeto - Tríade Vitruviana

Esse nome "Vitruviana" não deve lhe soar estranho se você é um apaixonado pelas obras de Leonardo da Vinci, sendo que seu mais famoso desenho é o Homem Vitruviano:


A Tríade Vitruviana foi apresentada por Marcus Vitruvius Pollio, que foi um arquiteto e engenheiro romano do século I a.C., e defendeu a existência de três pilares fundamentais da arquitetura: a firmitas, se refere à estabilidade e ao carácter construtivo da arquitetura, a utilitas, se refere à comodidade e ao longo da história e foi associada à função e ao utilitarismo e a venustas que está associada à beleza e à apreciação estética.

Entendemos, que muitos detalhes de um projeto também passa por esses três pilares, ser firme e bem estruturado (firmitas), possuir uma função (utilitas) e for, principalmente, interessante de se ver (venustas). Preservar a identidade dessa forma de pensar e criar, como arte, que pode ser entendida como forma do universo da arte, constitui em uma totalidade e uma multiplicidade de diversos componentes que coexistem em qualquer espaço construído que se considera. As possibilidades de criação podem ser consideradas infinitas e dessa forma, mesmo um projeto já executado e criado, poderá possuir milhares de formas diferentes, e é nesse entendimento que se baseia o "Homem Vitruviano" de Leonardo.

Existe sim, grandes obstáculos, para se colocar idéias sobre as máquinas binárias, por exemplo, a falta de centralizações e hierarquias, inspiradas apenas no saber e no controle, isto é, de lugares que, somente o cérebro humano constitui uma livre e maior forma de expressar. Criar, inventar coisas imprevisíveis é o que pode sonhar qualquer Gerente, Analista, Designer ou mesmo Desenvolvedor ao realizar um projeto.

Abraços e até a próxima
Fernando Anselmo

domingo, 30 de janeiro de 2011

Empregabilidade - Cursos e Cursos

Existem alguns cursos que realmente valem a pena fazer, por exemplo, uma Graduação, uma ou duas Pós-Graduação, um Mestrado e finalmente um Doutorado (não se esquecendo obviamente do Pós-Doutorado), bem depois desses milhares de anos, onde você provavelmente já tem uma vida profissional excelente, restam ainda os outros cursos.

Cursos Tecnólogos, são equivalentes a uma Graduação porém sem o "status" de um Bacharelado (veja essa matéria interessante do Max Gehringer no You Tube). Cursos Profissionalizantes, são aqueles cursos que focam um objetivo e possuem normalmente uma carga horária mais reduzida. Cursos Especialistas, esses são cursos que variam de 5 a 120 horas dependendo do conteúdo que se deseja, por exemplo, "Lógica de Programação". A tecnologia está permitindo uma nova modalidade de cursos, são conhecidos como EAD, ou seja, Ensino a Distância. No conforto da sua casa é possível fazer diversos cursos que podem agregar valor ao seu currículo.

Imagine então que você pode entrar nos desejados cursos do Instituto de Tecnologia de Massachusetts (MIT) e fazer, por exemplo, um curso de "Estrutura e Interpretação de Programas de Computadores", "Introdução a Bioengenharia", ouum curso de "Networks". Já sei você está preocupado com quanto vai ter que desembolsar? Esquece pois todos os cursos são de graça. O único pré-requisito básico é saber Inglês.

Endereço do site do MIT

Fernando, socorro não sei inglês, não se preocupe, no site English-area você contará com um curso gratuito de língua inglesa.

Abraços e até a próxima
Fernando Anselmo

sábado, 29 de janeiro de 2011

Projeto - Qual a fórmula para um projeto de sucesso?

Vou dar uma dica, para emagracer não existe mistério ou milagre apenas uma simples fórmula:

Corpo Enxuto = Exercícios + Alimentação Balanceada

Pode perguntar para qualquer nutricionista, ir a clínicas de emagrecimento ou mesmo aqueles planos que prometem milagres em pouco tempo, todos eles vão se basear nessa fórmula, que no final se traduz para o seguinte corolário:

No Pain, No Gain

Agora, enquanto estava correndo me veio uma pergunta simples na mente, existe uma fórmula para um projeto de sucesso?


Talvez o pessoal do PMBOK possa conseguir uma, ou quem sabe alguns Gerentes, mas o que queria era uma fórmula única e fácil de reproduzir. Vamos tentar algumas. Eis a primeira:

Projeto Sucesso = Boa Documentação + Bons Requisitos

Ou seja, um projeto de sucesso depende unicamente se o "Analista de Requisitos" fez um bom trabalho, não acredito que todas as fases de um projeto dependam exclusivamente dele. Vamos tentar outra:

Projeto Sucesso = Equipe Treinada + Gerenciamento

Então o projeto agora depende de ter um bom "Gerente de Projetos" consciente de suas obrigações, também não creio que dependa somente dele. Vamos tentar outra:

Projeto Sucesso = Análise Correta + Testes

Um projeto deve depender apenas dos "Analistas de Sistemas" e "Analistas de Testes" que permitiram que todos os requisitos levantados fossem corretamente analisados e testados? Não. Vamos então tentar uma combinação de todas as formulações:

Projeto Sucesso = Boa Documentação + Bons Requisitos + Equipe Treinada + Gerenciamento + Análise Correta + Testes

Ficou bem grande, mas acho que estamos chegando a algum lugar, talvez pudéssemos resumir para:

Projeto Sucesso = Participantes realizando seu trabalho corretamente

Acredito que agora estamos perto, basta apenas provarmos através de um corolário que pode ser descrito por:

As características dos participantes são fundamentais para o sucesso do projeto

Essa pode ser descrita como a fórmula para um Projeto de Sucesso.

Abraços e até a próxima
Fernando Anselmo

PS1. Um corolário (do latim tardio corollarĭum) é uma decorrência imediata de um teorema.
PS2. Leia um interessante documento de Heron Domingues, PMP

domingo, 16 de janeiro de 2011

Projetos - Dieta tem a ver com planejamento?

A alguns blogs atrás publiquei que um dos meus objetivos deste ano é perder exatos 33 Kg (comecei o ano com 93 Kg e pretendo chegar aos 60 Kg), desta forma é só deixar de comer de tudo e pronto? Infelizmente, queria que fosse "fácil" dessa maneira. O primeiro capítulo dessa novela que está apenas começando, foi visitar um Nutricionista para obter algumas dicas do que poderia fazer, não queria ficar preso aqueles cardápios malucos que só o dono de quitanda ou supermercado consegue realizar. Então era simples, queria saber o que posso comer, quando em quando posso comer e quanto posso comer.

Vejamos a níveis práticos de um projeto, a primeira coisa é simplesmente desenvolver certo? Errado o primeiro detalhe a se pensar é fazer um eficiente Planejamento. Planejamentos são como caixa pretas que contém vários passos que somente um super gênio gerente super-ultra-caro consegue realizar? Errado novamente, Planejamento deve ser lido e compreendido por todos que possuem algo a ver com o projeto sejam Steakholders ou o Programador, a compreensão deve ser geral.

Quem deve cuidar da execução do projeto, é o Analista Responsável certo? Errado mais uma vez, quem cuida da execução de um projeto é o "Gerente de Projetos", mas na minha empresa não é assim e o gerente (escrito com letras minúsculas de propósito) apenas senta e verifica se todos bateram o ponto. Acredito que se um gerente desses fosse substituído por um manequim a empresa lucraria bem mais. A função de um Gerente de Projetos é:

1ª) Junto com os Analistas de Requisitos e Analistas de Sistemas planejar o projeto;
2ª) Definir a equipe que executará o projeto;
3ª) Definir marcos de execução do projeto (datas de realizações e entregas);
4ª) Acompanhar para que tudo esteja correndo bem;
5ª) Servir de canal de comunicação entre os Analistas de Requisitos e os Analistas de Sistemas.

Além de algumas outras funções, mas, as listadas acima são primordiais, o Profissional de RH é o responsável por verificar se todos estão batendo o ponto corretamente, bem como salário, contratação e outros problemas administrativos.

Bem, já estava com as minhas dicas para iniciar e agora era simplesmente executar e acompanhar minha dieta. O Planejamento era simples e bem fácil de entender:
  1. Preocupar-se em perder um total de 3 Kg ao mês, a visão era ao final de Janeiro estar com 90 Kg e não no final do ano com 60 Kg. Sempre foque seu objetivo em prazos curtos e acompanháveis.
  2. Ao invés de pegar o carro para realizar qualquer atividade ir preferencialmente a pé. Existem vários meios de se chegar a um destino, abra suas visões.
  3. Diminuir o açúcar o máximo possível (café, doces, sorvetes, refrigerantes), utilizando seus substitutos (adoçantes, diets e lights). Muitas vezes substituições são inevitáveis, procure sempre fazê-las ao invés de se prender.
  4. Não cometer excessos, e tentar ser mais regulado (tirar a gordura da carne, preferência aos grelhados, não tomar sucos ou refrigerantes durante as refeições para não atrapalhar a digestão). Evitar os erros do passado (observar as Lições Aprendidas).
  5. Tentar comer em intervalos regulares. É sempre melhor, realizar um pouco por vez que tudo de uma vez só.
Estamos no meio do mês de Janeiro e por enquanto não está sendo muito complicado manter essas dicas e o que posso dizer é que a balança já acusa 2 kg a menos.

Abraços e até a próxima
Fernando Anselmo

quarta-feira, 5 de janeiro de 2011

Informática - Assembly sim Senhor

Quando pensei em colocar uma linguagem neste blog a primeira que me veio a mente foi Java, entretanto já existe o JEDI e deste modo confesso que fiquei sem alternativa. Talvez já pensando em Empregabilidade, comecei a sondar as linguagens nas quais nenhum programador estaria desempregado, mesmo sendo um novato, e de imediato duas apareceram na minha mente:

Natural - Linguagem da Software AG para o banco de dados ADABAS, foi minha primeira alternativa, porém é uma linguagem para grandes Data Centers, e até existe um produto novo chamado NaturalONE, recomendo fortemente uma visita ao seu site.

COBOL - Uma das primeiras linguagens comerciais e realmente seria bem interessante falar dela, entretanto existe o site do Mundo Cobol que é totalmente dedicado a essa linguagem, e assim como Java não queria me tornar muito repetitivo.

Minhas opções estavam começando a se reduzir, outras duas linguagens que auxiliam em uma boa empregabilidade são PHP e Visual Basic (mais o .NET), entretanto não queria entrar no mérito dessas.

Bem, realmente agora estava sem opções. Até que por um ato do destino, fui sorteado na faculdade para apresentar um trabalho sobre Assembly e, durante minhas pesquisas, vi que permanece com uma boa empregrabilidade, talvez não tão forte quanto essas cinco citadas. Porém, lembro que devo boa parte do meu conhecimento lógico ao Assembly, conhece-lo me forçou ser mais "enxuto" em relação as outras linguagens que aprendi no decorrer da carreira e confesso que só tive a lucrar com isso.

Deste modo, me propus a ensinar Assembly neste blog como linguagem alternativa para quem deseja manter o seu nível de empregabilidade em alta, se você não leu os posts publicados no ano passado recomendo que faça uma visita a eles, pois no nosso próximo encontro partirei de onde parei.

Abraços e até a próxima
Fernando Anselmo