3 razones por las que la filosofía puede convertirte en un mejor programador

May 10 2022
La filosofía y la programación tienen una mentalidad similar.
Pasé nueve años de mi vida haciendo filosofía en una institución universitaria. Después de completar una licenciatura, dos maestrías y un doctorado, decidí alejarme de la academia y conseguí un trabajo como ingeniero de software.
Imagen por autor

Pasé nueve años de mi vida haciendo filosofía en una institución universitaria. Después de completar una licenciatura, dos maestrías y un doctorado, decidí alejarme de la academia y conseguí un trabajo como ingeniero de software.

Me sorprendió descubrir que, si bien mis conocimientos técnicos eran mínimos cuando comencé a trabajar como ingeniero de software, hacer filosofía me preparó muy bien para esta profesión.

No me malinterpreten, todavía carecía de habilidades técnicas cuando obtuve mi primer trabajo como ingeniero de software. Mi conocimiento de JavaScript era muy limitado. No sabía nada sobre AWS o Google Cloud Services.

Pero hacer filosofía me ayudó a perfeccionar habilidades que son el pan de cada día de los buenos programadores. Y me gusta seguir haciendo filosofía porque creo que esto me convierte en un mejor programador.

En este artículo, presento tres razones por las que hacer filosofía puede ayudarte a convertirte en un mejor programador.

Antes de entrar en los tres puntos principales, permítanme hacer una advertencia. Hablo de hacer filosofía, no simplemente de leer libros de filosofía. Hay una diferencia entre simplemente absorber información y comprometerse activamente con ella. No es necesario estar en la academia para hacer filosofía. Lo que necesitas es involucrarte activamente en el pensamiento filosófico.

1. Aprende a estar en desacuerdo productivamente

Los filósofos no están de acuerdo entre sí. Como dice el filósofo Peter Van Inwagen: “El desacuerdo en filosofía es omnipresente e irresoluble.

Casi no hay tesis en filosofía sobre las que los filósofos estén de acuerdo” (Inwagen, 2017, pp. 129-130). Una encuesta de PhilPapers realizada entre filósofos profesionales en 2020 muestra que solo hay 3 de las 40 preguntas filosóficas principales en las que más del 70% de los filósofos están de acuerdo en la respuesta.

Ahora, cuando haces filosofía, puedes pensar en esto como algo decepcionante. Es posible que desee descubrir la verdad sobre un tema determinado y termine reconociendo que el consenso entre los filósofos es muy difícil de construir. Pero estar en un campo donde el desacuerdo está tan extendido entre los expertos te enseña a estar en desacuerdo de manera productiva con otras personas.

Al entablar una discusión filosófica con alguien que no está de acuerdo con nosotros, es importante poder reconstruir de manera justa el punto de vista que tiene, antes de criticarlo, comprender la fuerza de su argumento y también reconocer la debilidad de su propio punto de vista. Este también es un gran ejercicio para aprender a estar abierto a cambiar de opinión sobre un tema después de participar en una discusión filosófica.

Ser capaz de estar en desacuerdo de manera productiva también es una habilidad muy útil en la ingeniería de software. Existen múltiples soluciones para un problema de software, y los ingenieros pueden estar en desacuerdo sobre la solución a adoptar.

La ingeniería de software es en gran medida una empresa de colaboración, el manejo de los desacuerdos es muy importante. Ser capaz de estar en desacuerdo de manera productiva te enseña a evitar hablar entre ellos y garantizar que el desacuerdo pueda ser una fuente de aprendizaje.

Ser capaz de mantener una mente abierta y reconocer el valor de un enfoque que inicialmente no le gusta puede ayudar a encontrar compromisos y aceptarlo como una solución si el equipo así lo prefiere.

2. Aprende a desempacar problemas complejos

Los problemas filosóficos pueden ser muy amplios y complejos (ver, por ejemplo, esta lista de cuestiones filosóficas sin resolver). Cuando un problema está particularmente arraigado, los filósofos aprenden a descomponerlo en sus partes constituyentes antes de abordarlo. Por lo general, hacen esto haciendo preguntas, analizando claramente los componentes del problema y revelando cualquier suposición oculta y cualquier implicación.

Al escribir, los filósofos se esfuerzan por la claridad de la argumentación. Si es necesario, crean distinciones detalladas para calificar su respuesta al problema, y ​​es a menudo debido a estas distinciones que hay progreso en la comprensión de un problema filosófico.

Aprender a descomprimir problemas complejos también es clave para los programadores. Los programadores experimentados saben que deben asegurarse de comprender muy bien el problema que están tratando de resolver antes de comenzar a codificar.

Y cuando codifican, los programadores saben que necesitan eliminar la complejidad tanto como puedan al escribir un código que sea legible y fácil de entender. Como dice John Ousterhout, “la mayor limitación al escribir software es nuestra capacidad para comprender los sistemas que estamos creando” (Ousterhout, 2018, p. 1).

3. Aprende a identificar errores

Al hacer filosofía, pasas una cantidad considerable de tiempo revisando argumentos filosóficos, como los programadores pasan una cantidad considerable de tiempo revisando código.

Para garantizar que un argumento sea válido, los filósofos verifican si la conclusión se deriva de sus premisas y si todas las premisas del argumento son verdaderas. Una de las posibles estrategias para verificar si un argumento es válido es buscar un contraejemplo: si se puede encontrar un contraejemplo, el argumento se vuelve inválido.

En general, cuando haces filosofía, tratas de anticiparte a las objeciones a tu argumento y le das una respuesta. Y esta es una habilidad que resulta muy útil para los programadores.

Al codificar, los programadores competentes aprenden a pensar en casos extremos para poder acomodarlos en su código. Necesitan anticipar dónde podría fallar el código para poder mejorar la calidad de su código y diseñar el programa para manejar los problemas con gracia.

Filosofía e Ingeniería de Software

Los ingenieros de software no abordan cuestiones filosóficas ni suelen involucrarse con escritos filosóficos durante su trabajo. Pero la mentalidad desarrollada al hacer filosofía puede ser beneficiosa para los programadores.

Los filósofos que buscan convertirse en ingenieros de software pueden estar tranquilos: estas tres habilidades clave que trabajaron muy duro para obtener cuando hacían filosofía serán fácilmente transferibles. Y los ingenieros de software pueden sentir curiosidad por incorporar un poco de filosofía en su rutina semanal y experimentar de primera mano si, como resultado, escribirán un mejor software.

Recursos

Bourget, D. y Chalmers, DJ (2021). Filósofos sobre filosofía: la encuesta PhilPapers 2020

Ousterhout, J. (2018). Una filosofía de diseño de software. Palo Alto: Yaknyam Press

Van Inwagen, P. (2017). Libertad para infringir las leyes. En Pensando en el libre albedrío (págs. 129–148). Cambridge: Prensa de la Universidad de Cambridge.

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved