PREGUNTAS RARA VEZ REALIZADAS


Estas son preguntas que sólo me han hecho una o dos veces, pero que parecen especialmente interesantes.
 

¿Por qué no hay más pintores que trabajen de hackers?


Probablemente por la misma razón por la que pocos hackers se dedican a la pintura. Vistas desde el exterior ambas profesiones parecen grandes misterios inaccesibles. Puedes aprender grandes misterios de este tipo cuando eres adolescente, porque de cualquier forma todo es un misterio en ese momento. Y se tiene la ilimitada confianza en uno mismo que proviene de la ignorancia. Pero a menos que aprendas ambas como adolescente, lo cual es raro, tendras miedo de la otra más tarde.


¿Qué debo leer para aprender más sobre historia?


La forma de hacerlo es poco a poco. Podrias simplemente sentarte y tratar de leer Historia Mundial de Roberts de principio a fin, pero probablemente perderías interés. Creo que es un mejor plan leer libros sobre temas específicos, incluso si no entiendes todo la primera vez.

Éstos son los más emocionantes que se me ocurren:


Civilización, de Clark
Tecnología Medieval y Cambio Social, de White
Penguin Atlas de Historia Antigua y Medieval, de McEvedy
El Mundo que Hemos Perdido, de Laslett
La Extensión del Hombre, de Bernal
Autobiografía, de Franklin
La Vida en la Casa de Campo Inglesa, de Girouard
Mahoma y Carlomagno, de Pirenne
La Caída de Constantinopla, de Runciman
Armas, Navios e Imperios, de Cipolla
Historia de Roma, de Hadas
El Arte de la Guerra en la Edad Media, de Omán
Vidas de los Artistas, de Vasari
El Comercio de Oro de los Moros, de Bovill
Guerra de las Galias, de César
La Revolución Copernicana, de Kuhn


¿No se podría añadir algo equivalente a las macros de Lisp a lenguajes como Perl o Python?


No sin convertirlos en dialectos de Lisp. Las verdaderas macros necesitan operar en el árbol de análisis del programa. Para permitir eso en un lenguaje con sintaxis, tienes que (a) hacer pública la traducción del código fuente a los árboles de analisis, y (b) dar al programador la posibilidad de ejecutar programas en árboles de análisis antes de que pasen al compilador.

Sin embargo, sería difícil hacerlo sin crear una notación para árboles de análisis; y una vez que lo haces, tu lenguaje se ha convertido en una piel de Lisp, muy parecido a la manera en que OS X el sistema operativo de Mac, se convirtió en una piel de Unix.


¿Cómo evito convertirme en un jefe-de-pelo-puntiagudo?


El jefe-de-pelo-puntiagudo es un gerente que no programa. Así que la mejor manera de evitar convertirse en él es continuar como programador. Lo que tienta a los programadores a convertirse en gerentes son las empresas con una antigua estructura corporativa, donde la única forma de avanzar en salario y prestigio es entrar en la dirección. Así que si quieres evitar convertirte en un jefe-de-pelo-puntiagudo, evita tales compañías, y trabaja para (o empieza) startups.

Nunca tuve que dirigir a nadie en nuestra startup, a pesar de que yo era el presidente. Los otros hackers eran mis compañeros, y se habrían burlado de mi si hubiera tratado de "dirigirlos". Operabamos por consenso. Y el resto de la empresa reportaba a nuestro experimentado director de operaciones, que era también una especie de compañero.

¿Por qué ser gerente cuando podrías ser fundador o de los primeros empleados en una startup?


Estoy por convertirme en maestro. ¿Cómo le hago para ser bueno?


Los mejores profesores que recuerdo de la escuela tenían tres cosas en común:

(1) Estándares elevados. Al igual que los niños de tres años ponen a prueba a sus padres, los estudiantes pondrán a prueba a los maestros para ver si se pueden salir con la suya con trabajos de baja calidad o mal comportamiento. No respetarán a los maestros que no les llamen la atención.

(2) Nos estimaban. Al igual que los perros, los niños pueden distinguir con mucha precisión si alguien los quiere. Creo que a muchos de nuestros maestros o bien nunca les gustaron mucho los niños, o se desgastaron y empezaron a no gustarles. Es difícil ser un buen profesor, una vez que eso ocurre. No se me ocurre un maestro, de todas las escuelas a las que fui, que se las arreglara para ser bueno a pesar de que no le agradaran los estudiantes.

(3) Estaban interesados en el tema. La mayoría de los maestros de escuelas públicas que tuve no estaban realmente interesados en lo que enseñaban. El entusiasmo es contagioso, al igual que el aburrimiento.


Dos startups quieren contratarme. ¿Cuál debo elegir?


La que tenga los fundadores más decididos e inteligentes (en ese orden) es la que tendrá mayores probabilidades de éxito. Imagina que eres un inversionista, —que lo eres, de tu tiempo— y pregúntate de cuál de las dos comprarías acciones.


¿Cómo puedo ser realmente bueno programando Lisp?


Escribe una aplicación lo bastante grande que puedas hacer que los niveles más bajos sean una capa de lenguaje. Los lenguajes integrados (o, como ahora parece llamárseles, DSLs) son la esencia de la programación Lisp.


¿Qué libros de filosofía recomendarías?


No se me ocurre ninguno que me gustaría recomendar. Lo que aprendí al tratar de estudiar filosofía es que el lugar para buscar es en otros campos. Si entiendes muy bien las matemáticas o la historia o la ingeniería aeronáutica, la más abstracta de las cosas que sabes es lo que la filosofía se supone esta enseñando. Los libros de filosofía en sí son cosas muy técnicas que no importan mucho, o vagas concatenaciones de abstracciones que sus propios autores no acaban de entender (por ejemplo, Hegel).

Puede ser interesante estudiar filosofía antigua, pero más bien como una especie de reporte de accidente que para enseñarte algo útil.


Quiero iniciar una startup, pero no sé programar. ¿Cuánto tiempo se tarda en aprender?


Yo diría que una persona inteligente puede aprender a hackear lo suficientemente bien en 6 meses a un año. La mejor manera de hacerlo sería encontrar una startup que te contrate inicialmente con carácter de baja categoría, y empezar a aprender a programar por un lado. Luego, gradualmente, ascender en el trabajo, de contestar el teléfono a administración de sistemas al diseño real de software. Siempre hay tanto que hacer en una startup que la gente no sera muy exigente acerca de tus credenciales, si eres capaz de resolverles los problemas, sin cometer errores.
 


Traducido de Rarely-Asked Questions por Paul Graham.
Traducción: Armando Alvarez