Embora não seja uma idéia nova , parece ter havido um grande aumento no interesse pelo artesanato de software nos últimos dois anos (principalmente o título completo do livro Clean Code, frequentemente recomendado, é Clean Code: A Handbook of Agile Software Craftsmanship ).
Pessoalmente, vejo o artesanato em software como uma boa engenharia de software, com um interesse adicional em garantir que o resultado final seja um prazer para trabalhar (tanto como usuário final quanto como alguém que mantém esse software) - e também que seu foco está mais no nível de codificação das coisas do que o nível superior processa as coisas.
Para fazer uma analogia - havia muitos edifícios construídos nos anos 50 e 60 em um estilo muito moderno, que levava muito pouco em conta as pessoas que morariam neles ou como esses edifícios envelheciam ao longo do tempo. Muitos desses edifícios rapidamente se transformaram em favelas ou foram demolidos muito antes da expectativa de vida útil. Tenho certeza que a maioria dos desenvolvedores com alguns anos de experiência terá experimentado bases de código semelhantes.
Quais são as coisas específicas que um especialista em software pode fazer que um engenheiro de software (possivelmente ruim) não pode?