Grandes Hackers

Esta es una traducción del artículo de Paul Graham publicado en Julio del 2004. Lee la versión original en inglés.

(Este ensayo se deriva de una charla en Oscon 2004.)

Hace unos meses terminé un nuevo libro , y en las reseñas sigo notando palabras como «provocador» y «controvertido». Por no hablar de «idiota». «

No quise hacer que el libro fuera controvertido. Estaba tratando de hacerlo eficiente. No quería perder el tiempo de la gente diciéndoles cosas que ya sabían. Es más eficiente simplemente darles las diferencias. Pero supongo eso seguramente dará lugar a un libro alarmante.

Edisons

No hay controversia sobre qué idea es más controvertida: la sugerencia de que la variación en la riqueza podría no ser un problema tan grande como pensamos.

No dije en el libro que la variación en la riqueza fuera en sí misma algo bueno. Dije que en algunas situaciones podría ser una señal de cosas buenas. Un dolor de cabeza punzante no es algo bueno, pero puede ser un signo de algo bueno, por ejemplo, que está recuperando el conocimiento después de un golpe en la cabeza.

La variación en la riqueza puede ser un signo de variación en la productividad. (En una sociedad de uno, son idénticos). Y eso es casi con certeza algo bueno: si su sociedad no tiene variación en la productividad, probablemente no sea porque todos son Thomas Edison. Probablemente sea porque no tienes a Thomas Edison.

En una sociedad de baja tecnología, no se ve mucha variación en la productividad. Si tienes una tribu de nómadas que recolectan palos para el fuego, ¿cuánto más productivo será el mejor recolector de palos que el peor? ¿Un factor de dos? Mientras que cuando le entregas a la gente una herramienta compleja como una computadora, la variación en lo que pueden hacer con ella es enorme.

Esa no es una idea nueva. Fred Brooks escribió sobre ello en 1974, y el estudio que citó se publicó en 1968. Pero creo que subestimó la variación entre programadores. Escribió sobre productividad en líneas de código: los mejores programadores pueden resolver un problema dado en una décima parte del tiempo. Pero, ¿y si no se da el problema? En programación, como en muchos campos, la parte difícil no es resolver problemas, sino decidir qué problemas resolver. La imaginación es difícil de medir, pero en la práctica domina el tipo de productividad que se mide en líneas de código.

La productividad varía en cualquier campo, pero hay pocos en los que varía tanto. La variación entre programadores es tan grande que se convierte en una diferencia de tipo. Sin embargo, no creo que esto sea algo intrínseco a la programación. En todos los campos, la tecnología aumenta las diferencias de productividad. Creo que lo que está sucediendo en la programación es solo que tenemos mucha influencia tecnológica. Pero en todos los campos, la palanca se hace más larga, por lo que la variación que vemos es algo que más y más campos verán a medida que pase el tiempo. Y el éxito de las empresas y de los países dependerá cada vez más de cómo lo afronten.

Si la variación en la productividad aumenta con la tecnología, entonces la contribución de las personas más productivas no solo será desproporcionadamente grande, sino que en realidad aumentará con el tiempo. Cuando llega al punto en el que el 90% de la producción de un grupo es creado por el 1% de sus miembros, pierde mucho si algo (ya sean redadas vikingas o planificación centralizada) reduce su productividad a la media.

Si queremos aprovecharlos al máximo, debemos comprender a estas personas especialmente productivas. ¿Qué les motiva? ¿Qué necesitan para hacer su trabajo? ¿Cómo los reconoces? ¿Cómo logra que vengan a trabajar para usted? Y luego, por supuesto, está la pregunta, ¿cómo te conviertes en uno?

Más que dinero

Conozco a un puñado de superhackers, así que me senté y pensé en lo que tienen en común. Su cualidad definitoria es probablemente que realmente les encanta programar. Los programadores ordinarios escriben código para pagar las facturas. Los grandes hackers lo ven como algo que hacen por diversión y por lo que están encantados de que la gente les pague.

