desenvolvimento de software

Repensando micro serviços (microservices)

A questão dos micro serviços ainda me acompanha. Desde a publicação do meu último post sobre o assunto venho recebendo feedback de diversas pessoas além de ter entrado em contato com tantas outras. Com a mente um pouco mais clara (ao menos espero) chegou a hora de expor minhas conclusões correntes sobre o assunto.

Repensando micro serviços (microservices) Read More »

Uma proposta para melhorar o mercado de software

Há dois diálogos que escuto constantemente quando o assunto é mercado de desenvolvimento de software. O primeiro se dá entre desenvolvedores ou pessoas que atuem neste mercado como fornecedores: _ Nossa, eu fico vendo o pessoal das áreas de engenharia e medicina. O sujeito já sai da faculdade com um salário melhor que o nosso. _

Uma proposta para melhorar o mercado de software Read More »

Armadilha: evitando o programador picareta

Está precisando contratar um programador? Este post talvez lhe economize uma fortuna. Vou expor a seguir algumas dicas para lhe ajudar a negociar com bons programadores e, ainda mais importante: te ajudar a detectar “profissionais” ruins. Estas diretivas devem ser aplicadas principalmente no seu primeiro contato com o provedor de serviços.

Armadilha: evitando o programador picareta Read More »

Que “tempo real” é este de que falam tanto?

O que é tempo-real? O que o pessoal anda chamando de tempo-real é realmente tempo-real? Node.js ou websocket realmente me propiciam uma web “real time”? Vou tentar responder a todas estas perguntas neste post com a visão de alguém que trabalha em um sistema de tempo-real de verdade (eu). Como a computação define tempo-real Quando

Que “tempo real” é este de que falam tanto? Read More »

Desenvolvendo com armas secretas

Sempre quando vou apresentar uma plataforma de desenvolvimento que não seja “mainstream” topo com argumentos do tipo “aonde vou encontrar mão de obra que saiba lidar com isto?”, “ninguém que eu conheço usa isto!” ou mesmo “para nos mantermos competitivos temos de usar as ferramentas que o mercado adota”. Papo furado! “Competitividade” “Gente em terno”

Desenvolvendo com armas secretas Read More »

Quando o diagrama te emburrece: involução linguística por UML em excesso

A humanidade levou milênios para aperfeiçoar a arte de transmissão do conhecimento. Infelizmente muitos preferem uma visão “retrô”. Neste post pretendo discutir uma idéia que passeia na minha cabeça a um bom tempo: o efeito negativo do excesso de conteúdo gráfico pode causar em uma equipe de desenvolvimento. Vou além: como vou mostrar neste post,

Quando o diagrama te emburrece: involução linguística por UML em excesso Read More »

Corpo estranho: questionando a orientação a objetos

Raríssimas vezes me deparo com uma equipe questionando se deve ou não adotar orientação a objetos em seus novos projetos. Dado que sabemos não existir bala de prata em software este é o tipo de comportamento que levanta minhas antenas para a possibilidade de sermos vítimas de determinismo linguístico. Será? No mundo dos bancos de

Corpo estranho: questionando a orientação a objetos Read More »

Armadilhas para desenvolvedores: em busca do componente perdido

O sonho de todo desenvolvedor é a componentização, mas a partir de algumas conversas das quais participo me pergunto: será que as pessoas realmente sabem do quê estão falando? Componentes aniquilam a repetição desnecessária, e  ingênuamente pensando, nada poderia dar errado, certo? Definindo Uma definição inicial de componente de software é: código que implementa determinada funcionalidade

Armadilhas para desenvolvedores: em busca do componente perdido Read More »

O Valor, o Hype e o Hypista no desenvolvimento de software

Semana passada participei de um evento que me fez perceber algo que até então achava ser óbvio para a comunidade de desenvolvimento de software e simplesmente não é. Sei que muitos vão rir de mim em um primeiro momento, mas que se dane: vou jogar aqui de uma vez: as pessoas não sabem ou simplesmente

O Valor, o Hype e o Hypista no desenvolvimento de software Read More »

Como o tal do SOLID pode melhorar seu projeto orientado a objetos

É chocante ver o quão subaproveitada a orientação a objetos é. Interessante é que só se percebe isto quando mudamos nossas leituras. No “Panteão Kiconiano de Heróis” há um chamado Robert C. Martin, que agrupou cinco princípios básicos do design orientado a objetos sob o acrônimo SOLID. Quando tomei conhecimento deste acrônimo minha vida melhorou

Como o tal do SOLID pode melhorar seu projeto orientado a objetos Read More »

Armadilhas para desenvolvedores: a síndrome do conhecimento imediato

Sintoma: um indivíduo em seu local de trabalho é informado de que deverá trabalhar com a tecnologia X mas nunca teve qualquer contato com esta e imediatamente começa a cuspir código como se a compreendesse inteiramente só de olhar. Desenvolvimento Estágio inicial O indivíduo é informado de que deverá trabalhar com a tecnologia X. Esta

Armadilhas para desenvolvedores: a síndrome do conhecimento imediato Read More »

Armadilhas para desenvolvedores: a síndrome do contato alienígena

Nos últimos dias tenho pensado muito sobre os poucos casos que conheço nos quais o uso do Grails foi um fracasso. Nisto encontrei um elemento em comum que, acredito, pode ser aplicado à adoção de qualquer tecnologia. Chamo-o de síndrome do contato alienígena. Analogia alienígena Considero alienígena qualquer objeto com o qual me deparo e

Armadilhas para desenvolvedores: a síndrome do contato alienígena Read More »

Java: como a serialização de objetos pode salvar sua aplicação desktop

Em um dos meus clientes é muito comum o desenvolvimento de aplicações Java voltadas para o ambiente desktop, aonde não raro enfrento problemas sérios de performance e consumo de recursos. O objetivo deste post é expor como usando o recurso de serialização de objetos oferecido pela plataforma Java consegui resolver (ou ao menos minimizar ao

Java: como a serialização de objetos pode salvar sua aplicação desktop Read More »

Pascal e o nerd tiraninho

E não é que Pascal, no século XVII, ao expor o seu conceito de tirania sem querer descreve os nerds tiraninhos que implicam com todos aqueles que usam tecnologias diferentes das suas favoritas em pleno século XXI? A definição é feita no fragmento 58 da sua obra inacabada “Pensées” (em português “Pensamentos”). Segue o fragmento:

Pascal e o nerd tiraninho Read More »

Por que resolvi largar o HTML e partir pro Flash (Flex na realidade)

No decorrer de 2009 iniciei um projeto cujo principal objetivo técnico consistiu em levar ao extremo o que consigo fazer atualmente usando Grails na camada de controle e domínio e a dobradinha HTML/CSS/Javascript na camada de visualização (atualmente, só de ver uma interface 100% baseada em campos textuais e caixas de seleção já começo a

Por que resolvi largar o HTML e partir pro Flash (Flex na realidade) Read More »

Rolar para cima