Leia Fragmentos de um programador on-line de Phil Calçado | Livros
9788555192234
As calorosas discussões no GUJ suscitaram em Phil Calçado o interesse em escrever regularmente sobre as dúvidas mais frequentes daquele fórum, contribuindo para a comunidade da computação e para o meio acadêmico. Seus artigos ganharam destaque em palestras e são frequentemente utilizados como referências na literatura e em pesquisas da área.
Neste livro, a Casa do Código reúne os artigos mais importantes de Phil Calçado, que são leitura obrigatória até hoje para qualquer desenvolvedor de software de respeito, junto com a tradução inédita para o português de publicações mais recentes do autor. Você vai colher opiniões e vários insights sobre design de software, integração de sistemas, Orientação a Objetos, Domain-Driven Design, microsserviços e muito mais.
Relacionado a Fragmentos de um programador
Fragmentos de um programador - Phil Calçado
Quem é Phil Calçado
2. Guia de guerra para freelancers
3. Contratos nulos
4. Evitando VOs e BOs
5. MVC e camadas
7. Arquitetura é sobre pessoas
8. Deixe para lá o DDD
9. Arquitetura Ágil: 4 estratégias comuns
10. Como criar um repositório
11. A unidade do teste de unidade é a unidade da manutenibilidade
12. Data Transfer Objects internos
13. Como nós acabamos tendo microsserviços
14. Pedindo aos candidatos para codar
Impresso e PDF: 978-85-5519-222-7
EPUB: 978-85-5519-223-4
MOBI: 978-85-5519-224-1
Phil Calçado é diretor de engenharia na DigitalOcean em Nova Iorque. Em vidas passadas, ele foi diretor de engenharia na SoundCloud em Berlim, ajudou empresas a adotar SOA e entrega contínua na ThoughtWorks em Londres, Sidney e Melbourne. Antes de se tornar um nômade, ele trabalhou na equipe de vídeos da Globo.com no Rio de Janeiro.
Eu me lembro até hoje de quando comecei a frequentar o GUJ, em 2006. Era uma comunidade pequena, muito longe do tamanho que tem hoje, mas vibrante. Praticamente todas as discussões que aconteciam por lá geravam longos debates, alguns até acalorados, porém todos cheios de aprendizados.
Era comum ver as opiniões firmes do Phillip por lá. Lembro-me até hoje de que, já naquela época, ele falava sobre granularidade de serviços e sua cruzada contra a hipercomplexidade de algumas plataformas da época.
Naquela época, eu engatinhava no mundo do desenvolvimento e acompanhava atentamente cada artigo que o Phillip publicava no seu antigo site, o Fragmental, que nem existe mais hoje. O que é uma pena, pois tinha muito conteúdo bom e que valerá até muitos anos ainda à frente.
Em uma conversa recente, falamos com o Phillip e conseguimos desenterrar seu blog. Fizemos uma coleta dos seus artigos publicados lá no passado no Fragmental, e que são leitura obrigatória até hoje para qualquer desenvolvedor de software de respeito.
Mesclamos também com conteúdos atuais que ele escreve em inglês, traduzidos para o português com a curadoria da Casa do Código. Você vai colher opiniões e vários insights sobre design de software, integração de sistemas, Orientação a Objetos, Domain-Driven Design, microsserviços e muito mais, tudo aqui dentro destas páginas.
Espero que você aproveite esse estudo e que valha a pena para você, assim como o Fragmental valeu a pena para mim lá no passado e me fez olhar o mundo do desenvolvimento de software com olhos muito mais criteriosos.
Editor da Casa do Código
Minha introdução ao mundo da informática foi inusitada. Como ocorreu com tantas crianças da década de 80, meus pais ficaram muito preocupados com o tempo que eu gastava jogando videogame. Um dia, meu pai, que trabalhava em projetos de engenharia de petróleo, me disse que me daria um computador, o primeiro de toda a minha família. Meus olhos brilharam, imaginando todos aqueles jogos a que eu nunca tinha tido acesso no meu Mega Drive, mas sobre os quais havia lido em revistas.
Grande foi a minha decepção quando, em vez do 386 que eu havia imaginado, ganhei um livro. Eram umas cem páginas ensinando conceitos básicos de programação, linguagem de máquina, e diagramas de circuito descrevendo o computador. Este era o manual do TK-83, produzido por uma empresa chamada Microdigital. O computador era mais velho que eu, basicamente um clone brasileiro do britânico Sinclair ZX 81. Não havia interface com o usuário, e a única maneira de interagir com o computador era escrevendo programas em BASIC.
Meu pai disse que só me daria o computador em si depois que eu aprendesse a programar. Então, pelos próximos seis meses, passei muitas horas lendo aquele livro e escrevendo programas no papel. Após verificar meu progresso, enfim ganhei o tal computador dos meus pais.
Infelizmente, a pessoa que iria vender o TK-83 não o tinha mais disponível, logo eles conseguiram um TK2000. Era um hardware mais moderno, mas em vez de um clone do ZX81, eu tinha em mãos um clone do Apple II+. Passei um bom tempo lutando com a diferença entre os modelos — pode-se dizer que comecei a ter apreço por portabilidade de código com onze anos!
Muitos anos, linguagens de programação e computadores depois, com 20 anos de idade, decidi largar a faculdade e a vida de freelancer e me dedicar ao meu trabalho como desenvolvedor em uma pequena agência web no centro do Rio de Janeiro. O trabalho era interessante no início, mas aos poucos fui percebendo que todo projeto se resumia a escrever o mesmo gerenciador de conteúdo (CMS).
Pensando em facilitar minha vida, passei um fim de semana escrevendo um CMS genérico, em ASP 3.0. Este foi o maior sistema que eu já tinha visto. E durante seu desenvolvimento e eventual customização para clientes, aprendi da maneira difícil sobre boas práticas em software.
Traumatizado com essas experiências, eu acabei atraído pela linguagem Java. Esta tecnologia prometia não só portabilidade, mas era também fortemente baseada em objetos. Todos os livros me diziam que esses tais objetos eram a bala de prata em software de fácil manutenção. O problema é que ninguém conseguia me dizer o que era um objeto.
Enquanto eu ainda estava na faculdade, um professor descreveu o paradigma da seguinte forma: Orientação a Objetos é como ser um bebê. O bebê vê um chocalho, morde, é duro, joga fora. Ele vê uma chupeta, morde, vê que é mole, chupa . Até hoje eu ainda não tenho a menor ideia do que ele estava querendo dizer com isso, mas esse era o tipo de definição esotérica que havia no mercado.
Como bom nerd, eu passei a ler tudo o que conseguia achar sobre esse assunto. Comecei a participar de diversas listas de discussão e me aventurar pelos grupos de usuário no Rio de Janeiro. Eventualmente, achei um fórum brasileiro em que essas ideias mais abstratas eram discutidas com frequência: http://guj.com.br.
Eu não tenho a menor ideia de quantas horas da minha vida passei no GUJ. Mas além da satisfação em discutir assuntos interessantes, lá também conheci quase todas as pessoas que são meus amigos mais próximos até hoje em dia.
As discussões no GUJ eram acaloradas, me faziam pensar e pesquisar. Eventualmente passei a escrever regularmente sobre minhas conclusões no meu blog pessoal, o Fragmental. Minha ideia era escrever sobre as dúvidas mais frequentes do fórum, para que da próxima vez que alguém perguntasse a mesma coisa, eu mandasse um link para o artigo em vez de ter de escrever tudo novamente.
Eventualmente o blog ficou popular, e eu comecei a ser convidado para palestrar e escrever uma coluna para revistas da indústria. Diversos artigos foram usados como referência bibliográfica em doutorados, livros e outros artigos.
Infelizmente, como às vezes ocorre na internet, o trabalho de manter o site no ar se tornou maior do que eu poderia investir. O blog já não existe fora do WebArchive, mas frequentemente recebo pedidos de estudantes e profissionais que querem acesso ao conteúdo. Então, em vez de continuar manualmente gerando PDFs e mandando para estas pessoas, a Casa do Código se propôs em publicar os artigos mais importantes em um livro.
Este é o volume que você tem em mãos — com a inclusão adicional de alguns artigos mais recentes traduzidos. Espero que esta obra sirva para tapar alguns 404 na literatura técnica brasileira.
Guia de guerra para freelancers
— Artigo publicado em junho de 2005.
Esses dias tenho conversado via ICQ (sim, eu prefiro ICQ ao MSN) com um amigo meu, o Renato, sobre as desventuras dele enquanto freelancer. Tentei dar dicas que aprendi quando me embrenhava por essas terras distantes...
Eu programo desde muito novo. Não vou me alongar aqui, mas por alguns anos fui ganhando uma graninha dando consultoria básica em ASP, VisualBasic (argh!) e C em listas de discussão. Coisa pouca que mal dava para comprar um livro de programação traduzido de 50 reais. Não demorou muito e passei a fazer programinhas como freelancer, como todo mundo do meio.