Sono un appaltatore indipendente e, come tale, intervisto 3-4 volte all'anno per nuovi concerti. Sono nel bel mezzo di quel ciclo e sono stato rifiutato per un'opportunità, anche se ho sentito che l'intervista è andata bene. La stessa cosa mi è successa un paio di volte quest'anno.
Ora, non sono un ragazzo perfetto e non mi aspetto di essere adatto per ogni organizzazione. Detto questo, la mia media in battuta è inferiore al solito, quindi ho cortesemente chiesto al mio ultimo intervistatore un feedback costruttivo e mi ha dato!
La cosa principale, secondo l'intervistatore, era che mi sembrava troppo incline all'utilizzo delle astrazioni (come LINQ) piuttosto che agli algoritmi di livello inferiore, coltivati biologicamente.
In apparenza, questo ha un senso - in effetti, ha anche avuto senso anche gli altri rifiuti, perché ho parlato di LINQ anche in quelle interviste e non sembrava che gli intervistatori sapessero molto di LINQ (anche se erano .NET ragazzi).
Quindi ora mi rimane questa domanda: se dovremmo essere "in piedi sulle spalle dei giganti" e usare le astrazioni a nostra disposizione (come LINQ), allora perché alcune persone lo considerano così tabù? Non ha senso estrarre il codice "dallo scaffale" se raggiunge gli stessi obiettivi senza costi aggiuntivi?
Mi sembra che LINQ, anche se è un'astrazione, è semplicemente un'astrazione di tutti gli stessi algoritmi che uno scriverà per ottenere esattamente lo stesso fine. Solo un test delle prestazioni potrebbe dirti se il tuo approccio personalizzato era migliore, ma se qualcosa come LINQ ha soddisfatto i requisiti, perché preoccuparsi di scrivere le tue classi in primo luogo?
Non intendo concentrarmi su LINQ qui. Sono sicuro che il mondo JAVA ha qualcosa di paragonabile, vorrei solo sapere perché alcune persone si sentono così a disagio con l'idea di usare un'astrazione che loro stessi non hanno scritto.
AGGIORNARE
Come ha sottolineato Euphoric, non c'è nulla di paragonabile a LINQ nel mondo Java. Quindi, se si sta sviluppando nello stack .NET, perché non provare sempre a utilizzarlo? È possibile che le persone non capiscano completamente cosa fa?
objectCollection.Where(oc=>oc.price > 100)
per esempio. Non sarebbe un uso di un'astrazione? Forse puoi dirmi cosa mi sto perdendo qui. . .