Mais sobre Software Craftsmanship…

Hoje eu escutei um podcast da software engineering radio com o famoso Robert Martin (mais conhecido como uncle bob) a respeito de software craftsmanship, e pude notar algumas coisas muito interessantes que ele falou, que eu concordei e decidi compartilhar.

O link da entrevista é esse aqui.

Aqui estão alguns pontos que ele comentou (não necessariamente em ordem):

  • “Software Craftsmanship é um movimento que está relacionado com o aprendizado da arte com os mestres.” Por trás dessa frase tem muitas coisas, e uma das primeiras delas é que todo iniciante no mundo de desenvolvimento precisa ter “mestres” por perto, para que possamos olhar, e aprender com eles como se desenvolve software. O que você aprende na faculdade não é suficiente para encarar o mundo do software sozinho. Se você acha que sozinho dá para aprender tudo, eu diria que você já começou errado. Como no mundo do artesanato convencional, você primeiro aprende com alguém, depois inicia sua caminhada sozinho e refinando sua técnica, e depois você poderá virar “mestre” de outros artesões. O mundo do software é muito parecido com essa realidade.
  • “Só no seu trabalho (das 8h as 17h)  você não vai conseguir ser um mestre e refinar/melhorar sua habilidade e técnica”. Essa é uma daquelas verdades inconvenientes. Mas a moral da história é que se você não usar o seu tempo “livre” para estudar, aprender novas coisas e aprimorar coisas antigas você provavelmente nunca vai poder começar sua jornada em direção a virar um mestre no futuro (na verdade nunca vai virar esse mestre #fact). Uncle Bob cita que ele acha que o tempo ideal para você dedicar nos seus estudos fora do trabalho é algo na faixa de 20 horas semanais. Acho que a quantidade de horas não é importante e nem existe um tempo para todo mundo, mas o fato é que o estudo fora do trabalho é muito importante nessa caminhada do artesão.
  • “Um médico cirurgião muito bom, depois de muitas cirurgias não vira gerente e pára de realizar cirurgias”. Esse é um ponto bem interessante que trás algumas verdades. A primeira delas é que você só aprende fazendo, e fazendo muito. A segunda verdade é que se você se especializa em um determinado artesanato (programar, gerenciar, testar, etc) você não deveria virar gerente depois de se tornar bom, pelo contrário, aí seria onde você começaria a realmente mostrar seu valor.
  • “Só quem sabe o que a equipe de desenvolvimento está passando (dificuldades, desafios, etc) é quem está botando a mão no código” Na verdade esse ponto é mais um combate a funções do tipo “Arquiteto” e similares, aonde você não codifica, mas você que dita a arquitetura (em termos de caixas e setas em power point ou qualquer outra ferramenta de diagramação) . No momento da criação das caixas e setas no powerpoint as decisões que vão ser tomadas estão em um nível acima das que precisam ser tomadas no código, são decisões diferentes e que as vezes até conflitam entre si. Arquitetura é código! Arquitetura e design é código! E os artesões de software são orgulhosos do código que fazem, e também de COMO esse código foi feito.

é isso, que discordar ou concordar com algo, please leave a comment!

5 comentários sobre “Mais sobre Software Craftsmanship…

  1. Muito bom burgos.

    Precisamos ter “mestres” por perto, para que possamos olhar, e aprender com eles como se desenvolve software.
    O problema é que eles estão cada vez mais escassos…

    • verdade meu caro Alfredo!

      … mas o segredo é grudar e sugar o máximo que puder dos mestres que eventualmente você achar. Além disso, algumas pessoas são mestres em áreas específicas mesmo sem ter o “status”, então é sugar esses “mestres escondidos” também! Tem que ficar atento para identificar de quem você pode aprender algumas cosias e tentar aprender delas! 🙂

  2. Só pra esclarecer… Ao mesmo tempo em que todos defendem que bons desenvolvedores não devem virar gerentes, as equipes de desenvolvimento exigem que seus gestores saibam cada vez mais detalhes técnicos e dificuldades da equipe. Eu acho que cada um tem seu perfil e seu caminho a ser seguido. Sem diminuir o trabalho de ninguém.

    • eu concordo contigo, acho que cada um tem que se especializar e percorrer o caminho para virar mestre em seu artesanato (seja ele programacao, gerencia, teste, dba, ou qualquer outra coisa que não tenha nada a ver com TI).

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s