A veces se dice que los grandes programadores son indiferentes al dinero. Esto no es del todo cierto. Es cierto que lo único que realmente les importa es hacer un trabajo interesante. Pero si gana suficiente dinero, puede trabajar en lo que quiera, y por esa razón los hackers se sienten atraídos por la idea de ganar cantidades realmente grandes de dinero. Pero mientras tengan que presentarse a trabajar todos los días, les importa más lo que hacen allí que cuánto les pagan por ello.

Económicamente, este es un hecho de la mayor importancia, porque significa que no tienes que pagar a los grandes piratas informáticos nada como lo que valen. Un gran programador puede ser diez o cien veces más productivo que uno normal, pero se considerará afortunado si le pagan tres veces más. Como explicaré más adelante, esto se debe en parte a que los grandes hackers no saben lo buenos que son. Pero también es porque el dinero no es lo principal que quieren.

¿Qué quieren los hackers? Como todos los artesanos, a los piratas informáticos les gustan las buenas herramientas. De hecho, eso es quedarse corto. Los buenos piratas informáticos encuentran insoportable el uso de malas herramientas. Simplemente se negarán a trabajar en proyectos con la infraestructura incorrecta.

En una empresa nueva para la que trabajé una vez, una de las cosas que aparecían en nuestro tablón de anuncios era un anuncio de IBM. Era una imagen de un AS400, y el titular decía: «Los piratas informáticos lo desprecian». 1

Cuando decides qué infraestructura usar para un proyecto, no solo estás tomando una decisión técnica. también tomar una decisión social, y este puede ser el más importante de los dos. Por ejemplo, si su empresa quiere escribir algún software, puede parecer una opción prudente escribirlo en Java. Pero cuando elige un idioma, También estás eligiendo una comunidad. Los programadores que podrás contratar para trabajar en un proyecto Java no serán tan inteligentes como los que podrías poner a trabajar en un proyecto escrito en Python. Y la calidad de sus piratas informáticos probablemente sea más importante que el idioma que elija. Aunque, francamente, el hecho de que los buenos piratas informáticos prefieran Python a Java debería decirle algo sobre los méritos relativos de esos lenguajes.

Los tipos de empresas prefieren los idiomas más populares porque ven los idiomas como estándares. No quieren apostar la empresa por Betamax. Sin embargo, lo que pasa con los idiomas es que no son solo estándares. Si tiene que mover bits a través de una red, utilice TCP / IP. Pero un lenguaje de programación no es solo un formato. Un lenguaje de programación es un medio de expresión.

He leído que Java acaba de superar a Cobol como el lenguaje más popular. Como estándar, no podría desear más. Pero como medio de expresión, podrías hacerlo mucho mejor. De todos los grandes programadores en los que puedo pensar, solo conozco uno que programara voluntariamente en Java. Y de todos los grandes programadores en los que puedo pensar que no trabajan para Sun, en Java, no sé nada.

Los grandes hackers también suelen insistir en utilizar software de código abierto. No solo porque es mejor, sino porque les da más control. Los buenos piratas informáticos insisten en el control. Esto es parte de lo que los convierte en buenos piratas informáticos: cuando algo se rompe, necesitan arreglarlo. Quieres que se sientan así sobre el software que están escribiendo para ti. No debería sorprenderse cuando ellos sienten lo mismo sobre el sistema operativo.

Hace un par de años, un amigo capitalista de riesgo me habló de una nueva empresa en la que estaba involucrado. Sonaba prometedor. Pero la próxima vez que hablé con él, me dijo que habían decidido construir su software en Windows NT y que acababan de contratar a un desarrollador de NT con mucha experiencia para que fuera su director técnico. Cuando escuché esto, pensé, estos tipos están condenados. Uno, el CTO no podía ser un pirata informático de primera categoría, porque para convertirse en un desarrollador de NT eminente habría tenido que usar NT voluntariamente, varias veces, y no podía imaginarme a un gran pirata informático haciendo eso; y dos, incluso si era bueno, le costaría contratar a alguien bueno para que trabajara para él si el proyecto tuviera que construirse en NT. 2

