lunes, agosto 07, 2006

Cómo convertir capital en software que funcione

Pos me gustaria compartir con uds estas lectura
------------------------------------------------

From The Joel on Software Translation Project
page: http://local.joelonsoftware.com/mediawiki/index.php/C%C3%B3mo_convertir_capital_en_software_que_funcione

http://local.joelonsoftware.com/mediawiki/index.php/Español

Estoy convencido de que la mayoría de la gente piensa en las empresas de software de forma invertida. La creencia común es que cuando se está creando una compañía de software, el objetivo es encontrar una buena idea que solucione un problema que no haya sido solucionado antes, implementarla y hacer fortuna. Llamaremos a esto la creencia del "construir una mejor ratonera". Pero el verdadero objetivo de una compañía de software es convertir capital en software que funcione. Si entiendes esto es más fácil que tomes las decisiones estratégicas correctas.

El problema con "construir una mejor ratonera" es que no hay demasiada evidencia de que funcione. Para empezar muchas de las compañías de software de mayor éxito (Microsoft y Oracle, por ejemplo) realmente no "innovan" en el sentido de que no están solucionando problemas que no hayan sido solucionados antes. En cualquier mercado es extremadamente raro que consigas guardarte tu invento para ti mismo. Todo el mundo tiene competencia. Los abogados y los emprendedores de Wall Street que lanzan empresas de alta tecnología creen que pueden protegerse de esto mediante el registro de patentes. ¡Ja! No se me ocurre ni un sólo caso de una compañía que se haya protegido con éxito de su competencia gracias al registro de una patente (Stac es el único caso que se me ocurre, ¿y dónde diablos están ahora?)

El siguiente problema con la filosofía del "construir una mejor trampa para ratones" es que hemos alcanzado un punto con el software de Internet en el que hay demasiado dinero a la caza de las mismas ideas tontas. Llamémosle el fenómeno idrive-xdrive-swapdrive-freedive: de repente aparecen 37 compañías ofreciendo exactamente el mismo servicio gratis. Hay trillones de ejemplos de esto. Tiendas de animales en línea. Entrega urbana de películas de alquiler. Sitios en Internet de productos cosméticos. Cuando esto ocurre, el reto del negocio pasa de ser un reto técnico que necesita de buenos programadores a ser un reto de marketing que requiere, de alguna manera, de la capacidad para sobresalir de entre la multitud y establecer una marca, algo que es bastante improbable. No sólo eso, además el dinero de los inversores de capital de riesgo es impaciente. Eso significa que las inversiones que realmente necesiten mucho tiempo para desarrollarse no conseguirán financiación, razón por la cual cualquier cosa verdaderamente interesante o difícil de copiar nunca conseguirá financiación. Una de las razones por la cual hay más de 30 compañías cuyo único objetivo es proporcionar almacenamiento en disco duro por Internet es que escribir el código para dicho servicio es muy fácil.

Hay una forma diferente de ver el desarrollo de software. Imagina que el objetivo de tu empresa de software no es solucionar un problema específico sino convertir dinero en código a través de programadores. Sé que suena un poco extraño pero tened paciencia. Una empresa de software debe pensar que la contratación de la gente adecuada es su problema número uno. Si se tiene éxito en esto, se podrá solucionar cualquier otro problema. Contrata gente inteligente y producirán buen material que podrás vender y sacar dinero por ello. Entonces todo lo demás llegará. Microsoft tiene la capacidad de aplastar a sus competidores porque tiene la habilidad de desplegar muchos programadores. Cuando Microsoft lanzó Internet Explorer 3.0 apenas después de haber lanzado la versión 2.0 fue impresionante ver el buen trabajo que habían hecho. No sólo replicaron todas las características del navegador de Netscape sino también añadieron algunas más y lo hicieron con una arquitectura que era robusta y estratégica. Aunque es verdad que Microsoft utilizó su sistema operativo para ayudar a imponer su navegador, también es cierto que no se habrían salido con la suya si su navegador no hubiera sido estupendo. (Ejemplo: aunque Windows recién instalado es capaz de reproducir ficheros MP3, todo el mundo que conozco utiliza WinAmp y no el reproductor de Windows Media para escucharlos. Aunque MSN está en el escritorio, todo el mundo usa AOL. En la época en la que el navegador que venía integrado con Windows era una basura Netscape tenía el 80% de la cuota de mercado. Así que por favor dejad de preocuparos por el poder de la integración.)

Microsoft tiene una gran estrategia de contratación. Contratan gente inteligente y sin experiencia recién salidos de la universidad... gente que no ha aprendido culturas corporativas disfuncionales en ninguna otra parte. Estos chicos llegan a Seattle sin conocer a nadie, se matan a trabajar y absorben como una esponja la manera Microsoft de hacer las cosas. Para el momento en el que puedan empezar a quemarse, entran en juego las opciones de compra de acciones y su salario efectivo se dispara hacia la estratosfera, donde es muy improbable que alguien sea capaz de tentarles. En Microsoft, un veterano con 5 años puede estar ganando 500,000 dólares anuales incluyendo opciones de compra de acciones -- ¿alguien se atreve a igualarlo?

La idea fundamental es que Microsoft es mejor que nadie como motor de transformación de dinero en productividad del programador. Esto está lejos de ser un factor periférico. La mayoría de empresas de recién creación parecen saber que contratar buenos programadores es tan importante como, digamos, contratar la firma adecuada de relaciones públicas. "Saben" que es importante pero no cuán importante es. No están dispuestos a hacer lo que verdaderamente hace falta para conseguir y conservar a los mejores programadores. Razón por la cual es muy probable que fracasen. Tan pronto como Netscape dejó de producir código (la versión 5.0 de su navegador lleva algo así como 2 años de retraso) su cuota de mercado desapareció. Los programadores de WordPerfect pensaron que la mejor manera de hacer las cosas era el lenguaje ensamblador y se negaron a programar en C. Mala idea chicos, se necesita 10 veces más programadores para hacer eso y hoy WordPerfect es una nota al pié de página. Es asombroso cuantas compañías - Lotus, Netscape, WordPerfect - han mordido el polvo porque perdieron la capacidad de transformar capital en código.

Si se quiere ser el mejor restaurante de la ciudad, debes preocuparte de conseguir los mejores chefs y los mejores ingredientes. Eres una fábrica que transforma chefs y materias primas en la experiencia de cenar. Si eres un estudio de cine, debes preocuparte de conseguir los mejores actores, directores y escritores. Eres una fábrica que transforma talento en entretenimiento. Así que si eres una empresa de software debes conseguir a los mejores chefs y a los mejores directores: eres una fábrica que transforma talento en código. El talento adecuado sabe cómo hacer el código adecuado que te hará tener éxito.

Bien, asumamos para el propósito de la discusión que estáis de acuerdo conmigo. ¿Qué implicaciones tiene esto?. En futuros artículos hablaré sobre como poner en práctica esta filosofía: cómo entrevistar y seleccionar a la mejor gente, cómo crear el ambiente de trabajo adecuado que atraiga a la gente una vez seleccionada y cómo básicamente se deben subordinar todos los demás problemas para centrarse en mantener la fábrica echando humo.