quarta-feira, 27 de julho de 2011

Meu time!

    Todo mundo tem um time, correto? Mas venho aqui para apresentar o time do qual tenho a oportunidade de fazer parte!
    Trabalho na APISystems, com um grupo pequeno de profissionais que cada vez mais me deixa surpreso com a superação das dificuldades apresentadas na profissão.
    São pessoas que estão dispostas a buscar sempre a melhor solução para os casos mais “cabeludos” que nos são apresentados.
    Cuidamos de mais de nove tipos de sistemas diferentes, de diversas áreas (incluindo sistemas web), somando um número grande de clientes. É uma responsabilidade muito grande para quem quer ir sempre além.
    Como organizar isso tudo?! Bom, estamos sempre pesquisando e testando algumas  metodologias de trabalho para turbinar nossas vidas. E atualmente, a que mais se encaixou a nossa forma de trabalho foi o método Scrum.

Divisão
   
No momento, estamos envolvidos em alguns projetos grandes e para dar conta da responsabilidade, recorri a nossa ninja master Gláucia, desbravando e encabeçando essas tarefas mais complexas. A sua experiência conta muito para definir como vai funcionar, as melhores alternativas, e detalhes que fazem a total diferença no produto final.
   
Guilherme e Glaucia
Para as alterações, correções e implementações que fazem parte do nosso dia a dia, temos o mais novo membro JEDI JVCL: Prze! Ele está designado a atuar nas solicitações mais urgentes (aquelas que são para ontem), reduzindo assim o tempo de resposta para o cliente e liberando os demais desenvolvedores para cuidar de outras funcionalidades (além de ser o garoto que busca o pão pro café da tarde!).
    Temos um ponto muito forte a nosso favor: União!
    Somos pessoas comuns (eu acho), com problemas, chiliques e dificuldades, mas, com uma grande vontade de poder fazer a diferença para a sociedade.
    Nossa missão é traduzir as necessidades do cliente em funcionalidades de sistemas, e isso está muito bem definido na cabeça de nossos desenvolvedores.
    Temos a facilidade e humildade para trabalharmos juntos e respeitar a opinião de cada um. E te confesso que as ideias que mais deram certo foram as que, ao longo do tempo, receberam a contribuição de todos. Afinal, nem sempre nossa solução é a melhor!

Concluíndo
    Porque estou falando disso agora?
    É simples: trabalhar com essa galera é muito gratificante e me faz crescer!
    Eles são os loucos que apoiam minhas ideias, e ainda contribuem! E por mais complexo que pareça o problema, pensam no quanto vai ser gratificante ver o cliente satisfeito e poder pensar que contribuímos para isso.
Assim somos!
    Valeu pelo apoio, pelas vitórias e aprendizado!

terça-feira, 5 de outubro de 2010

Debugar variáveis com PHP

 Há algum tempo atrás, li um comentário que um colega colocou na lista de webstandards sobre uma rotina usada no wordPress para debugar. Era um simples:
echo '<pre>';
print_r($_POST);
echo '</pre>';

Achei isso fascinante!
Adaptando a minha necessidade, adicionei algumas coisas para melhor utilização.
Ontem um amigo veio me perguntar como ele poderia fazer para facilitar sua vida, estou postando aqui pois pode servir para mais alguém.
A ideia é criar uma função, onde vamos passar como parâmetro a variável que iremos debugar.

function debugar($metodo) {
echo '<style>
.debugador {
background-color: #FFF;
border: 5px solid #FF9900;
padding: 5px;
width: 300px;
height: 300px;
overflow: auto;
position: absolute;
top: 0;
right: 0;
z-index: 1000;
cursor: pointer;
}
</style>';
echo '<pre class="debugador">
<p><b>Debugador:</b></p>';
print_r($metodo);
echo '</pre>';
}

Eu adicionei o CSS para apresentar de uma forma melhor, e sem atrapalhar o restante do conteúdo. Desta forma, ele será exibido em um box no topo da tela, no canto direito.
Para utilizar a função, basta chama-la passando a variável que necessita debugar:<?php debugar($_POST); ?> ou <?php debugar($_SESSION); ?>

Fique a vontade para mudar, melhorar e usar!
Espero que sirva para mais alguém!
Grande abraço!

Firebird 2.5

Para todos aqueles que esperavam sair o a versão final do excelente gerenciador de banco de dados Firebird, em sua nova versão 2.5 já podem comemorar! Finalmente a criança nasceu!
Ainda não baixou o seu?! Esta esperando o que rapá!

