Like This!

Originalmente publicado el 3. julio 2010 en el blog de Aaron, se hace traducción libre del mismo.

Siempre me ha inquietado por qué una plataforma altamente adoptada y respaldada como .NET no es más visible entre los emprendedores web. Grandes Plataformas y lenguajes open source gozan de alta visibilidad y presencia en la comunidad de startups, desde pilares como Python y PHP a algunas incluso oscuras y especializadas como Clojure y Handoop.

“.NET, por otro lado, es visiblemente ausente de la discusión aunque de hecho es una plataforma más difundida que las demás.

Es como un gran silencio entre la comunidad de desarrolladores que sólo se encierran en sus proyectos sin siquiera ocasionalmente alzar la mano para decir “Aquí hay algo único y bueno que hicimos con esta plataforma, y que nadie había hecho antes”.

Ésto es trágico para la comunidad .Net porque esa falta de sex-appeal aparente no tiene nada que ver con las capacidades reales de la plataforma. Sólo tómense un momento para revisar CodePlex y encontrarán miles de miles de proyectos y ejemplos creativos, de código abierto, hechos con .NET.

Y entre las startup hay un buen número de ellas trabajando sobre .Net, haciéndolo grande, incluyendo la recientemente adquirida por Amazon, Woot. Pero porqué no hay una voz fuerte de .NET en la comunidad de emprendedores? Por qué los desarrolladores de Woot no están trabajando con el equipo de StackOverFlow (también implementada en .NET) para motivar más emprendimientos en el uso extensivo de .NET para crear nuevos productos y servicios?

Y más importante, ¿por qué no hay mas emprendimientos usando .NET?

Todo es cuestión de empresas

He escuchado todo tipo de respuestas ligeras a la pregunta anterior: “que la plataforma es cerrada”, “no hay estándares”, “costos de licenciamiento” y ninguna de ellas pasan la prueba de la objetividad. Sí, esos temas pueden impedir que algunos desarrolladores usen .NET para sus emprendimientos, pero no lo suficiente como para impedir que todos adopten .NET, justamente la plataforma más versatil y fácil de usar con las mejores herramientas y el mejor soporte.1

En Code Camp pude finalmente saber por qué pasa esto. Es la cultura la comunidad .Net en sí misma, no nada especifico a la platafora o a la arquitectura que la soporta.

.NET esta centrada alrededor de las preocupaciones de la empresa – los grandes y ya establecidos negocios en la economía, no las valientes y variables startups. Y cuando digo “cultura” no estoy hablando de las herramientas de desarrollo sino de la mentalidad de los desarrolladores que usan .NET. Hablo de los blogs y otros medios digitales que leen, de las redes en las que colaboran y de los temas que les ocupan.

La mayoría de los desarrolladores que conozco hacen portales para grandes proveedores de la industria médica con miles de empleados, trabajaron en proyectos de legado cuyo tiempo de vida se cuenta en décadas, en equipos con cientos, incluso miles de programadores, y viven en ambientes gobernados por altas gerencias. Éstos son problemas a los que pocos, o ninguno, de los desarrolladores de emprendimientos se ven enfrentados.

Por eso tantas charlas en Code Camp se enfocaron alrededores de metodologías RAD para proyectos internos, estandarización de código, arquitectura empresarial y otros temas que le interesan a los que trabajan en grandes ambientes corporativos.

Y quién puede culpar a Microsoft por atender el mercado empresarial? Ahí esta la plata! Nadie nunca se hizo rico vendiendo herramientas de desarrollo de alta calidad a un puñado de empresas emergentes ávidas de capital.

“Sin embargo, la consecuencia de ese enfoque es que las comunidades emprendedoras y la comunidad .NET no tienen tanto en común como con otras tecnologías.

Como resultado, los desarrolladores emprendedores y fundadores de empresas no conocen .NET y no piensan en ella como una herramienta útil para sus necesidades. Del mismo modo, muchos desarrolladores .NET que quieren trabajar en interesantes empresas emergentes no tienen tantas oportunidades a menos que abandonen .NET por una tecnología más apetecida por los emprendedores”.

Entonces qué es lo que ocupa a los miembros de la comunidad .NET? Ellos se preocupan por dar soporte a sistemas establecidos, construir arquitecturas empresariales que puedan servir a varias dependencias, por grandes sistemas que soporten la operación de procesos internos de las compañías y pr satisfacer a los accionistas de esas empresas.

