Soy un contratista independiente y, como tal, entrevisto 3-4 veces al año para nuevos conciertos. Ahora estoy en medio de ese ciclo y me rechazaron por una oportunidad, aunque sentí que la entrevista salió bien. Lo mismo me ha pasado un par de veces este año.
Ahora, no soy un chico perfecto y no espero ser una buena opción para cada organización. Dicho esto, mi promedio de bateo es más bajo de lo habitual, por lo que cortésmente le pedí a mi último entrevistador algunos comentarios constructivos, ¡y él respondió!
Según el entrevistador, lo principal era que parecía inclinarme demasiado hacia el uso de abstracciones (como LINQ) en lugar de hacia algoritmos de menor nivel y de crecimiento orgánico.
En la superficie, esto tiene sentido; de hecho, también tiene sentido que los otros rechazos tengan sentido porque también parloteé sobre LINQ en esas entrevistas y no parecía que los entrevistadores supieran mucho sobre LINQ (a pesar de que eran .NET chicos)
Así que ahora me queda esta pregunta: si se supone que debemos estar "parados sobre los hombros de gigantes" y usar abstracciones disponibles para nosotros (como LINQ), ¿por qué algunas personas lo consideran tan tabú? ¿No tiene sentido sacar el código "de la plataforma" si logra los mismos objetivos sin costo adicional?
Me parece que LINQ, incluso si es una abstracción, es simplemente una abstracción de los mismos algoritmos que uno escribiría para lograr exactamente el mismo fin. Solo una prueba de rendimiento podría decirle si su enfoque personalizado fue mejor, pero si algo como LINQ cumplió con los requisitos, ¿por qué molestarse en escribir sus propias clases en primer lugar?
No quiero centrarme en LINQ aquí. Estoy seguro de que el mundo JAVA tiene algo comparable, solo me gustaría saber por qué algunas personas se sienten tan incómodas con la idea de utilizar una abstracción que ellos mismos no escribieron.
ACTUALIZAR
Como señaló Euphoric, no hay nada comparable a LINQ en el mundo Java. Entonces, si está desarrollando en la pila .NET, ¿por qué no siempre intenta usarla? ¿Es posible que las personas simplemente no entiendan completamente lo que hace?
objectCollection.Where(oc=>oc.price > 100)
por ejemplo. ¿No sería eso un uso de una abstracción? Quizás puedas decirme lo que me estoy perdiendo aquí. . .