Grande abraço!

segunda-feira, 4 de outubro de 2010

Nova realidade

Nesse sábado recebi um e-mail que anunciava uma proposta de emprego na área de desenvolvimento de sistemas que achei interessante.
Gostei de ver a forma com que a empresa anunciava as vantagens para os futuros candidatos: Máquinas extremamente rápidas, dois monitores para cada programador, softwares  licenciados e equipamentos de ultima geração. Café, almoço e café da tarde por conta da empresa, plano de saúde, sala de recreação com TV, video game e totó.
Achei muito interessante, pois um anuncio desses demonstra em qual nível essa empresa se encontra, incentivando qualquer candidato a fazer o máximo para merecer uma oportundidade dessas.
Eu tenho notado que é crescente o numero de empresas que investem cada vez mais no bem estar dos funcionários, acreditando que se ele estiver bem (estimulado, remunerado, com a chama inicial de sua contratação acesa) poderá vestir realmente a camisa da empresa.
Se você é daquele tipo de pessoa que esta procurando um emprego desse tipo, achando que é um sonho, ou algo fora do nosso alcance, relaxa! Isso é mais que realidade, e cada vez mais caminha para uma realidade de todos. Afinal, para se chegar a grandes objetivos é necessário grande mudanças!

Muito Obrigado!

quinta-feira, 16 de setembro de 2010

Firebird Embedded

Esses dias precisei mudar um sistema de um cliente que usa Firebird Super Server para embarcado (embedded).
A principio achei que daria muito trabalho, mas quando iniciei a pesquisa descobri que não seria bicho de 7 cabeças!

Essa versão do Firebird foi feita para rodar sem necessitar instalar nada na maquina. Ela lembra um pouco a funcionalidade do SQLite de funcionar!
Excelente para mandar com aplicativos de demonstração, roda de pendriver, disquete (ainda existe?) e onde mais você quiser!

Funciona maravilhosamente para um cliente, não deixando nada a desejar!
E o melhor de tudo, sua instalação e configuração é muito simples!

Para testar em minha maquina, parei todos os serviços que estavam rodando do firebird, fui até o site da ibPhoenix selecionei a versão V2.1.
Fui direcionado para essa parte:






Baixei o Embedded Server For Windows.

Vamos supor que sua aplicação esteja no seguinte diretorio: C:\MEU_SISTEMA e que seu banco esteja em C:\MEU_SISTEMA\MEUBANCO.FDB
Extraia os arquivos do zipados do Firebird embedded e você deve ficar com a seguinte estrutura, tirando o seu banco e executável da aplicação:




Vamos começar a fazer a configuração.
Abra o arquivo firebird.conf e localize a seguinte palavra: #RootDirectory e altere para o diretorio onde se encontra sua aplicação (com esses arquivos que você extraiu do firebird é claro!). Não se esqueça de retirar o # para descomentar.
No nosso exemplo ficou como RootDirectory = C:\MEU_SISTEMA
Até ai tudo tranquilo, né?!
Agora vamos configurar nossa conexão.
No meu caso que utilizei o Delphi 7 para criar esse programa, tive que mudar algumas coisas, então vamos aos detalhes: nas versões server do firebird, sempre usei o fbclient.dll para conexão. Na versão embedded tenho que utilizar o fbembed.dll. Mas caso queira renomear para fbclient.dll fique a vontade! Eu preferi deixar do jeito que esta.
Outro detalhe muito importante, é que na string de conexão, comigo só funcionou colocando o caminho do banco, sem LOCALHOST ou porta: C:\MEU_SISTEMA\MEUBANCO.FDB
Feito isso, deixei usuario/senha padrão mesmo (SYSDBA/masterkey) e tentei conectar!
O primeiro erro que tive, foi que “CHARACTER SET WIN1252 is not definid”. Fiz varias pesquisas mas não consegui achar nada para solucionar, então a unica solução que encontrei foi definir o CHARSET = NONE.
Desta forma a aplicação executou! Agora estou procurando uma forma de utilizar o Charset WIN1252. Assim que conseguir posto aqui!

Minha ideia com esse artigo é tirar a impressão de que rodar o firebird embarcado é complicado, que nada! Deu pra ver com é tranquilo né! ;)
Agora você ja pode criar sua aplicação e rodar direto do pendriver, montar agenda, etc!

