La importancia de la duda en diseño de software

El explorar y el descubrir que nacen de dudas simples —pensamientos del tipo ‘no estoy completamente seguro acerca de... ’— es lo que hace al acto de diseñar software y programar computadoras tan emocionante para mí. Dudar desde la eficiencia o el balance de una decisión de diseño dada, hasta los beneficios netos y de largo plazo de creencias populares acerca del proceso de desarrollo de software en un contexto de negocio.

Basado en los resultados hasta ahora de mi agenda personal de investigación acerca del acto de programar computadoras, he corroborado que esta actividad puede ser reducida —considerando su esencia— a un puro acto de diseño. Consecuentemente, el mejoramiento o avance en la profesión de desarrollo de software va en el camino de mejorar las habilidades de diseño de los practicantes.

Diseñadores de software en el camino a convertirse en un profesional competente en software necesitará educación acerca del arte —por favor nótese que aquí el concepto de educación se está usando en su sentido más amplio y no sólo en la noción popular de escolarización— y acerca de metodologías de trabajo intelectual en lenguas, literatura, historia y filosofía. Por supuesto, como es el caso de la buena educación, esta es auto-infligida. En otras palabras, el entrenamiento se puede proveer pero la educación sólo puede ser escogida.

Entre el conjunto de destrezas en un diseñador de software, la habilidad de pensar críticamente resalta como una de las más importantes. El ejercicio del sentido crítico —en contraste con el sentido común— ha resultado ser de mucho beneficio para la tarea de diseño y directamente relacionado con los atributos de calidad del resultado, es decir, software ejecutable que entrega valor real de negocio.