Soy un contratista independiente y, como tal, me 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 todas las organizaciones. Dicho esto, mi promedio de bateo es más bajo de lo normal, por lo que cortésmente le pregunté a mi último entrevistador por una respuesta constructiva, ¡y cumplió!
Lo principal, según el entrevistador, era que parecía inclinarme demasiado hacia el uso de abstracciones (como LINQ) en lugar de los algoritmos de crecimiento orgánico de bajo nivel.
En la superficie, esto tiene sentido, de hecho, también hizo que los otros rechazos tuvieran sentido porque también hablé sobre LINQ en esas entrevistas y no parecía que los entrevistadores supieran mucho sobre LINQ (aunque eran chicos de .NET).
Así que ahora me quedo con esta pregunta: si se supone que estamos "parados en hombros de gigantes" y usando abstracciones que están disponibles para nosotros (como LINQ), entonces ¿por qué ¿La gente lo considera tan tabú? ¿No tiene sentido sacar el código "de la estantería" si logra los mismos objetivos sin costo adicional?
Me parece que LINQ, incluso si es una abstracción, es simplemente una abstracción de todos los algoritmos iguales que se escribirían 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 cumple 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 de 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.
ACTUALIZACIÓN
Como señaló Euphoric, no hay nada comparable a LINQ en el Mundo Java. Entonces, si estás desarrollando en la pila de .NET, ¿por qué no siempre intentas usarlo? ¿Es posible que la gente simplemente no entienda lo que hace?