Grande abraço e Muito Obrigado!

terça-feira, 13 de julho de 2010

Ser líder sem deixar de ser gente

Venho há algum tempo procurando aprimorar-me em relação a liderança.
Como as coisas estão mudando cada vez mais rápidas, em nosso dia-a-dia quem é que não se depara com diversas escolhas que devem ser tomadas, com a responsabilidade de decidir representando outras pessoas?! Se você passa por isso, parabéns! Você é um líder!
O grande líder, tem a facilidade de envolver as pessoas. Suas atitudes devem visar primeiramente o seu grupo, e, na maioria das vezes, se colocar em segundo lugar.
Jamais deverá assumir uma postura de dono da verdade, ao contrário, deve manter um constante espírito de busca e aprendizado. Um bom líder é aquele que está sempre buscando aprender, seja lá onde for, ou com quem for.
Esse tipo de comportamento incentiva o seu grupo a querer buscar cada vez mais melhorias, pois o exemplo (modelo) não parte do grupo para o líder, mas sim do líder para o grupo.
Um bom exemplo seria uma empresa, onde os funcionários passam a ser o reflexo das pessoas que estão acima. Por isso o bom exemplo deve começar de cima (líder).
Quando o líder compartilha com o seu grupo o seu desejo (seja ele para a empresa, família, sociedade), é que da inicio a força propulsora que irá projetar todos os envolvidos para a concretização desse ideal.
Por isso é tão importante estar sempre  se perguntando: - O que eu quero para mim e para as pessoas? Quando não se sabe responder essa pergunta, o seu grupo começa a se perder, vivendo por viver, trabalhando por trabalhar. E acompanhado desse “estado”, começam a surgir críticas sobre a liderança e desmotivação, fatores cruciais para atrapalhar o seu grupo.


Renovação
Um grande líder necessita estar buscando aprimorar seus conhecimentos. Ele não deve virar um escravo e esquecer todo o restante. Mas necessita ter a vontade e saber como buscar informações quando precisar. Descobrir novas formas, entender novos meios, se reciclar!
Estar sempre atendo à formação de um sucessor, pois a sua evolução depende desse fator.
Nesse ponto a humildade vai destacar o grande líder, pois ele não se enquadra nos moldes de “ser isolado” ou “inalcançável”, e revela cada vez mais um lado amigo e companheiro.


Alegria no seu dia
Já notaram que em lugares onde as pessoas são alegres, as coisas fluem melhor?!
Isso acontece porque a alegria é o estado natural do ser humano, e por isso, ele só consegue trabalhar realmente bem quando encontra essa alegria.
E onde fica o líder nesse caso? Simples! Ele precisa ser o fiscal da alegria. Estar sempre procurando promover a felicidade para o seu grupo.
Não é questão de interesse, dar algo em troca esperando um retorno (eu te ajudo se me ajudar), porque isso é comum de se encontrar. O grande líder deve ser diferente, deve ser um condutor de felicidade, realmente se importar com as pessoas. Dessa forma, sua sinceridade tocará a fundo o coração do seu grupo, resultando em grande satisfação e empenho dos liderados.
Como a felicidade é contagiante, os liderados conseguirão passar adiante. Se for na empresa por exemplo, os funcionários quando estão felizes, conseguem transmitir esse estado até mesmo ao atender ao telefone de um cliente nervoso. As visitas, o contato se torna mais simples, pois foge do padrão, do excesso de formalidade, do manual de conduta, e passa a ser utilizado um tratamento mais pessoal e humano.
Isso é se importar realmente com o seu cliente, desejar a satisfação de forma pura e sincera.

Como incentivar o meu grupo?
As pessoas necessitam de reconhecimento e aceitação.
Reconhecimento ao meu ver é a junção de varias coisas, passando desde a parte financeira até chegar ao estado de ter o seu trabalho, empenho e esforço valorizado.
Eu sempre parti do princípio de não trabalhar visando dinheiro, pois acredito que não é o principal. Só que é necessário entender que precisa existir o bom senso. O líder necessita estar atento a isso, para poder estar sempre respondendo a altura do seu grupo.
Ele deve sempre estar parabenizando o bom cumprimento dos objetivos, para demonstrar que está ciente do empenho das pessoas. Só ficar na condição de “Eu sei, mas não vou falar” ou “Eu estou vendo mas não preciso dizer” cria uma distância muito grande entre os liderados e o líder, gerando forte ingratidão e sensação de descaso.
Procure fazer o melhor para o seu grupo. Se for no trabalho, transforme esse grupo em família, assumindo um comportamento bem mais caloroso e humano.

