Blog

  • Gestão de Projetos x Gestão de Pessoas (reprodução)

    20/07/2016

    Reprodução de um artigo que achei interessante e retrata uma realidade na minha área de atuação.

    Ao final faço um comentário.

     

    "

    Por Renato Lopes*

    Todo Gestor, seja ele de TI ou não, deveria fazer como segunda faculdade o curso de psicologia. Ou pelo menos fazer um ano de terapia antes de assumir essa função. Afinal, para entender o próximo é preciso entender a si mesmo. O resultado disso são ações muito mais estratégicas e com resultados surpreendentes. Explico.

    Imagine um Gestor de TI com um projeto em mãos, data limite para entrega e com uma mensagem subliminar enfatizando a importância do cumprimento dessa data e sem a mínima hipótese de adiamento. Projeto em mãos é hora de delegar as tarefas. E é nesse ponto que se pode definir o sucesso ou o fracasso de sua execução.

    Passar a tarefa certa para a pessoa certa é mais que um feeling, é um conhecimento amplo da equipe e específico de cada membro dela. O gestor, além das tarefas, deve prestar atenção na ação de cada colaborador no seu dia a dia, desde o modo de dar bom dia, ao comentário do corredor ou do cafezinho. São os pequenos detalhes que fazem com que o Gestor tenha conhecimento de cada um.

    Observe que, ao saudar sua equipe, há uma forma peculiar em todos eles: um olho no olho, uma batida de mão, uns tapinhas nas costas… Marque sua equipe por detalhes bons ou ruins: o mais comunicativo, o mais concentrado, o desligado, o hands on, o pesquisador ou qualquer outro detalhe.

    Feita essa observação, assimile todas elas e cruze com as tarefas que tem a desenvolver no seu projeto. Você verá que há uma grande probabilidade da tarefa ser bem sucedida e de forma mais prazerosa sendo passada a quem tem melhor habilidade para esta execução. Este cruzamento de informações servirá também para escolher o líder do projeto. Líder, esse, que deve variar a cada projeto (salvo se a equipe não tiver essa opção), pois a rotatividade e o ato de arriscar, de forma calculada, são válidos como experiência de resultados e motivação para a equipe.

    Antes de apresentar as tarefas e o líder, fale sobre o projeto de forma macro, o que e a quem vai beneficiar, quais departamentos o projeto apoiará, como é o cenário atual e como ficará. Apresente também a data de entrega desse projeto. Nessa hora, fique atento às reações diversas, tanto físicas quanto comentários. Preste atenção na reação de cada um da equipe. Pode ser que aquele que você escolheu como líder seja o primeiro a franzir a sobrancelha, cruzar os braços ou cochichar algo com o companheiro ao lado. E cabe a você correr o risco de mantê-lo na função ou utilizar uma segunda opção.

    Se possível, busque uma pessoa de outro departamento que irá ser beneficiário direto para participar do projeto. 

    O “pensar fora da caixa” muitas vezes auxilia quem está envolvido a “bits e bytes”.

    Divididas as tarefas em grupos de ações, defina as datas e peça um status semanal ao líder sobre o andamento das equipes. Em momentos distintos, converse informalmente com os outros participantes para cruzar informações e auxiliar subliminarmente. Acompanhe esporadicamente as reuniões como ouvinte para sentir a participação de todos e como o líder se comporta como mediador nas tarefas e discussões. Repare onde sentam os participantes e perceba que os aliados (ou os que estarão mais entrosados) sentarão lado a lado e geralmente o mediador senta na ponta. A ideia é que sua presença não iniba os participantes e que você possa colher o máximo de informação do projeto, bem como de todos os envolvidos.

    Ao falar sobre a apresentação do projeto, informe com antecedência o que deverá ser feito, incluindo como foi o processo e como ficou o produto final. A ideia da apresentação é tomar nota do envolvimento de cada um na execução, bem como o conhecimento do que foi desenvolvido.

    Após as apresentações, parabenize a todos e divulgue o resultado final. Não se esqueça de que o reconhecimento faz parte da melhora do ambiente de trabalho e propicia a sensação de dever cumprido!

    Enfim, quando o Gestor está apto a fazer determinadas análises sobre o grupo, o resultado de suas escolhas e feedbacks são muito mais enriquecedores e auxiliam na melhoria dos pontos fracos do colaborador. E essa escolha acertada vai ficando mais eficiente e fácil a cada projeto executado.

     

    *Renato Lopes é Gestor da área de TI e acredita que a humanização dessa área é a chave para conquistar equipes de alta performance e auto gerenciáveis. Palestrante e Professor Universitário, Renato busca compartilhar técnicas e soluções para formar times vencedores e entusiastas, buscando a qualidade de vida junto à satisfação do trabalho.

     

    "

     

    Meu comentário...

     

    Para quem não conhece leia sobre SCRUM, pois vários pontos abordados no artigo são diretamente ligados e mesmo resolvidos quando se aplica uma metodologia ágil no desenvolvimento e quando a equipe é auto-gerenciável, autônoma em diversos aspectos e cada membro está focado no objetivo temporal em comum que são as entregas, cumprir com cada sprint que foi acordada "olho-no-olho" algumas vezes com o próprio cliente e não um gerente/líder que tem que fazer o papel de testa de ferro.

    Referências:


  • LINQ :: Select().Max() considerando retorno que pode ser nulo

    20/07/2016

    Para quem desenvolve sistemas e trabalha com LINQ e banco de dados, pode existir uma situação em que seja necessário fazer o que utilizando SQL convencional seria um SELECT MAX(campo), sendo que normalmente campo uma chave primária (particularmente eu trabalho com PKs identity ou sequences).

    O objetivo é simples, encontrar o maior valor para um determinado campo.

    A sugestão utilizando LINQ é algo como:

    decimal consultaId = ContextoBD.Query<TipoDominio>()     .Select(x => (decimal?)x.Id)     .Max() ?? 0; var maiorId = (consultaId + 1); return (int)maiorId;

    Mas então a pergunta, "qual o detalhe do código, não seria óbvio só utilizar o método Select() e então Max() diretamente para uma variável Int?".
    Só que isso não funciona em todos os casos!
    O detalhe no código acima está em utilizar um tipo decimal como retorno com um cast nulável da coluna alvo (Id) e um operador de coalescência nula garantindo 0 como retorno.
    O motivo por tal manobra é que o LINQ irá falhar caso exista algum valor nulo (ou coleção vazia) e tentará retornar um valor nulo para um tipo Int, mesmo que você determinei que possa aceitar Int?, pra mim isso é um bug, mas enfim, o código garantirá um valor zero nas condições que de maneira convencional daria um erro em tempo de execução, sim, porque em tempo de compilação não daria erro.
    Referências:


  • Seu apartamento vale um produto Apple? (ou "troco Apple Watch por um pulmão")

    20/07/2016

    "Pense num inutilitário, achou o Apple Watch, por mais contrário que isso seja para os fanboys."

    Inutilitário para a maioria das pessoas, e não necessariamente apenas o smart watch da Apple.

    Essa massa de pessoas já trocou os relógios de pulso por um celular há muito tempo hoje compra um smart watch tentando achar um objetivo, forçadamente tenta, mas é difícil ver algo que não seja tão banal quanto as "smart bands" que apenas exibem horas e contam passos (e outras frescuras só para alertar o usuário a pegar o celular para ver detalhes).

    Não estou falando sobre um determinado programa muito legal que rode no seu revolucionárioeinovador aparelho de pulso do futuro, mas se realmente vai encontrar utilidade prática no dia-a-dia para ele que justifique te-lo.

    O problema da Apple é cobrar - a preço BrasilPT - 2.900 reais a 135.000 reais, isso é irreal mesmo no Brasil, ainda mais sabendo que vai estar mesmo é pagando por versões de pulseiras e a caixa do relógio, do compartimento dele, mais resistente ou bonitas.

    Agora pense no "investimento" alto feito, estamos falando sobre tecnologia, em menos de 6 meses seu "investimento" terá ido para o ralo com a versão mais nova ou mesmo desvalorização pelo anúncio das "novidades" da próxima versão, ainda mais em se tratando de Apple já que eles vendem seis como não se fosse meia dúzia todo ano e o pessoal compra.

    Existe um must have alto quando se trata de produtos Apple, mas chega a ser absurdo, para não dizer burrice.

    Ser usuário Apple (principalmente) é: comprar todo ano um produto que na maioria das vezes é apenas um upgrade de hardware que você não precisava.

    Um fanboy costuma elogiar sem ter certeza do produto, como por exemplo quando a Apple anunciou o Apple Watch e nem protótipo tinham lançado, um cara pegou um relógio fuleiro digital e botou o selo Apple da maçã mordida, levou na rua em Manhattan (acho que foi lá, não lembro) e não é que um monte de manézinho elogiou os bips e leds monocromáticos do relógio digital?!

    Agora vamos criticar a Microsoft. :)

    A Microsoft nos eternos chutômetros de produtos conseguiu acertar recentemente Surface Book, apesar dos preços salgados.

    Mas e aí, Apple ou Microsoft?

    Surface Book destrói MacBook Pro 13 em bateria de testes

    Então você pega quem vai utilizar o produto, um fulano que só precisa do Office instalado.


  • Dica: Planilha para Cálculo de Ponto

    07/07/2016

    Compartilho com vocês uma planilha muito útil para quem desejar fazer o controle avulso de ponto.

    A planilha é gratuita mas o criador aceita doações.

    Bem direta no objetivo além de ser parametrizável no que for necessário (algumas partes estão travadas).

    Recebe constantes atualizações e um detalhe, é compatível com Excel Online (não tentei o Google Sheets).

    Foi a melhor planilha nesse sentido que testei até hoje.

    O site: https://sourceforge.net/projects/pccp/


  • Plugin de segurança de bancos (GAS / gbplugin / Warsaw) está transformando PCs em carroças (reprodução de artigo)

    29/06/2016


    Ao final eu cito a fonte do comentário feito num artigo bem vasto sobre essa praga.

    Daqui para baixo é uma cópia do referido comentário.

    Procedimento por alto, pois não tenho uma máquina com o malware da GAS instalado agora

    Obviamente, sempre trabalhe desativando todas as opções de ocultar arquivos do Windows.

    Usando um LiveCD

    Em "Arquivos de Programas", "Program Files" e "Arquivos de Programas (x86)" Apague todas as pastas que tenham os seguintes nomes:

    • Gas Informatica
    • Diebold
    • gbplugin
    • Warsaw

    A partir deste ponto você não precisa mais do LiveCD e pode apagar/desativar tudo dentro do Windows

    Faça o mesmo em
    c:\ProgramData
    c:\users\<nome do usuario>\Appdata\Local
    c:\users\<nome do usuario>\Appdata\LocalLow
    c:\users\<nome do usuario>\Appdata\Roaming

    Aproveite para apagar todo o conteúdo de
    c:\users\<nome do usuario>\Appdata\Local\Temp\
    c:\windows\temp\


    Usando o Autoruns, na seção Drivers ou Services, procure por todos os arquivos relacionados à GAS e desative-os
    Existem pelo menos dois com nome gb*.* e mais um ou dois que começam com a letra W.

    Anote seus nomes e depois apague-os. Eles devem estar todos em c:\windows\system32\drivers\

    Alguns deles:
    gbpkm.sys
    gbpndisrd.sys <- apagar este é que faz perder o acesso à rede


    Abra todas as conexões de Rede da máquina e nas propriedades de TCP/IP desative qualquer filtro relacionado à GAS, ou a conexão com a rede não funcionará porque os filtros foram apagados.

    Por último, use o Voidtools Everything para procurar por qualquer referência a "gbplugin", "warsaw" ou "gas" e até pelos nomes de drivers acima no HDD. Você pode ter deixado de ver algo e o Everything é muito útil inclusive para achar pastas virtualizadas.

    Referências:

    • http://ryan.com.br/blogs/quicktalk/2014/09/plugin-de-seguranca-do-banco-do-brasil-pode-estar-transformando-pcs-em-carrocas/#comment-27413


  • IIS Express - resolver problemas de cache

    24/06/2016

    Quem desenvolve com o Visual Studio deve, em algum momento, ter esbarrado com algum comportamento estranho do IIS Express após alguma mudança de arquivos do projeto fora do contexto do Visual Studio.

    A solução que encontrei foi a exclusão do site no IIS Express para que seja posteriormente criado pelo Visual Studio, assim como da primeira vez.

    $appCmd = "C:\Program Files (x86)\IIS Express\appcmd.exe"
    $result = Invoke-Command -Command {&amp; $appCmd 'list' 'sites' '/text:SITE.NAME' }
    for ($i=0; $i -lt $result.length; $i++)
    {
        Invoke-Command -Command {&amp; $appCmd 'delete' 'site'  $result[$i] }
    }
    

    Esse snippet exclui todos os sites, mas pode ser facilmente adaptado para um apenas.


  • Problemas Google :: utilizar ou não o Google Drive e Chrome?

    24/06/2016

    Sempre fui um evangelizador das ferramentas do Google, mas há algum/bom tempo tenho ficado com um pé atrás devido especificamente à queda da qualidade dos softwares clientes para Windows e algumas "inconsistências" dos serviços.

    Pesquisando em fóruns vi não sou o único com críticas.

    Google Drive

    O cliente para Windows tem sérios problemas de excesso de uso de memória, acesso a disco e processamento.

    Passei por tais problemas a ponto de não conseguir sincronizar uma conta que não sincronizava há um certo tempo com um notebook que estava parado. Problema tão grande que simplesmente precisei eliminar conteúdo do drive e dividir o sincronismo em lotes - ATÉ QUE FINALMENTE CHUTEI O BALDE E DESISTI DO GOOGLE DRIVE.

    Segundo problema, e que descobri quando migrava para outro serviço de drive virtual, os arquivos de planilhas e documentos - .gsheet e .gdoc - são apenas links, não possuem conteúdo.

    Há algum "limbo" em que o conteúdo do arquivo é realmente guardado, quando eu descobrir onde ficam atualizo esse artigo.

    Das pesquisas que fiz muita gente reclama disso. Há quem perdeu informações valiosas, anos de conteúdo, planilhas normalmente. O erro está em copiar o arquivo sem ver o tamanho, arquivos .gsheet e .gdoc são simplesmente links para arquivo "online", contém apenas a URL e outras informações de referência para um arquivo online e por esse motivo são minúsculos.

    Para finalizar, também considero ponto negativo uma característica que lançaram como "normal" no serviço (após a compra do Writely), mas eu não concordo e virou padrão por causa do Google, tanto que a Microsoft copiou também, e que é o espaço físico ser compartilhado com o Gmail...idem com as fotos.

    Chrome Browser (navegador web)

    Fui um assíduo usuário do Firefox por anos, então após o Chrome consolidado passei pelo processo traumático de encontrar extensões relativas para adotá-lo como navegador principal. Um dos motivos importantes era pelo "ecosistema" Google começando a se formar pelo Chrome e demais serviços e o sincronismo da conta Google por lá.

    Nem considerei a fajuta comparação de que o Chrome ocupa menos espaço de memória RAM (ocupa até mais se somarmos os processos abertos por ele), ou então a "vantagem" em ter um problemático plugin de Flash nativo.

    Exceto por um ou outro plugin melhor ou pior num ou noutro, o Chrome vinha muito bem, mas também comecei a cansar sobre ele ser guloso no uso de recursos, fora problema chato ao restaurar abas em ambientes diferentes, exemplo, em casa mantenho X abas, no trabalho ao abrir o browser as mesmas abas não são restauradas mesmo configurado para isso.


  • Americanizando palavras em português pelas metades

    24/06/2016

    Me chamem de chato, podem chamar...mais, mais...ok,  mas é difícil engolir palavras adaptadas forçadamente como "embeda", "taggeadas", e ainda "postadas", porque não citar outra mais antiga como "deletar".

    Vamos traduzir:

    • "embeda" = embute.
    • "taggeadas" = marcadas.
    • "postadas" = publicadas.
    • "deletar" = excluir.

    Se é assim então porque ao invés de "marcação" não utilizar "taggeação"?

    "postadas", está aí outra palavra, esta originada de "post".

    Porque não vemos alguém escrever "As postações foram bem aceitas no blog."?

    "deletar" já entrou na cabeça de um monte de gente, então porque ninguém escreve algo como, "No Brasil há muita deleção social."

    Comentei após ler tantos artigos com esse tipo de conteúdo, o último em http://canaltech.com.br/dica/instagram/koredoko-marque-uma-foto-no-instagram-em-um-local-onde-voce-nao-esta-mais/.

    Agora vale "geekalizar" ou "nerdizar" tudo já que todo mundo pode ter o gadget que for usando apenas 0,5% dele, mas o importante é estar na moda e ser moderno tecnologicamente. Antigamente quem tinha (e com utilidade usava) era criticados e alvo de piadas.