Las (2+2) Leyes que todo Software Developer debería conocer (2/2)

Retomando mi última publicación, hoy os traigo dos leyes y dos principios que todo software developer debería conocer para terminar de completar la serie:
1️⃣ La ley de Hofstadter
“Siempre se tarda más de lo que imaginas, incluso teniendo en cuenta la ley de Hofstadter”
Esta ley nos recuerda lo malos que somos estimar el tiempo que nos llevará llevar a cabo tareas y especialmente en el desarollo de software. Bonus por ser auto-referente y añado otra coletilla que siempre me repito: Estimar, es timar.
2️⃣ La ley de Kernighan
“Todo el mundo sabe que depurar un código cuesta el doble que escribirlo. Así que, si eres tan listo como para escribirlo, ¿cómo esperas depurarlo?”
Escribir código muy complejo es peligroso por cuestiones de mantenibilidad, si el código es dificil de entener, imagina tener que depurarlo…
La simplicidad hace que mantener el código sea mucho más sencillo, al igual que añadir más funcionalidades a largo plazo.
3️⃣ El principio de Peter
“En una jerarquía, la gente tiende a ascender hasta su ‘nivel de incompetencia correspondiente’”
Este principio describe cómo los individuos competentes en su puesto son promovidos, pero eventualmente alcanzan un puesto en el que ya no son competentes.
4️⃣ El principio de Pareto
“En muchos casos, cerca del 80% de los efectos se deben al 20% de las causas”
También conocida como la regla del 80/20, una de sus ideas clave es que el esfuerzo debe ser selectivo. Centrarse en las áreas de mayor impacto, que suele ser el 20% que genera el 80% de los resultados. Priorizar lo que realmente marca la diferencia ayuda a lograr resultados más significativos y sostenibles.
Este artículo se publicó primero en LinkedIn