Apresentado no AgileBrazil 2011 em 01/07/2011 em Fortaleza/CE
A diferença de produtividade entre programadores já foi motivo de preocupação de estudiosos como Bohem, De Marco, Sposlky e outros. O último capítulo do livro Making Software, What Really Works, and Why We Believe It publicado este ano pela O’Reilly é de autoria do Steve McConnel (autor do Code Complete). Lá ele discute o que é um programador 10x e como medir as variações.
Lendo este texto é inevitável pensar no que podemos fazer para elevar o nível de um programador iniciante e lhe dar condições de um dia ser um programador 10×. Me assusta perceber que dentre as práticas do desenvolvimento ágil menos usadas, estão justamente aquelas mais adequadas a este propósito.
Pretendo discutir programação em par, revisão de código e ambiente propício a disseminação de conhecimento.
O documento discute como formar um programador de alto nível, chamado de "10x". Ele explica que é difícil medir a produtividade diretamente, mas que práticas como programação pareada, revisão de código e compartilhamento de conhecimento podem ajudar a avaliar a qualidade dos programadores e elevar o nível dos iniciantes. O desafio é conseguir tempo e espaço adequados no projeto para aplicar essas práticas.
1) O livro discute a importância de se escrever códigos limpos e como códigos ruins podem atrasar projetos e até levar empresas à falência.
2) Códigos ruins reduzem a produtividade dos programadores e podem exigir grandes reestruturações caras para serem consertados.
3) Manter códigos limpos é essencial para se trabalhar de forma rápida e eficiente, evitando atrasos e grandes reestruturações no futuro.
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
Código legado não é feito de um dia pro outro. Pode começar com nomear coisas, compartilhamento de lógica, papéis que entidades desempenham. Mesmo que você conheça Domain Driven Design, seu código pode ficar mais difícil de manter se você for pelo caminho do over engineering. Quando nós realmente precisamos implementar DDD? Qual o equilíbrio ao desenvolver software? Existem algoritmos e métricas capazes de nos ajudar a manter código? Você vai descobrir as respostas nessa talk
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
[1] O documento discute TDD (Test Driven Development) e fornece 20 lições aprendidas sobre TDD. [2] Apresenta Camilo Lopes, o palestrante, e seu background com desenvolvimento ágil. [3] Explica os benefícios de TDD como melhor qualidade de código, estimativas mais precisas e entregas mais rápidas.
O documento descreve o que é um Coding Dojo, que é um grupo de desenvolvedores que se reúnem periodicamente para praticar técnicas ágeis em programação, como pair programming e TDD. O texto também apresenta detalhes sobre como funciona o Coding Dojo de Joinville, um dos primeiros grupos do gênero no Brasil.
O documento discute sobre a carreira de desenvolvedor de software, abordando tópicos como motivação, cursos, especialização e desafios da profissão. Resume três pontos principais: 1) A motivação para ingressar na área pode vir de um choque de realidade sobre outras opções; 2) Existem diferentes opções de cursos superiores, com foco em áreas como ciência da computação e sistemas de informação; 3) É importante dominar as ferramentas e sempre aprender, mas não se apegar demais a termos e siglas, focando
1) O documento discute como desenvolvedores podem levar seus projetos e carreiras para o próximo nível, focando menos nas tecnologias e ferramentas e mais nas ideias e propósitos.
2) É sugerido que desenvolvedores foquem em encontrar o que gostam, sejam generalistas ou especialistas, e encontrem um propósito para seu trabalho.
3) Apresenta exemplos de projetos independentes bem-sucedidos e enfatiza a importância de fazer as coisas, compartilhar o trabalho, não ter press
Generalização prematura e complexidade acidental, a raiz do mal de todo softwareLucas Teles
Nessa apresentação iremos discutir um dos grandes males do desenvolvimento de software de mercado, a generalização prematura, como somos péssimos em prever o futuro e como isso afeta nossas decisões no código do dia a dia. Vamos olhar os males da generalização prematura, como talvez seja melhor deixar com que a duplicação de código apareça e cresça antes de tentarmos generalizar. Somos horríveis em prever o futuro, então a solução é não prever! Além de discutir o reflexo direto desse efeito, vamos abordar a complexidade acidental, desenvolvimento em camadas, frameworks corporativos, etc? E como é fácil focar nisso antes do que realmente importa, fazer o mínimo pra entregar valor!
O documento discute como formar um programador de alto nível, chamado de "10x". Ele explica que é difícil medir a produtividade diretamente, mas que práticas como programação pareada, revisão de código e compartilhamento de conhecimento podem ajudar a avaliar a qualidade dos programadores e elevar o nível dos iniciantes. O desafio é conseguir tempo e espaço adequados no projeto para aplicar essas práticas.
1) O livro discute a importância de se escrever códigos limpos e como códigos ruins podem atrasar projetos e até levar empresas à falência.
2) Códigos ruins reduzem a produtividade dos programadores e podem exigir grandes reestruturações caras para serem consertados.
3) Manter códigos limpos é essencial para se trabalhar de forma rápida e eficiente, evitando atrasos e grandes reestruturações no futuro.
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
Código legado não é feito de um dia pro outro. Pode começar com nomear coisas, compartilhamento de lógica, papéis que entidades desempenham. Mesmo que você conheça Domain Driven Design, seu código pode ficar mais difícil de manter se você for pelo caminho do over engineering. Quando nós realmente precisamos implementar DDD? Qual o equilíbrio ao desenvolver software? Existem algoritmos e métricas capazes de nos ajudar a manter código? Você vai descobrir as respostas nessa talk
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
[1] O documento discute TDD (Test Driven Development) e fornece 20 lições aprendidas sobre TDD. [2] Apresenta Camilo Lopes, o palestrante, e seu background com desenvolvimento ágil. [3] Explica os benefícios de TDD como melhor qualidade de código, estimativas mais precisas e entregas mais rápidas.
O documento descreve o que é um Coding Dojo, que é um grupo de desenvolvedores que se reúnem periodicamente para praticar técnicas ágeis em programação, como pair programming e TDD. O texto também apresenta detalhes sobre como funciona o Coding Dojo de Joinville, um dos primeiros grupos do gênero no Brasil.
O documento discute sobre a carreira de desenvolvedor de software, abordando tópicos como motivação, cursos, especialização e desafios da profissão. Resume três pontos principais: 1) A motivação para ingressar na área pode vir de um choque de realidade sobre outras opções; 2) Existem diferentes opções de cursos superiores, com foco em áreas como ciência da computação e sistemas de informação; 3) É importante dominar as ferramentas e sempre aprender, mas não se apegar demais a termos e siglas, focando
1) O documento discute como desenvolvedores podem levar seus projetos e carreiras para o próximo nível, focando menos nas tecnologias e ferramentas e mais nas ideias e propósitos.
2) É sugerido que desenvolvedores foquem em encontrar o que gostam, sejam generalistas ou especialistas, e encontrem um propósito para seu trabalho.
3) Apresenta exemplos de projetos independentes bem-sucedidos e enfatiza a importância de fazer as coisas, compartilhar o trabalho, não ter press
Generalização prematura e complexidade acidental, a raiz do mal de todo softwareLucas Teles
Nessa apresentação iremos discutir um dos grandes males do desenvolvimento de software de mercado, a generalização prematura, como somos péssimos em prever o futuro e como isso afeta nossas decisões no código do dia a dia. Vamos olhar os males da generalização prematura, como talvez seja melhor deixar com que a duplicação de código apareça e cresça antes de tentarmos generalizar. Somos horríveis em prever o futuro, então a solução é não prever! Além de discutir o reflexo direto desse efeito, vamos abordar a complexidade acidental, desenvolvimento em camadas, frameworks corporativos, etc? E como é fácil focar nisso antes do que realmente importa, fazer o mínimo pra entregar valor!
Este documento apresenta um capítulo sobre introdução à linguagem de programação Java. O capítulo aborda as características da linguagem Java, como sua portabilidade através da máquina virtual Java, seus usos em diferentes ambientes como aplicativos desktop e web. Também discute os tipos de dados, variáveis, operadores e estruturas de controle de fluxo em Java.
1. A programação em pares evoluída pela engenharia simultânea envolve dois programadores trabalhando juntos em uma única tarefa, sentados lado a lado em um único computador.
2. Isso estimula a disseminação do conhecimento, reduz defeitos e gera software de melhor qualidade.
3. Experimentos demonstraram que a programação em pares simultânea foi mais produtiva do que programação individual ou em pares sem engenharia simultânea.
1) O documento apresenta dicas para se tornar um programador pragmático, focando em princípios como simplicidade, reutilização de código, manutenibilidade e adaptabilidade.
2) É destacada a importância de ter um portfólio de conhecimento atualizado com novas linguagens, livros e cursos para se manter relevante no mercado.
3) Ferramentas básicas como controle de versão, editores de texto e debuggers são apresentadas como essenciais para o trabalho do programador pragmático.
O documento discute as vantagens de testes automatizados e da prática de desenvolvimento guiada por testes (TDD). Apresenta brevemente alguns desenvolvedores que apoiam essas técnicas e descreve um exemplo simples de implementação de um CRUD de usuários usando TDD. Enfatiza a importância de testes de unidade, mocks e a cobertura de código para garantir a qualidade do software.
1) O documento apresenta Rodrigo Branas, um especialista em Java com mais de 10 anos de experiência.
2) Discutem-se os problemas da abordagem tradicional de modelagem de software, como suposições altas e falta de feedback.
3) Defende-se uma abordagem incremental e iterativa de modelagem, com foco no código como modelo e feedback constante.
Wire 2010 - Entenda Software da Forma CorretaFabio Akita
Palestra sobre Open Source enquanto sistema complexo, emergencia, memética e explicação sobre como um projeto open source pode ser entendido como um sistema em seleção natural baseada em evolução darwinista.
1) O artigo discute os desafios de erros em programação e a necessidade de mais rigor e teste científico.
2) Programadores muitas vezes escrevem código sem compreender totalmente o que está sendo feito, levando a erros.
3) Embora erros nunca possam ser totalmente eliminados, o número pode ser reduzido com mais foco em algoritmos e verificação.
O documento apresenta Maicon Heck, um desenvolvedor .NET com 10 anos de experiência. Ele irá falar sobre Design Patterns, explicando os problemas da síndrome do "isso eu já sei" em programação orientada a objetos, as categorias e padrões mais comuns de Design Patterns como Strategy, Factory Method e Abstract Factory, e mostrar exemplos reais de implementação desses padrões.
Herez m kattan_social_networks_meets_software_development-softwareHerez Moise Kattan
O documento discute quatro plataformas de desenvolvimento de software que oferecem serviços de rede social: GitHub fornece controle de versão e hospedagem de código-fonte, permitindo colaboração; MSDN fornece documentação e ferramentas para desenvolvedores da Microsoft; Stack Exchange usa crowdsourcing para criar bibliotecas de perguntas e respostas especializadas; e TopCoder hospeda competições para solução de problemas de clientes.
Descrição da palestra no TDC 2014 Poa:
http://www.thedevelopersconference.com.br/tdc/2014/portoalegre/trilha-agile
TDD (Test-driven development) é uma técnica para construção de software que guia o desenvolvimento de software através da escrita de testes. Muito se falou nesse ano, mas pouco se aprendeu. Mas qual é essência real do TDD? A resposta é simples, a essência está em seu mantra: Red / Green / Refactor. O TDD será destilado, explicando seus detalhes além do seu mantra.
Será mostrado o TDD no eXtreme Programming (XP), a importância da refatoração para o TDD, frameworks xUnit, como solucionar problemas complexos com Baby Steps, o valor do Clean Code, e como isso é importante para Coding Dojos. Patterns do TDD serão apresentados, dando a base para a essência do TDD. As relações do TDD com Agile Testing, ATDD e BDD também serão discutidas.
Se viu a versão 2018 esta é 90% reformulada. Veremos como escrever código mais simples, expressivo, mais performático, mais robusto e de mais fácil manutenção usando os novos recursos desde o C# 2 que fez pequenas revoluções em cada atualização nos últimos 15 anos, culminando com o C# 8 que é a maior revolução até agora. Também veremos as revoluções que (provavelmente) virão no C# 9 e posterior e o novo ecossistema do .NET. Muito de como se programava no início não é mais como devemos programar hoje. Temos os mesmos paradigmas e filosofia mas agora existem novas preocupações e melhores ferramentas para cada tarefa foram adicionadas em cada nova versão. Alguns recursos são desconhecidos até mesmo para programadores experientes na linguagem. Entender a tendência para onde a linguagem vai daqui pra frente é de extrema importância para produzir código com maior tempo de vida. Programadores que modernizam seus códigos são mais valorizados pelo mercado.
1. O documento discute os desafios enfrentados pela Revista Programar em manter-se ativa e fornecer novas edições de qualidade devido à falta de contribuições de autores.
2. O autor faz um apelo à comunidade para enviar mais artigos e colaborar com a revista, ou corre o risco de não haver próximas edições.
3. A Revista Programar depende totalmente da contribuição voluntária da comunidade para continuar a existir.
Sete Passos Para Um Programador De SucessoPlaneta Código
O documento descreve sete passos para se tornar um programador de sucesso: 1) Aprender lógica de programação, que é a base para programação; 2) Escolher uma linguagem de programação como Java, PHP, Python ou Ruby; 3) Aprender sobre banco de dados como MySQL ou SQLite; 4) Estudar padrões de projeto para desenvolver códigos de qualidade; 5) Utilizar frameworks para aumentar produtividade; 6) Conhecer metodologias ágeis de desenvolvimento; 7) Dedicar-se à arquitetura e qualidade do software
Este documento fornece instruções passo-a-passo para produzir um curta-metragem com recursos próprios. Ele explica as etapas da produção de um filme, como desenvolver um roteiro, formar uma equipe, filmar e editar o projeto. O autor incentiva os leitores a produzirem seus próprios curtas para aprenderem na prática e promoverem seu trabalho.
Este documento fornece um resumo da 41a edição da revista PROGRAMAR. Apresenta o editorial e a equipe responsável pela revista, além de fornecer um índice com os principais tópicos abordados nesta edição, como introdução ao Java EE e Java Web, programação em C, Jogo da Vida e JBoss Application Server 7.
O documento discute princípios de código limpo em PHP, incluindo o que é um código "sujo", como refatorar código para limpá-lo através de boas práticas como a aplicação de padrões de nomenclatura e princípios SOLID. Também aborda as consequências de um código ruim e a importância de os desenvolvedores serem responsáveis pelo código que produzem.
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...Julio Cesar Nunes de Souza
O documento discute como quebrar o ciclo vicioso de não conseguir emprego por falta de experiência. Sugere adquirir conhecimento através de cursos, projetos e participação em comunidades, e ganhar experiência com projetos pessoais, código aberto e possivelmente startups.
Nesta edição continuaremos também a premiar os autores dos três melhores artigos, dado o sucesso nas edições anteriores. E os leitores devem dar a sua opinião para que possamos premiar correctamente. Para isso vote em http://tiny.cc/ProgramarED42_V
Assim nesta edição trazemos até si, como artigo de capa, um artigo sobre Web Persistente: Local Storage.
Nesta 42ª edição pode ainda encontrar os seguintes artigos:
Debug de Aplicações em C (António Pedro Cunha)
Arduino: Accionamento e Controlo de Servos Via Teclado (Nuno Santos)
Introdução ao Web2py (António Santos)
Listas Simplesmente Ligadas e Exemplo de Implementação em C (Cristiano Ramos)
Pascal - Tipos de Dados Variant e Tipos Genéricos (Igor Nunes)
Visual(not)Basic - Eventos e handlers (Sérgio Ribeiro)
Windows Server 2012 - Curso Completo (Nelson Belo Lima)
Redes de Computadores - Curso Completo (António Santos)
Implementando publicidade usando Nokia NAX em aplicações Windows Phone (Sara Silva)
Navicat Premium 11 (Nelson Belo Lima)
Dispositivo Android: Ser ou Ser reconhecido pela Google (Rita Peres)
Nessa palestra relato minha experiência não como um desenvolvedor de software altamente sinistro com duzentos anos de experiência e mil livros publicados - mas sim como um "mero mortal", um desenvolvedor "de verdade", do "mundo real" aplicando a teoria que aprendeu do TDD.
Uma coletânea de anti-padrões sobre DevOps em 2018. Uma pequena viagem sobre empregos, micro-serviços, containers, virtualização, cloud e algumas boas práticas
O documento discute o que é ser um programador, enfatizando a importância da atitude ao invés de habilidades técnicas. Um bom programador deve sempre se desenvolver, dar o melhor, e gerar resultados de qualidade. A principal mensagem é que ser programador requer foco contínuo no aprendizado ao longo da vida.
Este documento apresenta um capítulo sobre introdução à linguagem de programação Java. O capítulo aborda as características da linguagem Java, como sua portabilidade através da máquina virtual Java, seus usos em diferentes ambientes como aplicativos desktop e web. Também discute os tipos de dados, variáveis, operadores e estruturas de controle de fluxo em Java.
1. A programação em pares evoluída pela engenharia simultânea envolve dois programadores trabalhando juntos em uma única tarefa, sentados lado a lado em um único computador.
2. Isso estimula a disseminação do conhecimento, reduz defeitos e gera software de melhor qualidade.
3. Experimentos demonstraram que a programação em pares simultânea foi mais produtiva do que programação individual ou em pares sem engenharia simultânea.
1) O documento apresenta dicas para se tornar um programador pragmático, focando em princípios como simplicidade, reutilização de código, manutenibilidade e adaptabilidade.
2) É destacada a importância de ter um portfólio de conhecimento atualizado com novas linguagens, livros e cursos para se manter relevante no mercado.
3) Ferramentas básicas como controle de versão, editores de texto e debuggers são apresentadas como essenciais para o trabalho do programador pragmático.
O documento discute as vantagens de testes automatizados e da prática de desenvolvimento guiada por testes (TDD). Apresenta brevemente alguns desenvolvedores que apoiam essas técnicas e descreve um exemplo simples de implementação de um CRUD de usuários usando TDD. Enfatiza a importância de testes de unidade, mocks e a cobertura de código para garantir a qualidade do software.
1) O documento apresenta Rodrigo Branas, um especialista em Java com mais de 10 anos de experiência.
2) Discutem-se os problemas da abordagem tradicional de modelagem de software, como suposições altas e falta de feedback.
3) Defende-se uma abordagem incremental e iterativa de modelagem, com foco no código como modelo e feedback constante.
Wire 2010 - Entenda Software da Forma CorretaFabio Akita
Palestra sobre Open Source enquanto sistema complexo, emergencia, memética e explicação sobre como um projeto open source pode ser entendido como um sistema em seleção natural baseada em evolução darwinista.
1) O artigo discute os desafios de erros em programação e a necessidade de mais rigor e teste científico.
2) Programadores muitas vezes escrevem código sem compreender totalmente o que está sendo feito, levando a erros.
3) Embora erros nunca possam ser totalmente eliminados, o número pode ser reduzido com mais foco em algoritmos e verificação.
O documento apresenta Maicon Heck, um desenvolvedor .NET com 10 anos de experiência. Ele irá falar sobre Design Patterns, explicando os problemas da síndrome do "isso eu já sei" em programação orientada a objetos, as categorias e padrões mais comuns de Design Patterns como Strategy, Factory Method e Abstract Factory, e mostrar exemplos reais de implementação desses padrões.
Herez m kattan_social_networks_meets_software_development-softwareHerez Moise Kattan
O documento discute quatro plataformas de desenvolvimento de software que oferecem serviços de rede social: GitHub fornece controle de versão e hospedagem de código-fonte, permitindo colaboração; MSDN fornece documentação e ferramentas para desenvolvedores da Microsoft; Stack Exchange usa crowdsourcing para criar bibliotecas de perguntas e respostas especializadas; e TopCoder hospeda competições para solução de problemas de clientes.
Descrição da palestra no TDC 2014 Poa:
http://www.thedevelopersconference.com.br/tdc/2014/portoalegre/trilha-agile
TDD (Test-driven development) é uma técnica para construção de software que guia o desenvolvimento de software através da escrita de testes. Muito se falou nesse ano, mas pouco se aprendeu. Mas qual é essência real do TDD? A resposta é simples, a essência está em seu mantra: Red / Green / Refactor. O TDD será destilado, explicando seus detalhes além do seu mantra.
Será mostrado o TDD no eXtreme Programming (XP), a importância da refatoração para o TDD, frameworks xUnit, como solucionar problemas complexos com Baby Steps, o valor do Clean Code, e como isso é importante para Coding Dojos. Patterns do TDD serão apresentados, dando a base para a essência do TDD. As relações do TDD com Agile Testing, ATDD e BDD também serão discutidas.
Se viu a versão 2018 esta é 90% reformulada. Veremos como escrever código mais simples, expressivo, mais performático, mais robusto e de mais fácil manutenção usando os novos recursos desde o C# 2 que fez pequenas revoluções em cada atualização nos últimos 15 anos, culminando com o C# 8 que é a maior revolução até agora. Também veremos as revoluções que (provavelmente) virão no C# 9 e posterior e o novo ecossistema do .NET. Muito de como se programava no início não é mais como devemos programar hoje. Temos os mesmos paradigmas e filosofia mas agora existem novas preocupações e melhores ferramentas para cada tarefa foram adicionadas em cada nova versão. Alguns recursos são desconhecidos até mesmo para programadores experientes na linguagem. Entender a tendência para onde a linguagem vai daqui pra frente é de extrema importância para produzir código com maior tempo de vida. Programadores que modernizam seus códigos são mais valorizados pelo mercado.
1. O documento discute os desafios enfrentados pela Revista Programar em manter-se ativa e fornecer novas edições de qualidade devido à falta de contribuições de autores.
2. O autor faz um apelo à comunidade para enviar mais artigos e colaborar com a revista, ou corre o risco de não haver próximas edições.
3. A Revista Programar depende totalmente da contribuição voluntária da comunidade para continuar a existir.
Sete Passos Para Um Programador De SucessoPlaneta Código
O documento descreve sete passos para se tornar um programador de sucesso: 1) Aprender lógica de programação, que é a base para programação; 2) Escolher uma linguagem de programação como Java, PHP, Python ou Ruby; 3) Aprender sobre banco de dados como MySQL ou SQLite; 4) Estudar padrões de projeto para desenvolver códigos de qualidade; 5) Utilizar frameworks para aumentar produtividade; 6) Conhecer metodologias ágeis de desenvolvimento; 7) Dedicar-se à arquitetura e qualidade do software
Este documento fornece instruções passo-a-passo para produzir um curta-metragem com recursos próprios. Ele explica as etapas da produção de um filme, como desenvolver um roteiro, formar uma equipe, filmar e editar o projeto. O autor incentiva os leitores a produzirem seus próprios curtas para aprenderem na prática e promoverem seu trabalho.
Este documento fornece um resumo da 41a edição da revista PROGRAMAR. Apresenta o editorial e a equipe responsável pela revista, além de fornecer um índice com os principais tópicos abordados nesta edição, como introdução ao Java EE e Java Web, programação em C, Jogo da Vida e JBoss Application Server 7.
O documento discute princípios de código limpo em PHP, incluindo o que é um código "sujo", como refatorar código para limpá-lo através de boas práticas como a aplicação de padrões de nomenclatura e princípios SOLID. Também aborda as consequências de um código ruim e a importância de os desenvolvedores serem responsáveis pelo código que produzem.
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...Julio Cesar Nunes de Souza
O documento discute como quebrar o ciclo vicioso de não conseguir emprego por falta de experiência. Sugere adquirir conhecimento através de cursos, projetos e participação em comunidades, e ganhar experiência com projetos pessoais, código aberto e possivelmente startups.
Nesta edição continuaremos também a premiar os autores dos três melhores artigos, dado o sucesso nas edições anteriores. E os leitores devem dar a sua opinião para que possamos premiar correctamente. Para isso vote em http://tiny.cc/ProgramarED42_V
Assim nesta edição trazemos até si, como artigo de capa, um artigo sobre Web Persistente: Local Storage.
Nesta 42ª edição pode ainda encontrar os seguintes artigos:
Debug de Aplicações em C (António Pedro Cunha)
Arduino: Accionamento e Controlo de Servos Via Teclado (Nuno Santos)
Introdução ao Web2py (António Santos)
Listas Simplesmente Ligadas e Exemplo de Implementação em C (Cristiano Ramos)
Pascal - Tipos de Dados Variant e Tipos Genéricos (Igor Nunes)
Visual(not)Basic - Eventos e handlers (Sérgio Ribeiro)
Windows Server 2012 - Curso Completo (Nelson Belo Lima)
Redes de Computadores - Curso Completo (António Santos)
Implementando publicidade usando Nokia NAX em aplicações Windows Phone (Sara Silva)
Navicat Premium 11 (Nelson Belo Lima)
Dispositivo Android: Ser ou Ser reconhecido pela Google (Rita Peres)
Nessa palestra relato minha experiência não como um desenvolvedor de software altamente sinistro com duzentos anos de experiência e mil livros publicados - mas sim como um "mero mortal", um desenvolvedor "de verdade", do "mundo real" aplicando a teoria que aprendeu do TDD.
Uma coletânea de anti-padrões sobre DevOps em 2018. Uma pequena viagem sobre empregos, micro-serviços, containers, virtualização, cloud e algumas boas práticas
O documento discute o que é ser um programador, enfatizando a importância da atitude ao invés de habilidades técnicas. Um bom programador deve sempre se desenvolver, dar o melhor, e gerar resultados de qualidade. A principal mensagem é que ser programador requer foco contínuo no aprendizado ao longo da vida.
Palestra realizada na Faculdade Una Unidade Barreiro para os alunos do curso técnico,sobre o Mercado Web, tendências da área, novas tecnologias e algumas dicas para aproveitar bem o curso técnico.
O documento apresenta Rodrigo Branas, palestrante e instrutor de desenvolvimento Java e Agile. Ele discute princípios do refactoring como forma de manter o código sustentável e competitivo ao longo do tempo, e como vender atividades de refactoring para a gerência enfatizando benefícios como redução de custos e flexibilidade. Também lista sete inimigos da refatoração como desconhecimento, imediatismo, janelas quebradas, nível técnico baixo, falta de trabalho em equipe, gerenciamento e pressão comercial.
O documento discute os principais conceitos do Ciclo de Vida de Desenvolvimento de Software, incluindo:
1. A importância da Visão e Objetivos do projeto para orientar o time.
2. Exemplos de como problemas podem surgir quando os requisitos não são claros ou a tecnologia é desconhecida.
3. A necessidade de evoluir os sistemas incrementalmente através de iterações e deployes frequentes para lidar com mudanças e imprevistos.
O documento descreve o perfil de um arquiteto da informação e como organizar conteúdos em portais corporativos. Um arquiteto da informação estrutura conteúdos digitais para atender às necessidades de públicos-alvo. É importante designar um arquiteto para garantir que sites sejam facilmente mantidos e cresçam de forma organizada.
O documento discute a experiência do usuário (UX) no desenvolvimento de e-commerces. Ele explica que UX é a qualidade da experiência que as pessoas têm ao interagir com algo projetado e destaca a importância de focar nas necessidades dos usuários. Também apresenta vários princípios e métodos de UX, como prototipagem, testes de usabilidade e avaliação de atributos como efetividade, eficiência e satisfação.
Nessa apresentação eu falo de:
1.- Desafios da carreira de tecnologia:
1.1 - Caminhos para ingressar no mercado
1.2 -Atuando no mercado
1.3 - Estudando e mantendo o conhecimento
1.4 - Problemas que acontecem muito comuns
2.Carreiras
2.1 Web ( Backend,Frontend,Fullstack,QA,DevOps,DBA)
2.2 Mobile (iOS,Android,Fullstack)
2.3 Machine Learning
2.4 Inteligência Artificial
2.5 Data Science
2.6 Jogos
2.7 Outros ( Desktop, Segurança, Web3/BlockChain)
3.Atuando
3.1 Tipos de Empresa
3.2 Mercado Brasileiro
3.3 Remoto do Brasil pro Exterior
3.4 Migrando pro Exterior
3.5 Criador de conteúdo
3.6 Open Source
O documento descreve a carreira e obra de Frederick P. Brooks, autor do livro "The Mythical Man-Month". O livro analisa os problemas de gerenciamento de projetos de software e propõe técnicas para melhor estimativa de tempo e controle de cronograma para evitar atrasos.
O documento descreve a carreira e obra de Frederick P. Brooks, autor do livro "The Mythical Man-Month". Brooks desenvolveu o sistema operacional OS/360 na IBM e observou que adicionar mais desenvolvedores a um projeto atrasado tende a atrasá-lo ainda mais. O livro discute técnicas de gerenciamento de projetos de software.
Este documento discute mitos comuns sobre o desenvolvimento de software e apresenta soluções ágeis. Alguns mitos abordados incluem: (1) focar demais em planejamento detalhado e contratos formais não é adequado para projetos de software, (2) divisão excessiva de tarefas e especialização não levam a bons resultados, e (3) análise e modelagem não precisam ser excessivamente formais para gerar código de qualidade. Abordagens ágeis como desenvolvimento iterativo, colaboração em equipe e foco na entrega de
Toolkit Web para Analistas de Negócios: 3 Ferramentas que Vão Salvar o Seu Dia!Derek Willi
Palestra realizada nas trilhas de Análise de Negócios I e II do TDC Porto Alegre 2018, no dia 06/12/2018.
Malabarismo com documentos do office é a rotina de muita gente que trabalha especificando requisitos. Nesta palestra vou mostrar três ferramentas web que facilitarão sua rotina: o bpmn.io para documentação de processos de forma rápida - é leve MESMO; o moqups para criação de abstrações de interfaces de software; e o Azure DevOps para documentação, priorização e gestão de backlog. Com estas três ferramentas é possível criar user stories completas com abstrações gráficas, que auxiliarão tanto os usuários quanto o time de desenvolvimento.
Este documento apresenta Felipe Pimentel, um arquiteto de software e consultor que ministra palestras e treinamentos sobre desenvolvimento orientado a testes (TDD). Ele discute os benefícios do TDD, como aumentar a qualidade do código e produtividade, e demonstra técnicas TDD em três exemplos de calculadora, FizzBuzz e aplicação bancária.
XP & Scrum from the trenches @ LeroyMerlin BrazilGaëtan Belbéoc'h
1. O documento descreve a experiência de 4 anos implementando XP e Scrum na Leroy Merlin Brasil para melhorar o site e o e-commerce.
2. Inicialmente o site tinha problemas de desempenho e confiabilidade, mas após a adoção de XP essas questões foram resolvidas e o tráfego aumentou 1000%.
3. Práticas como programação em par, TDD, integração contínua e priorização colaborativa ajudaram o time a entregar valor rapidamente para os clientes.
O documento discute os benefícios de adotar frameworks para desenvolvimento de software. O autor argumenta que frameworks aumentam a produtividade, facilitam a manutenção do código e promovem boas práticas de programação orientada a objetos. Ele também fornece dicas para iniciar o uso de frameworks e menciona algumas opções populares como Laravel e Django.
O documento discute como lidar com equipes de desenvolvimento, enfatizando a importância da comunicação e do gerenciamento de projetos. Ele recomenda usar ferramentas como GitHub para versionamento de código, documentação e rastreamento de tarefas, e Slack para discussões do time, além de seguir um processo de desenvolvimento, por mais simples que seja.
O documento fornece dicas sobre desenvolvimento front-end, enfatizando a importância de escolher soluções simples e testadas, manter o código atualizado e dar suporte a navegadores antigos de forma progressiva. Recomenda focar no conteúdo e na acessibilidade, e estar aberto à evolução dos padrões web.
O documento apresenta uma aula sobre navegadores, abordando conceitos como arquitetura cliente-servidor da internet, hipertexto, hipermídia, protocolo HTTP e linguagem HTML. É feita uma explicação detalhada sobre o que são navegadores, sua função de permitir acesso a conteúdos da web e exemplos de definições.
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
O documento apresenta um workshop sobre Test Driven Development (TDD) e Scrum. O palestrante Marcio Hiroyuki Miyamoto irá explicar o que são TDD e Scrum, suas origens e como aplicá-los na prática em aproximadamente 2 horas de apresentação.
Da Descoberta do Ágil ao Manifesto Luca Bastos AgileVale 2013Luca Bastos
Keynote Agile Vale 2013 - Da descoberta do Ágil ao Manifesto Luca Bastos
Um emenda so Software Craftmanship Manifesto que por sua vez emenda o Agile Manifesto.
O meu considera coisas atuais tais como Inception, Design Thinking mais algumas coisas de Lean Startup como Customer Validation, MVP e Lean UX
O documento discute os princípios da inovação segundo Peter Drucker, incluindo as sete fontes de oportunidades de inovação e a importância de uma abordagem sistemática e focada. Também destaca que a agilidade pode facilitar a inovação ao valorizar pessoas e capacidade de resposta à mudanças.
Da descoberta do Ágil ao Manifesto Luca Bastos Agile Brazil 2013Luca Bastos
Lançamento do Manifesto Luca Bastos no Agile Brazil 2013.
É uma emenda ao Sotware Craftmanship Manifesto que por sua vez é uma emenda ao Manifesto Ágil. Inclui alguns conceitos mais recentes tais com Inception (ou Liftoff), Design Thinking, Lean UX e Lean Startup
Apresentação feita em Florianópolis em 25/05/2013
Grande parte do conteúdo foi tirado do excelente livro Lean Analytics escrito por Allistair Croll e Ben Yoskovitz, a melhor referência que conheço neste assunto
The document discusses ideas for improving agile software development projects. It suggests incorporating practices like test-driven development (TDD), continuous delivery, metrics tracking, agile analytics using machine learning, cloud computing technologies, responsive design, and cross-platform mobile development. The document presents these ideas as part of an evolving hypothetical project, making incremental improvements at each step to create a "much better agile cloud project".
Agile Brazil 2012 Painel com empreendedores digitaisLuca Bastos
O documento apresenta um painel com três empreendedores brasileiros: McKay Thomas, co-fundador do Baby.com.br; Paulo Silveira, um dos fundadores da Caelum.com.br e fundador do GUJ.com.br; e Rafael Siqueira, fundador e CTO da LBS Local, proprietária dos portais Apontador e MapLink. Fornece breves biografias de cada um, descrevendo suas experiências e realizações empreendedoras.
Ágil como MacGyver - Caipira Ágil -18-08-2012Luca Bastos
O documento descreve a carreira de Luca Bastos como um desenvolvedor de software ágil. Ele fala sobre suas experiências com diferentes metodologias ágeis ao longo dos anos, incluindo programação estruturada, RUP, Scrum e Kanban. O documento também anuncia uma conferência sobre agilidade organizada por Luca Bastos em setembro no Hotel Maksoud Plaza em São Paulo.
Apresentação no TDC2012 em 08/07/2012 na trilha de empreendedorismo.
Baseada no capítulo 8 do e-book gratuito Revendo os Próprios Passos http://ebook.concretesolutions.com.br
Machine learning java ce conference 2012 - fortaleza ceLuca Bastos
1) O documento discute machine learning e apresenta o Weka, uma ferramenta de código aberto para aprendizado de máquina.
2) O Weka contém algoritmos de aprendizado supervisionado e não supervisionado, pré-processamento de dados e interfaces gráficas.
3) O documento explica como usar o Weka para classificação, clustering, seleção de atributos e experimentação com diferentes algoritmos.
Transações compensatórias usando REST
Bruno Pereira bruno.pereira@concretesolutions.com.br
Luca Bastos
luca.bastos@concretesolutions.com.br
Apresentada no Qcon São Paulo/2011
Lightning talk Luca Bastos no QCon SP 2011Luca Bastos
Este documento contém três frases ou menos:
O documento resume brevemente alguns pontos sobre sonhos, Lean Startups e o Business Model Canvas, e inclui um poema de Álvaro de Campos lido por Osmar Prado.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
1. Como formar um programador 10x
Luca Bastos
luca.bastos@concretesolutions.com.br
Agile Brazil 2011
Fortaleza, CE
2. A m a i o r r i q u e z a d o h o m e m
é a s u a i n c o m p l e t u d e .
N e s s e p o n t o s o u a b a s t a d o.
P a l av r a s q u e m e a c e i t a m c o m o s o u - e u n ã o a c e i t o.
N ã o a g ü e n t o s e r a p e n a s u m s u j e i t o q u e a b r e p o r t a s ,
q u e p u x a v á l v u l a s , q u e o l h a o r e l ó g i o,
q u e c o m p r a p ã o à s 6 h o r a s d a t a r d e ,
q u e v a i l á f o r a , q u e a p o n t a l á p i s ,
q u e v ê a u v a e t c . e t c .
Pe r d o a i
M a s e u p r e c i s o s e r O u t r o s .
E u p e n s o r e n o v a r o h o m e m u s a n d o b o r b o l e t a s .
M a n o e l d e B a r ro s
3. Quem sou:
Desenvolvedor do tempo da Carochinha, ávido
leitor e praticante sempre interessado em
metodologias de desenvolvimento,
desde antes de surgirem programação modular,
programação estruturada e todas as demais até
os dias de hoje.
Meninos, eu vi. E vivi.
4. Onde trabalho: http://www.concretesolutions.com.br/
A Concrete tem 10 anos com um portfólio de clientes
bem variado no Brasil e no exterior. No início a maior
demanda do mercado era para soluções de integração e
assim foi natural a parceria com os grandes players como
Oracle, Red Hat, etc.
Atualmente a diversificação é bem grande e temos também
ótimos projetos nas áreas de cloud, mobile, web e lean
startups de tecnologia.
Praticamos e pregamos o desenvolvimento ágil desde 2007.
Hoje temos 56% do faturamento usando Scrum e Kanban e
só 12% de projetos fechados.
5. “Design and programming are human
activities; forget that and all is lost.”
Bjarne Stroustrup
The C++ Programming Language, 2nd Ed, Section11.1, pág.363
6. Arbitrariamente vou definir um programador 10x
como aquele que sem ser gênio, tem pelo menos
um pouco das seguintes qualidades:
- inteligente (e com bons princípios éticos),
- personalidade que alie GTD a criatividade e mais
boa interatividade com time,
- sabe programar e conhece as tecnologias do
projeto
(melhorar aqui é o foco desta apresentação)
7. Veremos o que fazer para elevar o nível de um
programador iniciante
e como criar condições de um dia ele vir a ser
um programador 10x.
17. Origem do meu interesse
no tema da apresentação
Ligue djá
18. Segundo o prof. Robert Glass, no livro de 2002
Facts and Fallacies of Software Engineering
Fato 1:
O fator mais importante no trabalho com software
é a qualidade dos programadores.
Fato 2:
A diferença entre os melhores e os piores
programadores pode ser de até 28 vezes.
19. A diferença de produtividade entre programadores
já foi motivo de preocupação de estudiosos como
Bohem, De Marco, Spolsky e outros.
20. Steve McConnell também discute o que é um
programador 10x e se é viável medir variações na
produtividade
Ver último capítulo de Making Software, What
Really Works, and Why We Believe It, O’Reilly 2011
21. Origem do termo programador 10x
Segundo um estudo de 1968 (ver *)
Diferenças entre o melhor e o pior entre
programadores com 7 anos de experiência,
Tempo para “codar”
20x
Tempo para debugar
25x
Tamanho do código
5x
Tempo de execução do código
10x
* Making Software, What Really Works, cap.30, What Does 10x Mean? Steve McConnell
22. Segundo o mesmo McConnell (*), o tal estudo tem falhas
porque compara resultados de programadores usando
linguagens de baixo nível com outros usando linguagens
de alto nível
Tempo para “codar”
20x
Tempo para debugar
25x
Tamanho do código
5x
Tempo de execução do código
10x
* Making Software, What Really Works, cap.30, What Does 10x Mean? Steve McConnell
23. Porém McConnell (*) repara que a diferença entre
os melhores e os piores pode ser considerada como
10x
Tempo para “codar”
20x
Tempo para debugar
Tamanho do código
Tempo de execução do código
10 X
25x
5x
10x
24. Escolhi usar o termo 10x porque meu conceito de
10x está mais para os bons que podemos formar
do que para os pontos extremos excepcionais que
poderiam ser os tais 28x.
25. Mas eu conheço muitos bem acima do 10x
Chegaram lá por diversos motivos dentre eles
qualidades pessoais acima da média
Vamos ver alguns que quase todos conhecem:
26.
27. Não é com estes que estou preocupado
É com os novos que contrataremos
E supondo que nossos iniciantes são inteligentes,
falarei sobre o que fazer para que se tornem 10x
em menos tempo
28.
29. #Fatos
Atualmente está difícil contratar programadores
O mercado está aquecido e há poucos disponíveis
Mais fácil contratar iniciantes e treiná-los até o
nível médio da equipe
30. Desafio número 1:
Dar condições para o iniciante virar bom
programador continuando sendo um ser humano
(sem arrogância).
31. Opinião do Joel Spolsky:
Contrate um super star caso queira um produto
acima da média.
32. Mas todo mundo conhece um super programador
que ninguém quer na equipe.
33. Um super piloto de caça nem sempre se sujeitará
as normas de segurança de um avião de carreira
ou o barão vermelho pode não ter habilidade para
conviver com as demais pessoas.
40. Então não consigo medir a produtividade?
Para mim a resposta é não.
Parece até perda de tempo tentar.
Concordo com Martin Fowler em
http://www.martinfowler.com/bliki/CannotMeasureProductivity.html
41. Então como saber se um programador já é 10x?
Se não se pode medir
Quais serão então os tais outros meios?
43. Para nossa sorte,
os meios de acompanhamento úteis
para reconhecer um programador 10x
44. São exatamente os mesmos
que possibilitam conduzir um iniciante
ao conceito 10x
45. - Programação pareada
- Revisão de código
- Compartilhamento de conhecimento,
workshops, práticas de dojos, etc.
- TDD, boa comunicação, etc.
46. Primeiro resultado desta apresentação
Não é possível medir a produtividade dos
programadores
mas se pode avaliar cada um por meio de
acompanhamento frequente.
47. Esta página foi intencionalmente deixada em branco
para que você pense no dia a dia do seu projeto
48. Impressões minhas:
Algumas práticas do desenvolvimento ágil
adequadas a elevar o nível dos iniciantes são
deixadas de lado ao estimar um projeto.
Nem sempre o ambiente de desenvolvimento
facilita o emprego destas práticas.
49. No seu projeto ou na sua empresa:
- nas estimativas é previsto o pareamento?
- ou cada desenvolvedor pega uma tarefa?
- e há tempo para revisão de código?
- há práticas de disseminação de conhecimento?
- o ambiente de trabalho facilita o pareamento?
existem baias? As mesas permitem pareamento?
- é fácil trocar de par ou os desenvolvedores tem
lugar fixo?
50.
51. Considerando que uma boa parte dos
desenvolvedores trabalha alocado nos clientes,
e que dentro do ambiente deles dificilmente
conseguimos tempo no projeto e espaço físico
ideal,
só pode ser pegadinha do Malandro falar
destas práticas.
52. Mesmo nas empresas cujo objetivo principal é o
desenvolvimento de software, nem sempre há
espaço físico propício às práticas citadas
Também não é fácil encontrar imóveis e móveis
ideais
53. Muitas vezes por pressões dos clientes ou pelo
exíguo time to market do produto, é difícil subtrair
tempo do projeto para cuidar dos processos (*) de
melhoria contínua e renovação da equipe.
*
Se não cuidar destes processos, então cuidado com a
lei de Brooks: “adicionar pessoas a um projeto atrasado
irá atrasá-lo ainda mais”
54. Desafio número 3 (este sim o mais difícil)
1. Convencer os gestores das empresas da
importância destas práticas.
2. Convencer os clientes que produto feito sob
encomenda só será bom e atualizado, se estiver
sob um processo de melhoria contínua.
Portanto é preciso reservar tempo para isto.
3. Convencer os desenvolvedores de são eles os
beneficiados e que também precisam doar tempo.
55. O passo 1, ao contrário do que dizem, costuma ser
o menos difícil:
convencer os chefes.
E eles tem acesso e mandato para convencer nossos
clientes.
56. Porém ninguém se iluda.
Muito mais difícil é convencer os colegas,
de que são parte interessada no processo de
melhoria e atualização e que
também devem doar tempo.
57. O desafio 3
é convencer
convencer
convencer ...
58.
59. Segundo resultado desta apresentação:
É preciso reservar tempo e esforço em prol da
melhoria contínua.
Alguns podem discordar mas para mim isto não
deve ocorrer só por parte da empresa.
É preciso convencer o desenvolvedor a também
fazer a sua parte.
60. Práticas que ajudam a diminuir o gap técnico da
equipe e conduzem um iniciante ao conceito 10x
61. Relembrando programação pareada
• Fred Brooks e Larry Constantine já falavam disto
• Diminui o risco e evita o “truck factor” (Ceci Fernandes)
• Resultado do código costuma ser mais legível
• Ao contrário do que dizem, pode ser feito remoto
• Gasta mais tempo.
• Cansa mais a cabeça, nem todos suportam mesmo % / dia
62. Relembrando revisão de código
• Brooks também citava
• É uma prática aparentemente esquecida atualmente.
• Além de diminuir o “truck factor”, é mais uma chance de
descobrir defeitos
• Parece funcionar melhor feito em grupo (ou par)
• É mais fácil rever pequenos trechos de código em
pequenas janelas de tempo
63. Relembrando compartilhamento de conhecimento,
workshops, práticas de dojos, etc.
• Atividades que exigem mais doação dos desenvolvedores
do que da direção da empresa
• Geralmente feitos fora do horário de trabalho
• Em alguns casos contam com participação de
desenvolvedores de outras empresas
• Estimulam e dão oportunidade de afirmação aos que se
oferecem para estudar e apresentar temas
64. Relembrando TDD, boa comunicação, etc.
• TDD pode diminuir o medo do iniciante de fazer uma
grande bobagem que acarrete muitas horas de debug
• TDD facilita a revisão de código
• TDD retira bloqueios do tipo “se está funcionando não
mexe”. Bloqueios deste tipo inibem iniciantes
• Boa comunicação é como uma plantinha que precisa ser
regada todo dia. Nem sempre todos percebem o exato
momento em que a comunicação começa a ter ruídos.
O iniciante sofre mais com falha de comunicação
65. Terceiro resultado desta apresentação:
Práticas populares do XP porém já recomendadas
desde a década de 70, junto com ações de
disseminação de conhecimento e mais TDD,
permitem avaliar a produtividade e elevar o nível
médio dos times.
De quebra diminuem o risco de falha do projeto e
ainda preparam a equipe para maiores desafios
66. E o tal programador 10x?
Não há como medir a produtividade
#fato
Dizer que um vale 10 vezes o outro é chute
Daí a definição arbitrária do programador 10x
no início desta apresentação sem comparar
com nenhum outro
#constatação
67. Moral da história
Se não podemos medir, não há como colocar
números comparativos.
O termo programador 10x significa ...
apenas um bom programador (como definido).