martes, 21 de enero de 2014

Los caballeros del código. Lo hice porque sabia hacerlo.

No me he podido resistir a comentar uno de los correos que me han enviado hoy. Para ponernos en contexto debéis ejecutar el siguiente comando de windows (también disponible en otros sistemas operativos con distinta sintaxis).

tracert -h 255 obiwan.scrye.net

A partir de que pulséis el [Intro] el comando comenzara a mostraos los diferentes saltos que desde vuestra dirección IP os llevan hasta la dirección que hemos escrito.

Seguramente a partir del salto 20 los más "frikis" comenzares a reconocer el texto para los que no al final de este articulo tenéis la solución.

Pero lo importante no es el texto en si, sino la capacidad de hacer con algo totalmente técnico un instrumento de comunicación, con mucho trabajo y bastante ingenio este amigo a conseguido hacer algo tan inútil como chulo.

Este espíritu rebelde de lo hacer cosas porque somos capaces de hacerlas estoy convencido de que genera más y mejores cambios que los planes estratégicos de la empresas.

Si tenéis capacidad para hacer algo aunque sea muy inútil hacerlo ya que el proceso de creación en si mismo os aporta un conocimiento que de otra forma es difícil de conseguir.


sábado, 4 de enero de 2014

Los Caballeros del Código.

Quizá este influido por las ultimas películas, comics y libros que estoy leyendo, pero he llegado a la conclusión de que hace falta algo de honor en la sociedad y como cambiar la sociedad me parece una tarea titánica me conformo con intentar cambiar el pequeño mundo del desarrollo de aplicaciones.

Este cambio no tiene que ver con las metodologías, de esas tenemos más que de sobra y como la religiones en la mayoría de los casos es cuestión de fe. Mi cambio va mas hacia el individuo, soy un firme creyente en el individúo más que en la sociedad o en los grupos, quizá sea una visión muy matemática del mundo pero un conjunto de individuos "buenos" no da un buen grupo y un conjunto de buenos grupos una sociedad buena.

Con este espíritu he estado repasando viejos libros de filosofía oriental, caballería medieval y psicología, estaba buscando una guía que sirviera de código de honor para estos nuevos "Caballeros del Código", aquí el juego sutil de palabras repetidas no ha quedado muy redondo pero resume el espíritu original.

Al final me he decantado por el Camino del Guerrero Japonés o Bushidó, intentando adaptar sus 7 virtudes al desarrollo de software. (Nota.- Como en otras ocasiones utilizare Wikipedia como referencia para que nadie tenga que invertir en libros.)

義 Gi - justicia (decisiones correctas)

Sé honrado en tus tratos con todo el mundo. Cree en la justicia, pero no en la que emana de los demás, sino en la tuya propia. Para un auténtico samurái no existen las tonalidades de gris en lo que se refiere a honradez y justicia. Sólo existe lo correcto y lo incorrecto.

La  adaptación de esta virtud es bastante obvia solo existe el código bueno y el código malo, si algo se puede mejorar y no lo haces es malo, si puedes ahorrar memoria, proceso, escrituras, lecturas, etc. y no lo haces es malo, si tu rutina dibuja los objetos 2 veces y no una es malo; nuestro mundo es de 0 y 1 y nuestro código debe serlo también.


勇気 Yuuki - Coraje

Álzate sobre las masas de gente que temen actuar. Ocultarse como una tortuga en su caparazón no es vivir. Un samurái debe tener valor heroico. Es absolutamente arriesgado. Es peligroso. Es vivir la vida de forma plena, completa, maravillosa. El coraje heroico no es ciego. Es inteligente y fuerte. Reemplaza el miedo por el respeto y la precaución.

Los que dicen que algo no se puede hacer simplemente se niegan a intentarlo, las cosas son como queremos que sean si algo no lo queremos no tenemos que aceptarlo, "es que este Framework no lo hace así", "es que esta librería no lo resuelve"; las excusas no crean programas y tienes que tener el coraje de olvidar las excusas y crear el código que necesites como lo necesites.


仁 Jin - Benevolencia