La última frontera

Después del software, la herramienta más importante para un hacker es probablemente su oficina. Las grandes empresas piensan que la función del espacio de oficina es expresar rango. Pero los piratas informáticos usan sus oficinas para más que eso: usan su oficina como un lugar para pensar. Y si usted es una empresa de tecnología, sus pensamientos son su producto. Por lo tanto, hacer que los piratas informáticos trabajen en un entorno ruidoso y que distrae es como tener una fábrica de pintura donde el aire está lleno de hollín.

La tira de dibujos animados Dilbert tiene mucho que decir sobre los cubículos, y con razón. Todos los hackers que conozco los desprecian. La mera perspectiva de ser interrumpido es suficiente para evitar que los piratas informáticos trabajen en problemas difíciles. Si desea realizar un trabajo real en una oficina con cubículos, tiene dos opciones: trabajar en casa, o llegar temprano o tarde o un fin de semana, cuando no hay nadie más. ¿No se dan cuenta las empresas de que esto es una señal de que algo no funciona? Se supone que un entorno de oficina es algo que le ayuda a trabajar, no algo a pesar de lo que trabaja.

Empresas como Cisco están orgullosas de que todos tengan un cubículo, incluso el director ejecutivo. Pero no están tan avanzados como piensan; obviamente, todavía ven el espacio de oficina como una insignia de rango. Tenga en cuenta también que Cisco es famoso por realizar muy poco desarrollo de productos internamente. Obtienen nueva tecnología comprando las nuevas empresas que la crearon, donde presumiblemente los piratas informáticos tenían un lugar tranquilo para trabajar.

Una gran empresa que comprende las necesidades de los piratas informáticos es Microsoft. Una vez vi un anuncio de reclutamiento de Microsoft con una imagen grande de una puerta. Trabaja para nosotros, la premisa era, y te daremos un lugar para trabajar donde realmente puedas hacer tu trabajo. Y sabes, Microsoft se destaca entre las grandes empresas porque son capaces de desarrollar software internamente. Quizás no bien, pero lo suficientemente bien.

Si las empresas quieren que los piratas informáticos sean productivos, deberían analizar lo que hacen en casa. En casa, los piratas informáticos pueden organizar las cosas ellos mismos para que puedan hacer lo mejor. Y cuando trabajan en casa, los piratas informáticos no trabajan en espacios abiertos y ruidosos; trabajan en habitaciones con puertas. Trabajan en lugares acogedores y vecinos con gente alrededor y en algún lugar para caminar cuando necesitan reflexionar sobre algo, en lugar de en cajas de vidrio colocadas en acres de estacionamientos. Tienen un sofá en el que pueden tomar una siesta cuando se sienten cansados, en lugar de sentarse en coma en su escritorio, fingiendo trabajar. No hay un equipo de personas con aspiradoras que ruja todas las noches durante las horas principales de piratería. No hay reuniones o, Dios no lo quiera, retiros corporativos o ejercicios de formación de equipos. Y cuando miras lo que están haciendo en esa computadora,Descubriré que refuerza lo que dije antes sobre las herramientas. Es posible que tengan que usar Java y Windows en el trabajo, pero en casa, donde pueden elegir por sí mismos, es más probable que los encuentre usando Perl y Linux.

De hecho, estas estadísticas acerca de que Cobol o Java son los idiomas más populares pueden ser engañosas. Lo que debemos mirar, si queremos saber qué herramientas son las mejores, es qué eligen los hackers cuando pueden elegir libremente, es decir, en sus propios proyectos. Cuando hace esa pregunta, descubre que los sistemas operativos de código abierto ya tienen una participación de mercado dominante, y el idioma número uno probablemente sea Perl.

Interesante