Comece Já!
Não deixe para amanhã! Inicie hoje sua mudança!
Abandone a teoria, arregace suas mangas e coloque em prática sua vontades!

Grande abraço e muito obrigado!
Esse artigo foi baseado no estudo que ando fazendo da palestra do Rev. Watanabe, na Revista Izunome.

“Aquele que consegue encontrar uma solução harmônica
para qualquer problema é amado e respeitado por todos”  
Meishu Sama

domingo, 11 de julho de 2010

Qualidade com o seu produto

    Uma das maiores dificuldades que as empresas enfrentam é em relação a qualidade de seu produto. Seria algo impossível de se alcançar?
    Eu acredito que para se ter um produto com qualidade é necessário revolucionar a forma de sua criação.
    Ter um produto com qualidade não quer dizer que ele seja perfeito, mas sim que ele passou (e passa) por diversos processos que visam a perfeição!
    Quando estudei Gestão de qualidade de software, me apresentaram uma lista que me fez refletir sobre a questão de qualidade:
    “Cerca de 40 a 50% dos programas postos em uso contêm faltas não triviais (BOEHM; BRASIL, 2001). Note que produtos de software com defeitos podem provocar danos materiais, monetários, ambientais e risco de vida. Observe alguns exemplos (PFLEEGER, 2004; PRESSMAN, 2006) a seguir:
  • Em 1962, o foguete espacial mariner, por omissão de um hífen, fez com que, na época, US$ 18,5 milhões fossem para o espaço!
  • Equipamento de Radioterapia Therac-25.  Entre 1985 e 1987 houve acidentes com mortes por overdoses de radiação por problemas no software devido à falta de documentação e de testes de integração.
  • Projeto     Ariane V da Agência Espacial Européia, durou 10 anos e custou US$ 8 bilhões. Foguete e carga de US$ 500 milhões. No vôo inaugural, em 1996, se autodestruiu. Estava se quebrando, pois perdeu o controle pela reinicialização simultânea dos computadores principal e de back-up.
  • Nave Mars Climate Orbiter da NASA foi perdida no espaço por erro na conversão entre unidades inglesas e métricas. Prejuízo: US$ 125 milhões.”
    Então fica fácil entender que a falta de qualidade gera um grande prejuízo para quem cria e quem usa o produto. Levando muitas empresas a ficarem conhecidas por apresentar um péssimo trabalho. O mercado hoje esta repleto de empresas que levam muito a sério essa questão de satisfação do cliente, investindo em qualidade de seu software.
    As empresas que não conseguem ter essa visão, acabam produzindo projetos que se tornam cada vez mais difíceis de controlar, manter e evoluir. Criando uma bola de neve que cresce com muita facilidade e velocidade, extrapolando todos os prazos e orçamento previstos para o trabalho.
    Com isso, a empresa começa a ter que investir em mais pessoas, mas o que se faz é remediar o problema! Pois continua a entregar o produto de forma que o cliente não precisa ou não espera. Resultado: Mais retrabalho! E mais uma vez o nome da empresa é lançado no pódio dos atrasados e sem competência!
    É necessário que se entenda que Qualidade não é luxo, ou apenas um diferencial nesse mercado competitivo e inovador. Ela é um pré-requisito para projetar o seu produto e garantir a sobrevivência de sua empresa.
       
    Você e seu produto
    Procure adicionar em suas atividades o habito de documentar o máximo possível suas rotinas. Desta forma fica mais fácil para realizar manutenção. Dispensando várias horas de análise para entender o que “aquilo” faz, para depois realizar as mudanças.
    Outro fator muito importante é investir em adoção de boas práticas. Fazendo com que todos consigam seguir um padrão (dizer a mesma língua). Desta forma fica mais uniforme os métodos utilizados para se trabalhar ou solucionar os problemas do dia a dia.
    Não tenha medo de refazer seus trabalhos visando evolução. Saia da ilusão de que você vai conseguir prever o que o seu cliente necessita daqui a 10 anos. Procure satisfazer a necessidade atual, mas nunca esquecendo de apresentar novas soluções.
   
    A paritr de agora estarei criando alguns artigos visando compartilhar o meu estudo sobre qualidade de software.  Mostrando algumas dicas e opiniões.
    Muito obrigado e ate a próxima!