Los desarrolladores .NET se preocupan por la arquitectura para mantener sistemas

Los emprendedores se ocupan de cosas diferentes. Ellos son sus propios accionistas, se preocupan por la concurrencia, escalabilidad, experiencia de usuario, por soportar muchos clientes y navegadores y por como sus diseños impactara a sus nichos objetivo.

Los emprendedores se preocupan por la arquitectura para mantener productos

Ven la diferencia? .NET es perfectamente capaz de suplir las necesidades de emprendedores y diseñadores de productos, pero muy poca2 de la cultura .NET, literatura y temas de conversación se enfocan en el producto. Al contrario, la mayoría gira alrededor del soporte y necesidades del negocio, no del negocio de hacer productos como tal!

No tiene que ser así

Una cosa debe aclararse aqui. Cualquier plataforma, no solo .NET, puede ser usada para implementar tecnología empresarial y para crear nuevos productos. Las plataformas no siempre definen su uso, éso es trabajo de la gente que trabaja con ellas. Si Microsoft quiere entrar a la escena del emprendimiento, y tengo razones para creer que así es, tienen que hacer un mejor trabajo evangelizando las capacidades de .NET a partir de la creación de nuevos servicios, nuevos productos y nuevos negocios y no solo a partir de la gran empresa.

Las grandes corporaciones y las empresas emergentes no son mutuamente excluyentes, solo son étapas diferentes en la evolucion de un negocio, en éste caso, el desarrollo de software. No hay razón entonces, que justifique a los emprendeores que no consideran a .NET una opción atractiva com punto de inicio para sus nuevos negocios.

The next article I’m going to write on this subject will cover why it’s a good idea for Microsoft to have .NET adopted more readily by the startup community.

1 Entiendan “mejor” como un término subjetivo, pero traten de entender mi punto. No trato de desprestigiar Eclipse, XCode, NetBeans o EMACS, pero siendo justos, Visual Studio se impone ante ellos en cualquier comparación uno a uno.

2 De nuevo, esta es una observación basada en mi experiencia con .NET.  Siempre estoy al acecho de cualquier persona que utilice .NET para un emprendimiento

♣♣♣♣♣

Tras leer éste artículo creí que valía la pena traducirlo y difundirlo en español. Como ustedes saben, Asterysco es otra startup, nada que ver con las startups a las que refiere Aaron o a las que refieren por ejemplo en Campus Party, pero somos una empresa pequeña con ganas de crecer en este mundo del desarrollo de software.

Creo que como dice Aaron una parte del problema es la orientación que ha tenido Microsoft a través de los años, pero mas importante que eso es la orientación de la gente. Pero no tanto por que no se hagan visibles ni porque no compartan. El problema principal es que se siente un poco diferente trabajar con una u otra tecnología. El problema no es desconocimiento sino falta de entusiasmo para desarrollar buenos productos, servicios y sistemas con .NET para los nichos para los que los llamados emprendedores web están trabajando.

En Asterysco creemos que el problema se puede atacar desde la arquitectura. Estamos trabajando fuertemente en lograr arquitecturas que separen la capa de presentación de las capas de negocio y datos. Creemos que hasta las aplicaciones empresariales merecen una buena experiencia de usuario y creemos que es posible hacerlo sobre .NET. Ese tipo de proyectos de investigación en cómo unir lo mejor de ambos mundos es algo que poco o nada se ve en la comunidad de desarrolladores en general. Unos simplemente  ve proyectos empresariales que por debajo son odas a la tecnología y a la seguridad y por fuera son horriblemente concebidos. Este punto particular tiene que ver, en el caso de .NET, en la dificultad inherente al manejo de controles ASP. En otros casos, desconozco, pero me atrevo a decir que es mera negligencia. Afortunadamente ya hay implementaciones de MVC y MVVM para Visual Studio que permiten un manejo mucho mejor de la experiencia de usuario en proyectos de gran envergadura. Justamente esta semana Scott Guthrie ha publicado una serie de artículos excelentes sobre la presentación de WebMatrix, un producto en versión beta para agilizar el desarrollo de nuevas aplicaciones web desde el inicio y usando las más populares herramientas opensource.

Concluimos siempre lo mismo: Sin importar qué tecnología use una empresa o un emprendedor, si se usa la herramienta con cierto rigor académico y profesional, se pueden lograr grandes productos al final.