Junto con buenas herramientas, los piratas informáticos quieren proyectos interesantes. ¿Qué hace que un proyecto sea interesante? Bueno, obviamente sería interesante trabajar en aplicaciones abiertamente atractivas como aviones furtivos o software de efectos especiales. Pero cualquier aplicación puede ser interesante si presenta nuevos desafíos técnicos. Por lo tanto, es difícil predecir qué problemas les gustarán a los piratas informáticos, porque algunos se vuelven interesantes solo cuando las personas que trabajan en ellos descubren un nuevo tipo de solución. Antes de ITA (que escribió el software dentro de Orbitz), las personas que trabajaban en búsquedas de tarifas de aerolíneas probablemente pensaban que era una de las aplicaciones más aburridas imaginables. Pero ITA lo hizo interesante al redefinir el problema de una manera más ambiciosa.

Creo que pasó lo mismo en Google. Cuando se fundó Google, la sabiduría convencional entre los llamados portales era que la búsqueda era aburrida y sin importancia. Pero los chicos de Google no pensaban que la búsqueda fuera aburrida, y por eso lo hacen tan bien.

Ésta es un área en la que los gerentes pueden marcar la diferencia. Como un padre que le dice a un niño, apuesto a que no puede limpiar toda su habitación en diez minutos, un buen gerente a veces puede redefinir un problema como uno más interesante. Steve Jobs parece ser particularmente bueno en esto, en parte simplemente por tener altos estándares. Había muchas computadoras pequeñas y económicas antes de la Mac. Redefinió el problema como: haz uno que sea hermoso. Y eso probablemente impulsó a los desarrolladores más que cualquier zanahoria o palo.

Ciertamente cumplieron. Cuando apareció la Mac por primera vez, ni siquiera tenía que encenderla para saber que sería bueno; se podría decir por el caso. Hace unas semanas, estaba caminando por la calle de Cambridge, y en la basura de alguien vi lo que parecía ser un maletín de Mac. Miré dentro y había un Mac SE. Lo llevé a casa, lo enchufé y arrancó. La cara feliz de Macintosh, y luego el buscador. Dios mío, fue tan simple. Era como … Google.

A los piratas informáticos les gusta trabajar para personas con altos estándares. Pero no basta con ser exigente. Tienes que insistir en las cosas correctas. Lo que generalmente significa que usted mismo debe ser un hacker. He visto artículos ocasionales sobre cómo administrar programadores. Realmente debería haber dos artículos: uno sobre qué hacer si usted es un programador y otro sobre qué hacer si no lo es. Y el segundo probablemente podría condensarse en dos palabras: renunciar.

El problema no es tanto la gestión del día a día. Los hackers realmente buenos son prácticamente autogestionarios. El problema es que, si no eres un hacker, no puedes saber quiénes son los buenos hackers. Un problema similar explica por qué los autos estadounidenses son tan feos. Yo lo llamo la paradoja del diseño.Podrías pensar que podrías embellecer tus productos con solo contratar a un gran diseñador para que los diseñe. Pero si tú mismo no tienes buen gusto , ¿cómo vas a reconocer a un buen diseñador? Por definición, no se puede saber por su cartera. Y no puedes ir por los premios que ha ganado o los trabajos que ha tenido, porque en el diseño, como en la mayoría de los campos, estos tienden a ser impulsados ​​por la moda y las charlas, con la habilidad real en un distante tercio. No hay forma de evitarlo: no se puede administrar un proceso destinado a producir cosas hermosas sin saber qué es lo bello. Los automóviles estadounidenses son feos porque las empresas de automóviles estadounidenses están dirigidas por personas de mal gusto.

Mucha gente en este país piensa en el gusto como algo esquivo o incluso frívolo. No es ninguno. Para impulsar el diseño, un gerente debe ser el usuario más exigente de los productos de una empresa. Y si tiene muy buen gusto, puede, como hace Steve Jobs, hacer de la satisfacción el tipo de problema en el que a la gente buena le gusta trabajar.

Pequeños problemas desagradables

Es bastante fácil decir qué tipo de problemas no son interesantes: aquellos en los que, en lugar de resolver algunos problemas grandes y claros, tienes que resolver muchos problemas pequeños desagradables. Uno de los peores tipos de proyectos es escribir una interfaz para un software que está lleno de errores. Otro es cuando tiene que personalizar algo para las necesidades complejas y mal definidas de un cliente individual. Para los hackers, este tipo de proyectos son la muerte de mil recortes.

