FdA #33 - Un Código de "Hackmurabi" para Programadores del Siglo XXI
O sobre cómo disuadir o minimizar errores graves y malas prácticas profesionales en el mundo del desarrollo de software (o cualquier otro sector).
"La justicia sin la fuerza es impotente, la fuerza sin justicia es tiranía." - Blaise Pascal
Esta cita destaca la importancia de la justicia equitativa. El poder debe estar equilibrado con la moralidad en cualquier sistema legal. Cuando tomamos decisiones debemos ser responsables de las consecuencias que puedan tener.
Hay que tener skin in the game, como diría Taleb. Podemos ver a diario cómo ciertas personas con puestos de mucha responsabilidad toman a la ligera decisiones que tienen efectos colaterales que dañan a terceros, sin que haya consecuencias para los que han tomado las decisiones.
En otras palabras, mientras unos toman decisiones, otros toman los riesgos de esas decisiones. Esta es una de las grandes asimetrías en nuestra sociedad actual: el riesgo de las grandes decisiones que se toman lo asumimos personas que ni pinchamos ni cortamos.
¿Debería cambiar algo?
El Código de Hammurabi
Hace unos 3.500 años se crearon en la antigua Babilonia un conjunto de leyes para dar una base legal y un marco de justicia al imperio. A este conjunto de leyes se lo denominó Código Hammurabi, en honor al rey que llevaba el mismo nombre.
El objetivo principal era garantizar la justicia y el orden en la sociedad, protegiendo los derechos de los ciudadanos y procurando mantener cierta estabilidad social.
Esto se conseguía mediante la función educativa del código, que estaba expuesto de forma pública y todos los habitantes podían saber las consecuencias de “portarse mal”. El componente disuasorio evitaba muchos delitos.
Podemos decir, sin miedo a equivocarnos, que mantenía al imperio unido.
En la Babilonia de esa época existían tres clases sociales: los hombres y mujeres superiores, los plebeyos y los esclavos. Estas leyes establecían diferentes penas y condenas en función de la clase social y género del opresor y del oprimido. Algunos ejemplos de las casi 300 leyes del código son estas:
Ojo por ojo, diente por diente. Es una de las leyes más famosas y establecía el principio de la justicia retributiva, donde la pena por un delito debía ser equivalente al daño causado.
La responsabilidad del constructor. La ley establecía que si una casa se derrumbaba y mataba al dueño de la misma, el constructor era condenado a muerte.
La ley de la mujer calumniada. Si un hombre acusaba falsamente a una mujer de adulterio y no podía probarlo, el hombre era arrojado al río.
En nuestro contexto social nos puede parecer algo extremo, pero no debemos caer en el error de juzgarlo con una mirada del siglo XXI, hay que ponerse en los zapatos de un ciudadano de ese momento. Estas leyes estaban generalmente aceptadas por la población babilónica.
Desde luego, la ley del ojo por ojo desincentiva cualquier agresión a otra persona. Los constructores tenían el mejor incentivo del mundo para hacer muy bien su trabajo, y cualquier gañán de la época se lo tenía que pensar varias veces antes de calumniar falsamente a una mujer.
¿Te Imaginas un Código de “Hackmurabi”? 🤔
¿Y si tuviéramos algo parecido en el desarrollo de software? O en cualquier otro sector. Tendría su gracia, no me digas que no. Vamos a inventarnos unos ejemplos de “leyes” adaptadas a nuestros tiempos.
Difamación profesional. Si un programador o usuario difama a un colega o a una empresa dañando su reputación profesional, deberá emitir una disculpa y retractarse públicamente de sus declaraciones falsas, además de pagar una compensación económica y enfrentar las consecuentes acciones legales por difamación.
Negligencia en la documentación de código. Si un programador no documenta adecuadamente su código, dificultando así su mantenimiento por parte de otros desarrolladores, deberá revisar y documentar todo el código relevante, además de ofrecer un curso de formación sobre las mejores prácticas de documentación a su equipo y enfrentar una reducción temporal de su salario.
Incumplimiento de estándares de seguridad. Si un programador es culpable de no seguir los estándares de seguridad establecidos, causando una brecha de seguridad o un ataque cibernético, deberá pagar una multa sustancial y perder las certificaciones y licencias pertinentes.
Sabotaje de proyectos. Si un programador es descubierto saboteando deliberadamente un proyecto o introduciendo errores intencionados en el código, será despedido inmediatamente, teniendo prohibido volver a trabajar en en el sector del desarrollo de software, además de enfrentar las consecuencias legales por los posibles daños causados.
¿Crees que algo así mejoraría sustancialmente el resultado de nuestro trabajo? ¿Cómo cambiaría el mundo de las redes sociales? ¿Y las reseñas en línea? Actualmente muchas fechorías online no tienen consecuencias, lo cual tampoco parece justo.
¿Pero qué es mejor, castigar lo malo o premiar lo bueno?
Si todos nos hacemos responsables de nuestros actos, sin duda mejoraremos el contexto que nos rodea.
Recomendaciones de la Semana
🇯🇵 Un concepto
El Ikigai es uno de los conceptos originales de la cultura japonesa que más me gusta. En este artículo podrás ver de qué se trata y pensar sobre dónde te encuentras tú en relación al mismo.
📖 Una lectura
Sobre liderazgo, antiliderazgo y la siempre necesaria autocrítica. ¿Qué significa ser un buen líder? ¿Qué debo hacer para serlo? Como comenta Tubau, parafraseando a Taleb, a veces podemos aprender más sobre algo atendiendo a lo que no debemos hacer, en vez de buscar la receta perfecta sobre cómo proceder. Las lecciones que se pueden sacar van mucho más allá del fútbol.