Postagens

Como mudar de casa pode te ajudar a migrar o sistema?

Imagem
Na vida, sempre chega aquele momento em que a casa fica apertada, os cômodos já não comportam as pessoas, a vazão dos corredores e halls diminuem... Ou simplesmente você mudou de vida. Juntou as escovas de dentes com alguém e chegou o momento de mudar de casa. Antes que você pergunte: Sim, este post é sobre tecnologia. http://static1.squarespace.com/static/59e8df17f09ca4b0341f35b0/59e8e981b1ffb6c44311e2be/5b8ce65cb8a045c95eb5b157/1537007637140/Moving+Day+3_0.jpg?format=1500w Recentemente me casei e estamos há quase um mês arrumando a mudança. A cabeça do desenvolvedor não desliga, está sempre compilando. E eu percebi alguns pontos de contato muito interessantes entre a mudança (de casa) e a migração de um sistema para uma nova linguagem. Quero compartilhar alguns insights sobre o assunto com você. O que define o Software? Na sua rua pode ser que muitas casas acendam a luz à noite. Pode ser que abaixo ou acima de você, outros apartamentos estejam construídos. Mas entre todas

Entregue mais de 300 tarefas no prazo utilizando PERT/CPM

Imagem
No post anterior descobrimos como a Matriz de Dependência pode nos ajudar no processo de planejamento das tarefas. Também vimos que ela gera insumos importantíssimos para o PERT/CPM. Mas que dupla é essa, afinal? [http://www.cemeai.icmc.usp.br/images/noticias/pde_grafos_pre/grafos.jpg] PERT/CPM são duas metodologias utilizadas na gestão de projetos. Comumente utilizada em projetos mais estáticos - como na área da construção civil, por exemplo - elas ajudam a gestão a identificar pontos de atenção e a gerenciar os recursos. Principalmente o recurso tempo. Preciso dizer que estou explicando bem por cima (e apenas a parte que nos é interessante) esta metodologia. Se você pesquisar mais - ou for aluno ou aluna de engenharia de produção - vai encontrar mais material falando sobre os cálculos possíveis de serem feitos à partir dos dados extraídos desse gráfico. Médias, desvios padrões... É aqui que as suas aulas de cálculo serão bem empregadas. As duas metodologias são muito parec

Entregando no prazo com a Matriz de Dependência

Imagem
Você tem aquele backlog imenso. O P.O. já fez a priorização. Mas na verdade, ele priorizou apenas as features. Quando você olha o kanban mais de perto, percebe que há trocentas stories a serem feitas dentro de cada feature. E aí? Qual você começa primeiro? É sobre isso que vamos falar hoje. https://www.trace.com.br/sitenovo/wp-content/uploads/2018/08/productivity-780x448.png Matriz de dependência Umas das piores situações durante o desenvolvimento é você descobrir que aquela story que você acabou de desenvolver depende de uma outra que ainda não está pronta. É como se você tivesse construídoo décimo quarto andar de um prédio e só então descobrisse que não existe ainda o 13º. A matriz de dependência ajuda você a ter essas informações de maneira rápida e visual. Dentre os seus benefícios esta o auxílio no elenco das stories para a sprint. Ao invés de simplesmente selecionar o que cabe na sprint, a matriz te apoia a selecionar as stories de maneira mais inteligente, evitando que

A arte de programar: Você acha que o dev é um artista?

Imagem
Em um dia desses, enquanto digitava códigos no ritmo da batida do heavy metal, comecei a pensar a respeito do meu trabalho. O que é o trabalho de programador? Quando se trabalha em empresas menores, você acaba acumulando funções. Você é o consultor , que não raramente, acaba sabendo mais do negócio do que o próprio cliente. O programador também é o analista . Afinal, quem melhor para descrever a automatização? A lista de personas que o programador assume durante os ciclos de desenvolvimento do software — quer sozinho, quer em grupo — é extensa. Contudo, hoje quero focar na parte artística. Sim! O programador é um artista. Bom, pra falar a verdade, talvez esse título seja pesado demais para alguns. Apesar disso, gostaria de justificar a minha afirmação. Você já viu um quadro o Kandiski? O movimento artístico chama-se abstracionismo. Se você não conhece, trata-se de um movimento que representa figuras abstratas. É aquele que é um pouco mais difícil de ser compreendido que o cub

Records, memória e RTTI

Imagem
No artigo anterior eu falei um pouco sobre como os Records podem ser uma mão na roda. Mas e como a memória é gerenciada com ele? Como devo trabalhar com a Rtti? Grave bem essas perguntas! Gerenciamento de memória Um dos fatores que tornam os Records tão práticos é o fato de, ao saírem do seu escopo, são automaticamente liberados da memória. E ao se tornarem “tipos gerenciáveis” (por favor, reparem nas aspas), ficaram ainda mais poderosos. Barry Kelly fez um pequeno experimento para exemplificar este poder (clique aqui para abrir o site dele) . Um fato que me preocupou durante as pequisas que fiz, foram algumas afirmações que o gerenciamento de memória do record não era boa. Que ao ser passado por parâmetro, era feita uma “cópia do record na memória”. Isso me deixou bastante preocupado. Se eu utilizo um record como DTO, ao transitar por entre métodos (e quem pratica o clean code escreve bastante métodos), eu teria cópias e cópias de objetos pesados em memória. Mas a coisa não é

Record, operadores e uma mão na roda!

Imagem
Record é uma das estruturas de dados mais simples, desde o pascal, que foi turbinada na Delphi language: Agora suporta propriedades, métodos e seu controle de visibilidade e… OPERATOR OVERLOADING! Vamos falar sobre Records Como eu já disse, são estruturas de dados bem simples. E com a vantagem de que é automaticamente destruída assim que se atingir o fim do escopo. O gerenciamento da memória utilizada também é rápida, uma vez que ela vai direto pro stack — que é bem mais rápida que a heap. As novidades que a Delphi Language introduziu nos records, além de expandir as possibilidades com esta estrutura, também possibilitou “resolver” um problema comum com os tipos inicializados à partir da stack. Neste setor da memória, as variáveis não são inicializadas. Portanto, você pode ter inteiros com valores aleatórios, variáveis de objeto apontando para um fragmento de memória qualquer e Records com o mesmo valor da última chamada (geralmente acontece quando o tipo de retorno da variáve

Home Office funciona?

Imagem
Que a internet vem quebrando barreiras, todo mundo já sabe. Mas será que ela já quebrou as barreiras do escritório? Basta ver a quantidade de vagas disponíveis para perceber que a demanda por bons profissionais, na área de T.I., é grande. Ainda que cursos (universitários ou não) estejam cada vez mais acessíveis, as empresas estão ávidas por bons profissionais. Eu gosto de enfatizar o “bons”, porque para falar bem a verdade, existe sim uma certa disponibilidade. Mas poucos são os realmente bons. Qual o perfil do profissional? Já falei antes sobre as qualidades de um bom desenvolvedor. E além dos requisitos básicos de um desenvolvedor (o mínimo para você ser contratado), é preciso um pouco mais. O bom profissional é proativo, comunicativo, responsável e comprometido. Essa qualidades, no meu ponto de vista, são imprescindíveis para quem anseia por trabalhar Home Office. Em casa não haverá um patrão dizendo a todo momento o que você tem de fazer. Aliás, este comportamento não é ac