La característica distintiva de los pequeños problemas desagradables es que no aprendes nada de ellos. Escribir un compilador es interesante porque te enseña qué es un compilador. Pero escribir una interfaz para un software con errores no le enseña nada, porque los errores son aleatorios. 3 Así que no es solo la meticulosidad lo que hace que los buenos piratas informáticos eviten pequeños problemas desagradables. Es más una cuestión de autoconservación. Trabajar en pequeños problemas desagradables te vuelve estúpido. Los buenos hackers lo evitan por la misma razón que los modelos evitan las hamburguesas con queso.

Por supuesto, algunos problemas tienen este carácter de forma inherente. Y debido a la oferta y la demanda, pagan especialmente bien. Por lo tanto, una empresa que encontrara una manera de conseguir que grandes piratas informáticos trabajaran en problemas tediosos tendría mucho éxito. ¿Como lo harias?

Un lugar en el que esto sucede es en las empresas emergentes. En nuestra puesta en marcha teníamos a Robert Morris trabajando como administrador del sistema. Eso es como tener a los Rolling Stones tocando en un bar mitzvah. No se puede contratar ese tipo de talento. Pero la gente hará cualquier trabajo pesado para las empresas de las que son fundadores. 4

Las empresas más grandes resuelven el problema dividiendo la empresa. Consiguen que personas inteligentes trabajen para ellos estableciendo un departamento de I + D separado donde los empleados no tienen que trabajar directamente en los pequeños problemas desagradables de los clientes. 5 En este modelo, el departamento de investigación funciona como una mina. Producen nuevas ideas; tal vez el resto de la empresa pueda utilizarlos.

Puede que no tenga que ir a este extremo. Programación ascendentesugiere otra forma de dividir la empresa: hacer que las personas inteligentes trabajen como fabricantes de herramientas. Si su empresa fabrica software para hacer x, tenga un grupo que cree herramientas para escribir software de ese tipo y otro que utilice estas herramientas para escribir las aplicaciones. De esta manera, es posible que pueda lograr que personas inteligentes escriban el 99% de su código, pero aún así mantenerlos casi tan aislados de los usuarios como lo estarían en un departamento de investigación tradicional. Los fabricantes de herramientas tendrían usuarios, pero solo serían los propios desarrolladores de la empresa. 6

Si Microsoft usara este enfoque, su software no estaría tan lleno de agujeros de seguridad, porque las personas menos inteligentes que escriben las aplicaciones reales no estarían haciendo cosas de bajo nivel como asignar memoria. En lugar de escribir Word directamente en C, conectarían grandes bloques Lego de lenguaje Word. (Doble, creo, es el término técnico.)

Aglutinación

Junto con problemas interesantes, lo que les gusta a los buenos hackers son otros buenos hackers. Los grandes hackers tienden a agruparse, a veces de manera espectacular, como en Xerox Parc. Por lo tanto, no atraerá a buenos piratas informáticos en proporción lineal al buen entorno que cree para ellos. La tendencia a agruparse significa que es más como el cuadrado del medio ambiente. Así que el ganador se lleva todo. En un momento dado, solo hay unos diez o veinte lugares donde los piratas informáticos más quieren trabajar, y si no eres uno de ellos, no solo tendrás menos grandes piratas informáticos, tendrás cero.

Tener grandes hackers no es, por sí solo, suficiente para que una empresa tenga éxito. Funciona bien para Google e ITA, que son dos de los puntos calientes en este momento, pero no ayudó a Thinking Machines o Xerox. Sun tuvo una buena racha durante un tiempo, pero su modelo de negocio es un ascensor descendente. En esa situación, incluso los mejores piratas informáticos no pueden salvarte.

