El último número del podcast Zinc Prod discutió, entre otras cosas, la llamada paradoja de Python.
Por extraño que parezca, en Habré prácticamente no se menciona esta paradoja. A pesar de que, a pesar de su simplicidad, la idea es muy interesante.
En 2004, cuando Python era algo inusual, no convencional, salió un artículo de Paul Graham en el que compartía su observación empírica: los programadores de Python, a quienes conoce, son mucho más inteligentes que los programadores de Java.
Más tarde, Paul explicó que no quería decir que los programadores de Java fueran tontos. Simplemente enfatizó que las personas que escriben en Python (entonces un lenguaje poco conocido) son geeks que programan por diversión; son personas de mente abierta que ven los defectos de algunos idiomas y la dignidad de otros.
Es importante enfatizar que Java era un lenguaje común, pero Python no lo era, de eso se trata. Era imposible encontrar un trabajo en Python, escribieron solo porque le gustaba como idioma, como un pasatiempo.
Transfiriendo esta situación a las realidades de hoy, se podría decir que el programador promedio Rust o Elixir, en promedio, pensará mejor que el programador Java o PHP "puro" promedio.
Por lo tanto, Paul Graham saca dos conclusiones, paradojas
Conclusión de Paul para los negocios
Si una compañía elige un lenguaje relativamente esotérico para un nuevo proyecto, entonces aquellos a quienes contrate serán excelentes programadores, porque hicieron un gran trabajo aprendiendo el idioma, y lo hicieron por placer. Y estarán interesados en trabajar.
La conclusión de Paul al programador
El idioma que necesita aprender para obtener un buen trabajo interesante es el idioma que las personas aprenden no solo para conseguir un trabajo.
Un par más de mis hallazgos.
- Como dice el refrán, uno no puede simplemente tomar y regresar 2004. Ahora todo ha cambiado, se ha vuelto algo más fácil. Por ejemplo, la arquitectura de microservicios le permite utilizar el zoológico de lenguajes y tecnologías, y así atraer programadores motivados en lenguajes esotéricos que estarán encantados de trabajar durante días e incluso noches, resolviendo con alegría los problemas que se interpongan en su camino.
- No es necesario dividir todo en blanco y negro. Un enfoque mixto también es posible. Si el proyecto ya se ha escrito en Java condicional, y es necesario contratar a Javists, entonces definitivamente debe preguntar en la entrevista en qué idiomas escribió la persona. Si tiene proyectos o misiones de extracción en idiomas en el github que no se pueden encontrar correctamente para el trabajo , entonces este es un FAT plus
- Cuando un idioma solo lanza una versión estable, los profesionales motivados escriben en él. Pero con el tiempo, debido a la creciente popularidad, toda la gente caerá allí y aparecerá un montón de govnokoda. Es especialmente interesante observar el lenguaje Go: un lenguaje con un umbral bastante bajo (la sintaxis es muy simple), mientras que se ha vuelto muy popular y altamente pagado. Ahora, creo, la calidad media caerá dramáticamente