Mediante el entrenamiento intenso el samurái se convierte en rápido y fuerte. No es como el resto de los hombres. Desarrolla un poder que debe ser usado en bien de todos. Tiene compasión. Ayuda a sus compañeros en cualquier oportunidad. Si la oportunidad no surge, se sale de su camino para encontrarla.
El conocimiento te da poder y un gran poder conlleva una gran responsabilidad, saber más que los demás no te coloca por encima solo ayudar a los demás te hace ser mejor. Esta virtud encierra otra realidad "el entrenamiento intenso" se es benevolente si se tiene la capacidad de causa mal y no se utiliza para ello. Lo más triste es ver a personas que creen que son benevolentes porque carecen de la capacidad de hacer daño y por ello no lo hacen, para poder llegar a tener esta virtud primero tenemos que adquirir el conocimiento que nos convierte en "rápidos y fuertes" que nos hace comprender y utilizar la tecnología, sin este conocimiento real no somos verdaderos "samuráis".

礼 Rei - Respeto, Cortesía

Los samurái no tienen motivos para ser crueles. No necesitan demostrar su fuerza. Un samurái es cortés incluso con sus enemigos. Sin esta muestra directa de respeto no somos mejores que los animales. Un samurái recibe respeto no solo por su fiereza en la batalla, sino también por su manera de tratar a los demás. La auténtica fuerza interior del samurái se vuelve evidente en tiempos de apuros.
 Nuestros compañeros, que nos dan los requisitos, muchas veces no saben lo que quieren o no saben expresarlo, tratarlos sin cortesía no hace que los programas se creen no hace que nada surja. El respeto alcanzado es nuestro respeto y cortesía reflejado en los demás. No importa lo equivocados que consideremos que están los demás el respeto no tiene que ver con la razón o la justicia, tiene que ver como el trato que debemos a los demás ser cortes y respetuoso no significa cambiar nuestros convencimientos ni creencias significas exponerlas con respeto y cortesía.

誠 Makoto - Honestidad, Sinceridad absoluta

Cuando un samurái dice que hará algo, es como si ya estuviera hecho. Nada en esta tierra lo detendrá en la realización de lo que ha dicho que hará. No ha de "dar su palabra", no ha de "prometer", el simple hecho de hablar ha puesto en movimiento el acto de hacer. Hablar y hacer son la misma acción.
Creo que esta virtud habla por si misma debemos ser trasparentes y nuestras acciones deben ser lo mismo que nuestras palabras, si lo sabemos y sabemos hacerlo nuestras palabras lo reflejaran, sino sabemos y no sabemos hacerlo nuestras palabra lo reflejaran.

名誉「名譽」Meiyo - Honor

Es la virtud más importante de todas. El auténtico samurái sólo tiene un juez de su propio honor, y es él mismo. Las decisiones que toma y cómo las lleva a cabo son un reflejo de quién es en realidad. No puede ocultarse de sí. En caso de quedar mancillado, la única forma de restaurarlo es mediante el Seppuku.
Quizá tener que suicidarse por honor sea excesivo, pero tener "vergüenza torera" como diría un castizo es totalmente necesario, las tareas las hacemos por nosotros mismos y las hacemos, no lo mejor que se, sino lo mejor posible y para ello debo estar dispuesto a dar siempre más de lo que se espera, porque nosotros debemos ser los más exigentes con nosotros mismos.  El honor de ser los mejores por nosotros mismos por nuestra satisfacción, este es el honor que echo de menos y el que nos debería guiar. Nunca te quedes en hacer lo mínimo intenta que tu código sea el orgullo de tu honor.

忠義 Chuugi - Lealtad

Haber hecho o dicho "algo", significa que ese "algo" le pertenece. Es responsable de ello y de todas las consecuencias que le sigan. Un samurái es intensamente leal a aquellos bajo su cuidado. Para aquellos de los que es responsable, permanece fieramente fiel. Para el guerrero, las palabras de un hombre son como sus huellas: puedes seguirlas donde quiera que él vaya.
Tu código es tu responsabilidad y será compartido por otros, tus huellas serán reconocidas y los que las sigan (utilicen tu código) deben sentir tu lealtad, deben sentir que has pensado en las consecuencias que tu código va a producir en los que lo compartan contigo, los que comparten tu código están bajo tu cuidado y les debes lealtad. Normalmente es más fácil decir que los demás no comprende tu código que admitir que no pensastes en esa forma de usarlo y no lo documenatstes convenientemente.

Este código es aplicable a todos los profesionales de TI, pero quizá si comenzamos por las personas que desarrollamos aplicaciones los "Caballeros del código" puedan servir de guía a sus compañeros de TI.

Para terminar dejarme hacer otra referencia cinematografica.



Igual que Tom Cruise llego a ser un samurái nosotros podemos mejorar como individuos en la profesión que hemos elegido y es nos hace mejorar como personas.