Sin embargo, creo que, en igualdad de condiciones, una empresa que pueda atraer grandes piratas informáticos tendrá una gran ventaja. Hay personas que no estarían de acuerdo con esto. Cuando estábamos haciendo las rondas de firmas de capital de riesgo en la década de 1990, varios nos dijeron que las compañías de software no ganaban escribiendo un gran software, sino a través de la marca, dominando los canales y haciendo los tratos correctos.

Realmente parecían creer esto, y creo que sé por qué. Creo que lo que buscan muchos capitalistas de riesgo, al menos inconscientemente, es el próximo Microsoft. Y, por supuesto, si Microsoft es su modelo, no debería buscar empresas que esperen ganar escribiendo un gran software. Pero los capitalistas de riesgo se equivocan al buscar la próxima Microsoft, porque ninguna startup puede ser la próxima Microsoft a menos que alguna otra compañía esté preparada para inclinarse en el momento justo y ser la próxima IBM.

Es un error usar Microsoft como modelo, porque toda su cultura se deriva de ese golpe de suerte. Microsoft es un mal punto de datos. Si los tira, encontrará que los buenos productos tienden a ganar en el mercado. Lo que deberían buscar los inversores de capital riesgo es la próxima Apple o la próxima Google.

Creo que Bill Gates lo sabe. Lo que le preocupa de Google no es el poder de su marca, sino el hecho de que tienen mejores hackers. 7

Reconocimiento

¿Quiénes son los grandes hackers? ¿Cómo sabes cuando te encuentras con uno? Eso resulta muy difícil. Incluso los piratas informáticos no pueden saberlo. Ahora estoy bastante seguro de que mi amigo Trevor Blackwell es un gran hacker. Es posible que hayas leído en Slashdot cómo hizo su propio Segway . Lo notable de este proyecto fue que escribió todo el software en un día (en Python, dicho sea de paso).

Para Trevor, eso es parte del curso. Pero cuando lo conocí, pensé que era un completo idiota. Estaba de pie en la oficina de Robert Morris balbuceando sobre una cosa u otra, y recuerdo estar detrás de él haciendo gestos frenéticos a Robert para que echara a ese loco de su oficina para que pudiéramos ir a almorzar. Robert dice que también juzgó mal a Trevor al principio. Aparentemente, cuando Robert lo conoció por primera vez, Trevor acababa de comenzar un nuevo plan que implicaba escribir todo sobre cada aspecto de su vida en una pila de fichas, que llevaba consigo a todas partes. También acababa de llegar de Canadá y tenía un fuerte acento canadiense y un salmonete.

El problema se ve agravado por el hecho de que los piratas informáticos, a pesar de su reputación de ignorancia social, a veces se esfuerzan mucho en parecer inteligentes. Cuando estaba en la escuela de posgrado solía pasear por el laboratorio de IA del MIT de vez en cuando. Fue un poco intimidante al principio. Todos allí hablaron tan rápido. Pero después de un tiempo aprendí el truco de hablar rápido. No tienes que pensar más rápido; simplemente use el doble de palabras para decir todo. Con esta cantidad de ruido en la señal, es difícil distinguir a los buenos hackers cuando los conoces. No puedo decirlo, incluso ahora. Tampoco se puede saber por sus currículums. Parece que la única forma de juzgar a un hacker es trabajar con él en algo.

Y esta es la razón por la que las áreas de alta tecnología solo ocurren alrededor de las universidades. El ingrediente activo aquí no son tanto los profesores como los estudiantes. Las empresas emergentes crecen alrededor de las universidades porque las universidades reúnen a jóvenes prometedores y los hacen trabajar en los mismos proyectos. Los inteligentes aprenden quiénes son los demás inteligentes y juntos preparan nuevos proyectos por su cuenta.

Debido a que no se puede distinguir a un gran hacker excepto trabajando con él, los propios hackers no pueden saber qué tan buenos son. Esto es cierto hasta cierto punto en la mayoría de los campos. Descubrí que las personas que son excelentes en algo no están tan convencidas de su propia grandeza como desconcertadas por el hecho de que los demás parezcan tan incompetentes.

