¿Es negativo tener antecedentes de programación de Microsoft al solicitar trabajos en las startups?

No puedo hablar por Square específicamente, pero muchas startups de Valley de primera línea (e incluso de grado medio) tienen una actitud similar.

No es tanto si su fondo está en ASP.NET, sino más bien si su único fondo está en ASP.NET y usted profesa ser bueno en él y reacio a aprender otros idiomas / pilas. Mientras que un buen desarrollador puede estar bien versado en ASP.NET, muchos desarrolladores que están versados ​​en ASP.NET no son buenos desarrolladores. Entonces el prejuicio no es injustificado.

Si eres un buen desarrollador, puedes mejorarlo fácilmente si pasas unos días aprendiendo un nuevo lenguaje que no sea de Microsoft (elige Ruby o Python si quieres pasar un rato agradable; evita PHP) y pasa una semana más o menos codificando un interesante pequeña aplicación web con ella. Esto debería darle suficiente familiaridad con una pila que no es de Microsoft que, combinada con ser un buen desarrollador, debería ser capaz de superar este prejuicio particular en una entrevista.

Si hacer esto te parece problemático, entonces probablemente no seas un buen desarrollador.

He trabajado en varias compañías y soy lo suficientemente generalista como para haber trabajado con la mayoría de las pilas de tecnología de alto perfil que existen, y algunas no tan de alto perfil.

Como desarrollador *, no creo que sea apropiado avergonzar a nadie por haber aprendido algo [1]. En consecuencia, no creo que haya nada de malo en aprender, usar y desarrollar experiencia en la pila .Net. He pasado mucho tiempo en ello yo mismo. Soy generalista

Sin embargo, como persona que ha tomado o influido en las elecciones de contratación y ha entrevistado o evaluado al menos a varios cientos de candidatos, puedo decir que las personas que han pasado mucho tiempo (más de 5 años) en el ecosistema de Microsoft y no se han alejado pretende tener una visión bastante estrecha del desarrollo de software, y hasta hace poco, muchos desarrolladores del ecosistema de Microsoft pensaban poco en cosas como la administración de dependencias, la implementación totalmente automatizada e incluso a veces cosas como evitar un acoplamiento innecesariamente estrecho entre diferentes partes del sistema.

Para ser justos, he visto a personas experimentadas principalmente con un solo ecosistema que exhibe una falta de flexibilidad similar: encontrar desarrolladores de PHP que adopten las prácticas de OO, o desarrolladores de Java que entiendan por qué querrían escribir en un lenguaje como Ruby, o desarrolladores de Ruby que Comprender por qué desearía poder anular una dependencia con Bundler como puede hacerlo con Maven, por ejemplo, puede ser difícil. Pero con mucha frecuencia me encuentro con desarrolladores de Microsoft que no reconocen un problema hasta que Microsoft lo respalda o crea una solución para él.

Así que he estado en varias compañías donde los gerentes tienden a mirar con escepticismo un currículum para alguien con 10 años de experiencia en Microsoft y nada más, y esta es la razón: es muy común encontrar desarrolladores que están completamente fuera de su alcance. -elemento cuando se intenta atacar problemas que las herramientas de Microsoft no admiten.

Trabajé para Microsoft durante más de 7 años, y sería el primero en admitir que es muy fácil obtener visión de túnel.

Parece que solo ha pasado unos años en el ecosistema de la EM, por lo que si estuviera buscando un candidato no muy joven pero no muy alto, no tendría reservas para traerlo si la pantalla de un teléfono funcionara bien. Pero si, por ejemplo, fue y probó otra o dos plataformas por curiosidad, para descubrir qué es más fácil y qué es más difícil en ese mundo de lo que está acostumbrado, tendría una ventaja sustancial sobre otros candidatos. No es necesario que se convierta en un experto, necesariamente, pero sea capaz de hablar inteligentemente sobre lo que funciona bien en su entorno primario y lo que funciona bien en las otras pilas con las que ha jugado.

Hay dos caminos hacia el éxito en la industria: convertirse en un especialista en algo tan valioso que siempre tendrá demanda (hasta que eso se vuelva irrelevante), o ser un generalista y útil en contextos suficientes en los que siempre estará -demanda porque será obvio que puedes adaptarte. No hay vergüenza en convertirse en un experto en .Net, pero hay desventajas en no mirar más allá de ese ecosistema.

* (Actualmente no estoy trabajando en un rol de desarrollo; mis últimos 2 años de experiencia son principalmente ingeniería de soluciones orientadas al cliente y trabajo de arquitectura de soluciones)

Notas al pie

[1] Página en stackexchange.com

Lo siento, esta es solo una pregunta estúpida. Sí, sé que no hay preguntas estúpidas, pero … esta sí.

Las personas que generalizan el desarrollador .NET no conocen ninguno y nunca han trabajado con ninguno. La afirmación de Danny de que los desarrolladores de .NET “no tienen idea de cómo configurar un servidor o implementar una aplicación” es evidentemente incorrecta y no refleja nada más que un estereotipo.

La propia declaración de Yishan también hace el punto muy bien. “Si bien un buen desarrollador puede estar bien versado en ASP.NET, muchos desarrolladores que están versados ​​en ASP.NET no son buenos desarrolladores”. ¿En qué basas esto? Muéstrame las estadísticas que muestran esto … pero la parte que más me gusta es “Así que el prejuicio no es injustificado”. … un prejuicio es, por su propia naturaleza, injustificado.

Según dictionary.com, un prejuicio se define como “opinión o sentimiento desfavorable formado de antemano o sin conocimiento”. Parece que tenemos un poco de eso aquí, ¿eh?