Carregando agora
×
David Thomas

David Thomas

Data de Nascimento: 31/12/1960

Nacionalidade: Inglaterra

Website: https://pragdave.me/

Biografia

David Thomas, ou simplesmente Dave Thomas é programador de computador, autor e editor. Ele escreveu sobre Ruby e, juntamente com Andy Hunt, foi co-autor do livro “The Pragmatic Programmer” e dirige a editora “The Pragmatic Bookshelf”. Thomas mudou-se para os Estados Unidos da Inglaterra em 1994 e vive ao norte de Dallas, Texas.

Thomas cunhou as frases ‘Code Kata’ e ‘DRY’ (Don’t Repeat Yourself)*, e foi um signatário original e autor de O Manifesto para Desenvolvimento de Software Ágil. Ele estudou ciência da computação no Imperial College London.

É também criador do CodeKata (http://codekata.com/) que usa uma analogia ao Kata da arte marcial Karatê, para ensinar programação e desenvolvimento de software desde um nível básico CodeKata 01 até como enfrentar os desafios mais difíceis em CodeKata 21.

No ano de 1998, conheceu a linguagem Ruby e escreveu o livro “Programming Ruby” que tem o objetivo de apresentar a linguagem ao mundo. Dave foi um dos apoiadores da documentação da linguagem, e como ele mesmo diz, evangelizou o uso do Ruby durante mais de uma década.

Em 2001, participou ativamente da criação do “Manifesto Ágil” o que segundo ele mesmo, “Ainda estou incrivelmente orgulhoso desse documento, e do impacto que ele teve na indústria. Ao mesmo tempo, estou angustiado com a forma como esses quatro valores originais foram cooptados e distorcidos para justificar todo tipo de mau comportamento e produtos duvidosos” em seu blog pessoal.

Trabalhou junto com Joe Armstrong (um dos criadores da Erlang) quando escreveu Programming Erlang, e estava naturalmente interessado quando Elixir apareceu, e seu interesse o fez escrever Programação Elixir para ajudar os outros a descobrir esta linguagem incrível. Seu último livro, intitulado Simplicidade foi como uma resposta a complexidade ridícula que se infiltrou nos processos, ferramentas e na própria área de programação. O livro, é uma tentativa de recuperar o objetivo original do Ágile e ajudar os desenvolvedores a manter a consciência diante do quadro geral, não se fixando em estruturas, bibliotecas, frameworks ou algoritmos complicados. Atualmente, presta consultoria e ministra palestras, conferências e workshops em todo o mundo.

* DRY é um princípio de desenvolvimento de software destinado a reduzir a repetição de informações que provavelmente mudarão, substituindo-as por abstrações que são menos propensas a mudar ou usando a normalização de dados que evita a redundância em primeiro lugar. Declarado como “Todo conhecimento deve ter uma representação única, inequívoca e autoritária dentro de um sistema”.

Romeu Gomes

Romeu Gomes

Programador • Consultor em Tecnologia • Blogueiro - Nascido em São Paulo, em 12 de Dezembro de 1978 é um veterano da tecnologia, programando desde 1995. Possui uma formação acadêmica de peso, que inclui Ciência da Computação (1999), Mestrado em Bancos de Dados (2005) e especializações em área chave da tecnologia. Alem de diversos cursos livres. Cristão e grande entusiasta da leitura, seu propósito com o autor é puramente didático. Ele utiliza sua experiência de mais de 30 anos no campo da TI para criar um ambiente de aprendizado e transmissão de conhecimentos.

Artigos - Site

Redes Sociais:Add me on LinkedInAdd me on WhatsAppAdd me on YouTube


Outros Titulos Relacionados

Arquiteturas Descentralizadas: A Web3 sob o Olhar da Engenharia de Software

Arquiteturas Descentralizadas: A Web3 sob o Olhar da Engenharia de Software

Este artigo analisa a Web3 sob uma perspectiva técnica e arquitetural, explorando blockchain, contratos inteligentes e identidade descentralizada como respostas estruturais aos limites da Web2 ou o que conhecemos hoje como internet.

Código Legado Não é o Problema: A Engenharia por Trás do Medo

Código Legado Não é o Problema: A Engenharia por Trás do Medo

Uma análise técnica e acessível sobre código legado, explorando suas origens, riscos e estratégias de evolução segura, tratando sistemas herdados não como problemas, mas como ativos críticos do desenvolvimento de software.

Quando Falhar é o Padrão: Projetando Sistemas Distribuídos Resilientes

Quando Falhar é o Padrão: Projetando Sistemas Distribuídos Resilientes

Arquiteturas distribuídas introduzem caos, falhas e incertezas, mas também possibilitam escala, resiliência e ordem emergente quando projetadas com consciência dos trade-offs.

A Religião dos Dados: Integrando SQL e NoSQL no Desenvolvimento Moderno

A Religião dos Dados: Integrando SQL e NoSQL no Desenvolvimento Moderno

Este artigo analisa criticamente a sacralização dos dados na engenharia de software, discutindo limites técnicos, epistemológicos e éticos do uso acrítico de métricas, modelos estatísticos e sistemas orientados a dados.

Uma Análise Crítica das Metodologias e Arquiteturas de Desenvolvimento de Software

Uma Análise Crítica das Metodologias e Arquiteturas de Desenvolvimento de Software

Este artigo analisa metodologias e arquiteturas de desenvolvimento de software sob uma perspectiva técnica e crítica, conectando teoria, prática industrial e engenharia moderna para formação de profissionais mais conscientes.

Criptografia e Funções de Hash: Fundamentos, Implementações e Aplicações na Segurança Digital Moderna

Criptografia e Funções de Hash: Fundamentos, Implementações e Aplicações na Segurança Digital Moderna

Examine os fundamentos da criptografia e funções de hash, explorando desde algoritmos simétricos e assimétricos até suas aplicações práticas em segurança digital. Aborda vulnerabilidades, implementações e perspectivas futuras incluindo criptografia pós-quântica, oferecendo visão abrangente para profissionais de TI.

Livre-arbítrio no Código: Quando as Regras do Código Aprisionam a Criatividade

Livre-arbítrio no Código: Quando as Regras do Código Aprisionam a Criatividade

Este artigo explora a tensão entre estruturas técnicas rígidas (ex.: normalização de bancos de dados, princípios SOLID) e a necessidade de flexibilidade criativa na engenharia de software. Usando casos reais, demonstramos como dogmas técnicos, embora úteis, podem limitar soluções inovadoras. Propõndo estratégias para equilibrar rigor e adaptabilidade, defendendo que o livre-arbítrio do desenvolvedor está na consciência crítica sobre quando seguir ou romper regras.

A Ilusão da Carreira em TI: Uma análise técnica sobre formação, métricas e sustentabilidade Profissional

A Ilusão da Carreira em TI: Uma análise técnica sobre formação, métricas e sustentabilidade Profissional

A carreira em tecnologia é cercada por promessas de sucesso rápido e altos salários. Este artigo analisa, sob uma perspectiva técnica e crítica, os mitos, métricas distorcidas e desafios reais da formação e evolução profissional na área de TI.

A Essência do Desenvolvimento – A Arquitetura Invisível do Pensamento Computacional

A Essência do Desenvolvimento – A Arquitetura Invisível do Pensamento Computacional

No artigo, vamos explorar os 'mitos' e as verdades que passam na mente dos programadores e desfazer a idéia que a liberdade da programação proporciona controle e o desenvolvimento de soluções instantâneas. O artigo explora o conceito de DEV como a estrutura invisível do pensamento computacional, abordando abstração, algoritmos, arquitetura, linguagens e ética, conectando fundamentos científicos à prática moderna do desenvolvimento de software.

Anatomia Técnica e Ética da Indústria do Spyware: Entenda o Zero-Click e Arquiteturas C2

Anatomia Técnica e Ética da Indústria do Spyware: Entenda o Zero-Click e Arquiteturas C2

O artigo analisa a evolução técnica da indústria de spyware, desde as origens artesanais em 2010 até as sofisticadas arquiteturas Zero-Click e redes C2 multicamadas atuais, provocando uma reflexão sobre a responsabilidade ética do desenvolvedor diante da vigilância global.