Estoy leyendo este maravilloso libro llamado "Codificadores en el trabajo: reflexiones sobre el arte de la programación" de Peter Seibel y estoy en parte en donde la conversación es con Joshua Bloch y encontré esta respuesta, que es un punto importante para un programador. El párrafo, va más o menos así.
Existe este problema, que es que la programación es una meritocracia intelectual y, a menudo, estas personas son las personas más inteligentes de la organización; por lo tanto, creen que se les debe permitir tomar todas las decisiones. Pero el simple hecho de que sean las personas más inteligentes de la organización no significa que deberían tomar todas las decisiones, porque la inteligencia no es una cantidad escalar; Es una cantidad vectorial.
Aquí, en la última oración, no consigo entender qué está tratando de compartir. ¿Puede alguien explicarlo un poco más como lo que quiere decir con una cantidad vectorial, posiblemente tratando de presentar la misma idea?
Más abajo, entiendo que él no está pensando en tener una organización en la que las personas no técnicas (a veces sin idea) puedan ser gerentes de las personas técnicas por alguna razón por la que pueden dedicar más tiempo a escribir correos electrónicos bien, porque la próxima vez declaración siguiendo el párrafo anterior fue.
Y si carece de empatía o inteligencia emocional, entonces no debería estar diseñando API o GUI o idiomas.
Entiendo que él está diciendo que en ingeniería de software, los programadores deben saber cómo los usuarios verán su producto y diseño para ellos.
Sentí que el párrafo anterior era muy interesante.
fuente
Respuestas:
Un vector tiene una magnitud y una dirección. Él está diciendo que no puedes describir la inteligencia solo por su magnitud. También debe saber en qué dirección apunta la inteligencia. Einstein dijo:
Bloch dice que no asumas que el mejor nadador de tu organización es tan bueno trepando árboles.
fuente
No puedo hablar por el autor, pero lo leería como una analogía al hecho de que no hay una sola dimensión para la inteligencia práctica como programador.
Otra forma de decirlo podría ser que algunas personas son excelentes para tratar con personas, algunas personas son increíbles para tratar problemas informáticos difíciles, y algunas personas son increíbles para escribir código bien diseñado.
Ninguno de ellos es "más inteligente" que el otro, son igualmente inteligentes e igualmente hábiles en diferentes cosas, pero de manera desigual en las mismas cosas.
Leí eso diciendo que si no tienes las habilidades para comprender cómo funcionan los usuarios de la herramienta, cómo se sienten, cómo piensan, entonces no deberías diseñar la interfaz con la que trabajan. (Que incluye la API, para valores de "usuarios" == "programadores")
En otras palabras: solo porque eres increíble en una cosa, no asumas que eres increíble en todo.
fuente