Pero es particularmente difícil para los piratas informáticos saber qué tan buenos son, porque es difícil comparar su trabajo. Esto es más fácil en la mayoría de los otros campos. En los cien metros, sabes en 10 segundos quién es el más rápido. Incluso en matemáticas parece haber un consenso general sobre qué problemas son difíciles de resolver y qué constituye una buena solución. Pero piratear es como escribir. ¿Quién puede decir cuál de las dos novelas es mejor? Ciertamente no los autores.

Con los piratas informáticos, al menos, otros piratas informáticos pueden saberlo. Eso es porque, a diferencia de los novelistas, los piratas informáticos colaboran en proyectos. Cuando tienes la oportunidad de resolver algunos problemas difíciles a través de la red con alguien, aprendes bastante rápido con qué fuerza los devuelve. Pero los piratas informáticos no pueden verse a sí mismos en el trabajo. Entonces, si le preguntas a un gran hacker qué tan bueno es, es casi seguro que responderá, no lo sé. No solo está siendo modesto. Realmente no lo sabe.

Y ninguno de nosotros lo sabe, excepto las personas con las que hemos trabajado. Lo que nos pone en una situación extraña: no sabemos quiénes deberían ser nuestros héroes. Los hackers que se vuelven famosos tienden a hacerlo por accidentes aleatorios de relaciones públicas. De vez en cuando necesito dar un ejemplo de un gran pirata informático y nunca sé a quién usar. Los primeros nombres que me vienen a la mente siempre suelen ser personas que conozco personalmente, pero parece poco convincente usarlos. Entonces, creo que tal vez debería decir Richard Stallman, o Linus Torvalds, o Alan Kay, o alguien famoso así. Pero no tengo idea de si estos tipos son grandes hackers. Nunca he trabajado con ellos en nada.

Si hay un Michael Jordan de piratería, nadie lo sabe, incluido él.

Cultivo

Finalmente, la pregunta sobre la que todos los hackers se han estado preguntando: ¿cómo te conviertes en un gran hacker? No sé si es posible convertirte en uno. Pero ciertamente es posible hacer cosas que te vuelvan estúpido, y si puedes volverte estúpido, probablemente también puedas volverte inteligente.

La clave para ser un buen hacker puede ser trabajar en lo que te gusta. Cuando pienso en los grandes hackers que conozco, una cosa que tienen en común es la extrema dificultad de hacerlos trabajar en cualquier cosa que no quieran. No sé si esto es causa o efecto; pueden ser ambos.

Para hacer algo bien hay que amareso. Por lo tanto, en la medida en que pueda preservar la piratería como algo que ama, es probable que lo haga bien. Trate de mantener la sensación de asombro que tenía sobre la programación a los 14 años. Si le preocupa que su trabajo actual esté pudriendo su cerebro, probablemente sea así.

Los mejores piratas informáticos tienden a ser inteligentes, por supuesto, pero eso es cierto en muchos campos. ¿Existe alguna cualidad que sea exclusiva de los piratas informáticos? Le pregunté a algunos amigos y lo primero que mencionaron fue curiosidad. Siempre supuse que todas las personas inteligentes eran curiosas, que la curiosidad era simplemente la primera derivada del conocimiento. Pero aparentemente los piratas informáticos son particularmente curiosos, especialmente sobre cómo funcionan las cosas. Eso tiene sentido, porque los programas son, de hecho, descripciones gigantes de cómo funcionan las cosas.

Varios amigos mencionaron la capacidad de los piratas informáticos para concentrarse, su capacidad, como dijo uno de ellos, para «desconectar todo lo que está fuera de sus cabezas». Ciertamente me he dado cuenta de esto. Y he oído a varios piratas informáticos decir que después de beber incluso la mitad una cerveza que no pueden programar en absoluto. Por lo tanto, tal vez la piratería requiera una habilidad especial para concentrarse. Quizás los grandes hackers puedan cargar una gran cantidad de contexto en su cabeza, de modo que cuando vean una línea de código, no solo vean esa línea, pero todo el programa a su alrededor. John McPhee escribió que el éxito de Bill Bradley como jugador de baloncesto se debió en parte a su extraordinaria visión periférica. La vista «perfecta» significa unos 47 grados de visión periférica vertical. Bill Bradley tenía 70; podía ver la canasta cuando miraba al suelo.Quizás los grandes hackers tengan alguna habilidad innata similar. (Hago trampa usando un muylenguaje denso , que encoge la cancha.)

Esto podría explicar la desconexión sobre cubículos. Tal vez los responsables de las instalaciones, al no tener ninguna concentración para romper, no tienen idea de que trabajar en un cubículo le parece a un hacker como tener el cerebro en una licuadora. (Mientras que Bill, si los rumores sobre el autismo son ciertos, lo sabe muy bien).

Una diferencia que he notado entre los grandes hackers y las personas inteligentes en general es que los hackers son políticamente más incorrectos. En la medida en que existe un apretón de manos secreto entre los buenos hackers, es cuando se conocen lo suficientemente bien como para expresar opiniones que harían que el público en general los apedreara hasta la muerte. Y puedo ver por qué la incorrección política sería una cualidad útil en la programación. Los programas son muy complejos y, al menos en manos de buenos programadores, muy fluidos. En tales situaciones, es útil tener el hábito de cuestionar las suposiciones.

¿Puedes cultivar estas cualidades? No lo sé. Pero al menos puedes no reprimirlas. Así que aquí está mi mejor versión de una receta. Si es posible convertirte en un gran hacker, la forma de hacerlo puede ser haciendo el siguiente acuerdo contigo mismo: nunca trabajaras en proyectos aburridos (a menos que tu familia se muera de hambre de otra manera) y, a cambio, nunca te permitirás hacer un trabajo a medias. Todos los grandes piratas informáticos que conozco parecen haber hecho ese trato, aunque quizás ninguno de ellos tuvo otra opción al respecto.

Notas

  1. Para ser justos, debo decir que IBM fabrica hardware decente. Escribí esto en una computadora portátil IBM.
  2. Resultó que estaban condenados. Cerraron unos meses después.
  3. Creo que esto es lo que la gente quiere decir cuando habla del «sentido de la vida». A primera vista, parece una idea extraña. La vida no es una expresión; ¿cómo podría tener sentido? Pero puede tener una cualidad que se parece mucho a un significado. En un proyecto como un compilador, tienes que resolver muchos problemas, pero todos caen en un patrón, como en una señal. Mientras que cuando los problemas que tienes que resolver son aleatorios, parecen ruido.
  4. Einstein en un momento trabajó diseñando refrigeradores. (Tenía equidad).
  5. Es difícil decir exactamente qué constituye la investigación en el mundo de la informática, pero como primera aproximación, es software que no tiene usuarios. No creo que sea la publicación lo que hace que los mejores hackers quieran trabajar en departamentos de investigación. Creo que se trata principalmente de no tener que tener una reunión de tres horas con un gerente de producto sobre problemas para integrar la versión coreana de Word 13.27 con el clip parlante.
  6. Algo similar ha estado sucediendo durante mucho tiempo en la industria de la construcción. Cuando se construyó una casa hace un par de cientos de años, los constructores locales construyeron todo en ella. Pero cada vez más, lo que hacen los constructores es ensamblar componentes diseñados y fabricados por otra persona. Esto, como la llegada de la autoedición, le ha dado a la gente la libertad de experimentar de maneras desastrosas, pero ciertamente es más eficiente.
  7. Google es mucho más peligroso para Microsoft que Netscape. Probablemente más peligrosa que cualquier otra empresa. Sobre todo porque están decididos a luchar. En su página de lista de trabajos, dicen que uno de sus «valores fundamentales» es «No seas malvado». De una empresa que vende aceite de soja o equipos de minería, tal afirmación sería simplemente excéntrica. Pero creo que todos nosotros en el mundo de la informática reconocemos a quién se le declara la guerra.

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *