
El Futuro de la Programación: Una entrevista con Paul Graham
por Jerry Guo
Traducido por Pier Paolo Guillén Hernández
Paul Graham fue uno de los fundadores de Viaweb, la primera empresa ASP (Active Server Pages); inventó el algoritmo en el cual se basan los filtros de correo basura (spam) actuales, es cofundador de "Y Combinator", una organización de capital de inversión, creó la "Spam Conference" y la "Startup School", está trabajando en un nuevo dialecto de Lisp llamado Arc, ha escrito dos libros sobre Lisp y un libro de ensayos llamado "Hackers & Painters", y está escribiendo un nuevo libro sobre creación de empresas. Posee un doctorado en Ciencias de la Computación por la Universidad de Harvard y estudió pintura en RISD (Rhode Island School of Design) y la Academia de Florencia.
En esta entrevista, Graham comenta sobre el futuro de la programación, la tercerización, y de Y Combinator.
¿Dónde ves a la programación como disciplina dentro de cinco, diez o veinte años?
Creo que en el futuro los programadores empezarán a utilizar más lenguajes de programación dinámicos. Esto es algo que ya se ve hoy en día: parece como si todos estuvieran migrando a Ruby, que es muy parecido a Lisp pero sin macros. Y por lo que he escuchado, Perl 6 es más parecido a Lisp. Y esta tendencia va a continuar.
Otra tendencia que espero ver son aplicaciones web. Microsoft se las arregló para mantenerlas sofocadas por mucho tiempo, controlando los exploradores y asegurándose de que no se pudiera hacer mucho en ellos. Pero ahora que esto se ha destapado, no hay forma de dar vuelta atrás.
No creo que Microsoft se dé cuenta del peligro en el que se encuentra. Se están preocupando únicamente por Google, y no deberían. Deberían estar más preocupados por los miles de programadores veinteañeros que programan aplicaciones en Ajax. El software dentro de la computadora va a convertirse en irrelevante.
¿Cuál ha sido tu experiencia desarrollando Arc, un nuevo lenguaje de programación?
Interrumpida. No he podido dedicarle mucho tiempo últimamente. En parte, el problema es el enfoque demasiado ambicioso que tomé. Voy a regresar al enfoque axiomático de McCarthy. La cualidad distintiva de Lisp, la cual describió en su publicación de 1960, es que puede autodocumentarse. Las especificaciones del lenguaje no eran un montón de palabras, eran código.
El problema fue que en cuanto sus alumnos tomaron estas especificaciones y las convirtieron en un lenguaje de programación, hubo complicaciones. Principalmente por el hardware que existía entonces. Pero ahora que contamos con hardware mucho más rápido, podemos tener código funcional que también sirva como lenguaje de documentación.
Espero poder seguir trabajando en Arc pronto. Una de las razones por las que Y Combinator trabaja en periodos de tres meses es para poder tener tiempo que pueda dedicarle a otros proyectos. (La otra razón es que es el periodo idóneo para el capital de inversión).
¿Qué experiencia te deja crear una incubadora de empresas?
Y Combinator no es en realidad una incubadora. Las incubadoras se involucran mucho con las empresas que apoyan, hasta el grado de forzarlos a trabajar en su edificio (que es de donde viene el nombre de "incubadora"). Creo que la razón por la que a nosotros también nos denominan incubadora es porque financiamos proyectos desde su inicio, y hasta ahora las únicas compañías que hacen esto son incubadoras. En realidad, somos nuevo un tipo de compañía, y como somos los únicos, no existe un término que nos denomine.
Varias cosas me han sorprendido en este proceso. Una de las más grandes es que ha funcionado, o hasta el momento parece que así es. No teníamos idea de que pasaría si le dábamos dinero a hackers y dejarlos trabajar en cualquier cosa que quisieran. Afortunadamente, nuestras primeras experiencias han sido positivas.
Otra cosa que me sorprende es la cantidad de trabajo que involucra. Estaba esperanzado que fuera un trabajo de medio tiempo, pero hasta el momento no ha sido así.
También me sorprende lo divertido que ha sido. Me llevo muy bien con estos emprendedores. Inclusive me he hecho amigo de muchos de ellos. Y muchas de sus empresas están trabajando en cosas interesantes, novedosas. Existe un gran crecimiento de este tipo de empresas, y se puede sentir esta emoción en Internet, especialmente si cuentas con ocho de estas empresas que están fundadas por jovenes que (ahora) se conocen mutuamente.
¿Por qué empezaste "Y Combinator"?
Fue casi por accidente. Dí una conferencia en Harvard de cómo empezar una empresa. Mencioné que los interesados en crear su propia empresa, deberían de obtener su inversión inicial de personas adineradas conocidas como "ángeles", y que los mejores de estos ángeles son aquellos que están involucrados con la tecnología. Después me preocupó que me fueran a mandar planes de negocios, por lo que añadí "pero no de mí". Lo dije en broma, aunque no completamente.
Después me sentí culpable por esto. Así que empecé a idear una forma en que pudiera dar capital de inversión a estos emprendedores. Empezaríamos una compañía a la cual los interesados podrían mandar sus propuestas de proyecto. Desde luego que terminé leyéndolas, pero esto lo concentró a un par de semanas al año.
La idea original de Y Combinator era evitar trabajar, pero, como sucede a menudo, me enfrasqué tanto en el proyecto y pienso constantemente en nuevas estrategias por lo que termino trabajando más. Un ejemplo de esto es la escuela para emprendedores que acabamos de organizar el octubre pasado.
Una de las empresas que apoyamos este verano fue creada por dos jóvenes que asistieron a la conferencia que di en Harvard. Y mejor aún, es una de las compañías más exitosas. Su sitio, Reddit, es tan útil que casi todos los que participaron en el Y Combinator este verano lo utilizan regularmente, incluyéndome a mí. Es la primera página que reviso cada mañana, y la última que veo por las noches.
¿Qué consejo puede ofrecer a los jóvenes emprendedores?
He escrito mucho sobre de esto, así que comunmente aconsejo que lean los ensayos referentes a empresas en la página paulgraham.com. En especial "How to Start a Startup" y "Hiring is Obsolete".
El consejo más importante es simplemente: háganlo. Muchas veinteañeros tienen miedo a empezar una empresa porque no creen estar listos. En realidad, tienen una gran ventaja que ni siquiera consideran: no tienen compromisos.
Si todavía no tienes hijos, puedes: (a) trabajar largas jornadas sin preocuparte porque los estás abandonando, (b) vivir con casi nada, (c) poder cambiar de residencia, y (d) tener oportunidad de fallar. La última es la más importante, porque significa que puedes tomar riesgos, y la relación entre riesgo y éxito es proporcional.
¿Cuál es tu opinión acerca de la tercerización para los trabajos de programación/tecnología, y cómo crees que esto afecte a los Estados Unidos?
Estoy tan a favor del libre intercambio en esto como en cualquier otra área. Si tienes la oportunidad de obtener el trabajo por menos dinero en otro país, excelente. El proteccionismo casi siempre resulta perjudicial, incluso en un país que debe ser protegido. Podrá beneficiar a un grupo de personas, pero a costa de todos los demás.
De cualquier forma, no creo que la tercerización sea una amenaza. Creo que en la mayoría de los casos, es sólo la consecuencia de utilizar un lenguaje que no es lo suficientemente abstracto. En realidad, estás utilizando a los programadores en India o cualquier otro país como compiladores humanos.
El peligro para los Estados Unidos no es la tercerización de la implementación, sino que la aplicación entera sea diseñada e implementada en otro lugar. Pero si otros países pueden desarrollar software mejor que nosotros, merecen ganar.
Además, no creo que de momento puedan. Necesitas tener un ambiente especial para poder desarrollar tecnología innovadora. No solo es que no puedas encontrar un ambiente de este tipo en India o China; es que tampoco lo encontrarás en un 99% de los Estados Unidos.
¿Qué motiva o inspira tu trabajo diario?
Me vienen a la mente cosas nuevas que hacer. Es casi patológico. En general, son malas, desde luego. Pero tengo formas de filtrarlas. (Una de las mejores es preguntándole a amigos).
En cualquier momento estoy desarrollando algún proyecto. Estos varían en tamaño. Algunos pueden tomar horas, mientras otros toman años. El algoritmo para calendarizar es completamente aleatorio. Sólo trabajo en el que tenga más interés en ese momento.
Esto puede sonar desorganizado, pero he encontrado que planear no me funciona. Obliga a trabajar en cosas que no estás interesado, por lo que haces un mal trabajo.
La motivación principal para los proyectos, son los proyectos mismos. Una vez que tengo una idea, es una pena desperdiciarla. Pero mi meta principal es trabajar en proyectos duraderos. Es una de las razones por las que nunca escribo de política. Muchos escritores famosos desperdician años y años escribiendo sobre controversias que al paso del tiempo no interesan a nadie, porque al final de cuentas son sólo casos triviales.
¿Cuál es tu enfoque o estrategia para resolver un problema?
Es una pregunta difícil de contestar. Tengo mil y un trucos.
Un truco que uso es ver al mundo como a las matemáticas. Un buen matemático tiene una buena visualización de los problemas. Ve la forma en que deben ser las cosas. Escribir las ideas debe ser en muchos casos mera transcripción, o por lo menos, implementación.
Trato de entender las cosas tan bien que las pueda rotar y reacomodar dentro de mi cabeza, de manera que pueda ver la forma en que deben ser las cosas, y después simplemente las escribo.
Por ejemplo, intento entender la historia tan bien que pueda hacer experimentos en mi cabeza. ¿Cómo se vería un legionario romano o un mercader flamenco medieval si los pudiéramos traer a nuestros tiempos? Si alguien similar a Hitler se hiciera cargo de los Estados Unidos en estos momentos, ¿quiénes serían los primeros en unirse a sus filas?, ¿quiénes se resistirían? ¿Era inevitable la invasión de Europa al resto del mundo, o se debe a uno o dos eventos políticos chinos fortuitos? (Diamond escribió sobre esta sencilla pregunta. La verdadera pregunta es: ¿por qué no fue China?).
¿Qué consejo puede ofrecer a nuestros lectores para sobresalir dentro del mercado tecnológico actual?
¿Están seguros que quieren empleos? Quizás algunos preferirían empezar sus propias empresas.
De cualquier forma, lo primordial es poder trabajar en proyectos propios. Cuando contratábamos hackers en los inicios de nuestra empresa, eso era prácticamente toda la entrevista: ¿qué has construido por cuenta propia, que no sea proyecto de escuela?
Preguntábamos eso en parte para saber si eran hackers verdaderos, ya que alguien que disfrute "hackear" tiene, forzosamente, proyectos propios. (A menos de que estén en una compañía que inicia, lo que absorbe el 100% de la energía de cualquiera).
Muchos empleadores han aprendido de esta prueba. Tanto Yahoo como Google tienen prioridad en contratar personas que se han ganado una reputación en proyectos open-source, y ni hablar de los emprendedores.
La otra razón para hacer un proyecto propio es porque es la mejor manera de aprender. Aprendes haciendo, y trabajas con más empeño en las cosas que te interesan, y que son tuyas.
Jerry Guo (ji.guo@yale.edu) es estudiante de Yale University. Sus principales intereses residen en bioinformática e inteligencia artificial. Actualmente es reportero integrante del Yale Daily News y un peso pesado del equipo. En su escaso tiempo libre, disfruta dormir, jugar en su XPS2, y el ciclismo de montaña. Es Editor en Jefe de Crossroads desde agosto de 2005 y ha estado en el consejo editorial desde 2003.
Pier Paolo Guillén Hernández (pier@nibbo.net) está trabajando actualmente en su tesis de grado de Ingeniería Electrónica en la Universidad Bonaterra. Es también Programming Director y cofundador de Nibbo Studios, una empresa mexicana de desarrollo de videojuegos.