Software craftsmanship

Últimamente en los entornos que me muevo, todo el mundo habla sobre el Software Craftsmanship o que quieren llegar a ser un craftsmanship, y craftsmanship por aquí y por allá. Así que voy a hacer un ejercicio de auto-análisis en voz alta para definirme a mi mismo lo que yo quiero llegar a ser y que significa para mí ese concepto en concreto.

Para empezar veamos que dice la wikipedia:

“Software craftsmanship is an approach to software development that emphasizes the coding skills of the software developers themselves. It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over developer accountability.”

Totalmente de acuerdo, pero se queda corto, para mí es algo más….

Para mí un artesano de software, es alguien al que yo siempre tenía referenciado como “Gurú”. No un gurú en un lenguaje de programación en concreto y ya está, sino alguien que tiene unas habilidades, conocimientos y experiencia muy superior a la media. Alguien brillante que solo le falta con echar una ojeada a un código de un lenguaje del que nunca ha oido hablar, para orientarte y desglosar tu problema, hasta ayudarte a dar con la solución. Es una persona que le preocupa su trabajo, que le apasiona y sobre todo quiere hacerlo lo mejor posible. Al que a pesar de su experiencia y conocimientos siempre está al día, actualizándose, renovándose y empapándose de conocimientos y al que le gusta compartirlos. Una persona cansada de hacer chapuzas, harta de tener descuidadas a las personas y ser temeroso del cliente. Descontento con la forma de trabajar de la industria del software y que lucha por una evolución. Pero sobre todos estos adjetivos, está el de alguien al que respetar por su sabiduría, tanto técnica como moral ante su trabajo. En resumen, alguien al que admirar.

En el blog de Clean code de Uncle Bob tenemos una definición mucho más justa seguramente del concepto. Pero de todo el post me quedaría con este párrafo:

“Do you think the only time musicians play their instruments is when they are on stage? Do you think the only time that batters hit balls is during games? Do you think the only time lawyers give a closing is at trial? Of course not. These people are professionals; and professionals practice! Professionals study the minutia of their disciplines. Professionals know all the little tricks and quirks. They know the history, the theories, the anecdotes. They know techniques and methods. They know good options and bad options and how to tell them apart. And they know all this stuff because they practice, practice practice.”

Por cierto, si queréis leer algo más sobre el término, no solo la definición, podéis entrar aquí
Manifiesto Software craftsmanship
Wikipedia

PD1: Voy a leerme este libro para intentar avanzar más hacia esta dirección y comprender mucho mejor los conceptos de la Artesanía de Software. Ya pondré un resumen ;P

PD2: Si queréis echaros unas risas con el tema, seguid en twitter a @dev_enfurecido

 


2 responses so far, want to say something?

  1. Hernaldo Gonzalez says:

    Breve pero claro artículo, sería bueno acompañarlo de ejemplos, un buen libro con casos prácticos es “Clean Code – A Handbook of Agile Software Craftsmanship” de Robert C. Martin.
    Lo otro, para clarificar más, yo traduciría aquellas frases en inglés, para aquellos informáticos/técnicos menos metidos con la lengua inglesa.

  2. Alvaro Garcia Loaisa says:

    Muchas gracias Hernaldo!
    Si, la verdad es que a demás de la experiencia suma bastante este tipo de libros, donde coincido contigo en poner el 1º de la lista “Clean Code”. Otros que me gustan bastante son “The clean Coder”, “Refactoring” y Peopleware.
    Salu2!

Deja un comentario

IMG_4939IMG_4206IMG_4462IMG_4961IMG_4484IMG_4491IMG_4500IMG_3869IMG_4507IMG_3936IMG_4622IMG_4358IMG_4765IMG_4494
%d personas les gusta esto: