Come assumere un buon sviluppatore C # se non conosco C #? [chiuso]


15

Sono uno sviluppatore C ++. So come funziona Windows a livello nativo, ma non sono un grande esperto di C # e .NET. Ora ho bisogno di uno sviluppatore C # nel mio team (tutti i miei sviluppatori sono C ++). Come posso assumere un grande sviluppatore C # se non conosco C # a buon livello? Come porre domande, come verificare se le risposte sono fantastiche o sono con errori sciocchi?


5
Dove pubblichi l'apertura del lavoro? ;)
Estratto

Ecco almeno una buona serie di domande (probabilmente dovresti capire in anticipo le risposte - ovviamente) Link
Doug Stanley

11
Sembra che tu sia in grado di assumere buoni sviluppatori C ++. Aggiungine un'altra alla tua squadra e dì "Indovina cosa?" :)
JeffO,

7
Assumi solo un buon programmatore.
Marcelo,

2
@Job Oppure, sai, compra il libro.
Kaleb Brasee,

Risposte:


3

Occasionalmente mi trovo di fronte al problema di intervistare programmatori che hanno esperienza principalmente in C ++, che non conosco bene come loro. La mia strategia è di:

  1. principalmente porre domande di programmazione generali, algoritmi, progettazione OO, come refactoring, cosa rende un buon test unitario, ecc. Aggiungo alcune domande generali mirate allo stile del linguaggio, quindi per C ++ potrei chiedere informazioni sulla gestione della memoria e sulla durata degli oggetti per C # Potrei chiedere cose del genere, puoi avere una perdita di memoria quando si utilizza un Garbage Collector?

  2. prova a scoprire come hanno imparato la lingua, quali libri hanno letto, ecc.

  3. verificare di aver scritto una quantità sostanziale di C ++. Approfondisci quando l'hanno usato, quanto, cosa hanno fatto con esso e per chi. Quindi prova a controllarlo il più possibile usando i loro riferimenti.

Se riescono a rispondere bene alle difficili domande di progettazione e teoria e hanno scritto una discreta quantità di C ++, allora mi aspetto che saranno almeno per metà buoni e probabilmente in grado di apprendere abbastanza rapidamente qualsiasi cosa mancante.


20

Il vero test per tutti i programmatori è quanto bene risolvono i problemi. Un risolutore di problemi di prim'ordine con solo abilità C # mediocri sarà molto più prezioso per te di un dio C # (dess) che non riesce a capire come gestire l'input del modulo.

Prova a trovare un problema reale ragionevole dal tuo dominio aziendale e lascialo risolvere in C #. Conosci il dominio e sai quale dovrebbe essere il risultato. Puoi rivedere tu stesso la logica e porre domande poiché il flusso e i comandi di base in C # non sono significativamente diversi da C ++.

Se sei ancora preoccupato, invia il suo codice finito a uno dei tuoi amici di C # o forse a un partner commerciale e chiedi loro se possono esaminarlo e fornire feedback.


5
+1 per tutti tranne la parte di revisione del codice. Come fai a sapere che il tuo amico C # non intende semplicemente indicare le sue preferenze personali e scegliere qualcuno in modo arbitrario. Vai con il tuo intestino. L'intelligenza è tutto, e l'esperienza è più difficile da valutare e schermare dell'intelligenza. Assumi persone intelligenti che riescano a fare le cose. (Regola di Joel.)
Warren P

Stavo supponendo che ci fosse già un certo livello di fiducia già stabilito con la persona a cui sarebbe stato chiesto di rivedere il codice, ma hai un punto valido
Dave Wise,

2

Presumo che tu abbia effettivamente bisogno dello sviluppatore C #.

Prima di tutto, cerca di capire quale tipo di attività è necessario per svolgere.

Quindi chiedi loro come avrebbero svolto tali compiti. Chiedi come hanno completato attività come questa in precedenza.

Durante il colloquio, chiedi agli altri candidati di valutare le soluzioni proposte. Suggerirei di seminare le soluzioni con una che sai non funzionerà, e forse una che ritieni sia buona. Questo servirà a determinare come il candidato può lavorare con il tuo team. I controlli dovrebbero aiutare a eliminare gli uomini sì e gli Assassini Idea .

Ciò dovrebbe fornire a un buon gruppo di candidati idee che sono accettate dai loro colleghi e dovrebbero avere la capacità di lavorare con la tua squadra.


1
Da queste parti, le persone che non riescono a vedere cosa c'è che non va in un'idea sono turisti, non ingegneri. :-) Credo nel potere del pensiero positivo E negativo. L'articolo che hai collegato come Idea Assasins sembra che sia stato scritto da una persona amara che non può difendere le proprie idee deboli in una discussione costruttiva costruttiva e che diventa politico ed emotivo quando ha la propria conoscenza dei fatti e la capacità limitata di fare scienze scientifiche loro.
Warren P

Ci sono persone che resisteranno a qualsiasi cambiamento o idea che non proviene da loro. Quelli sono gli assassini di idee. Non sto parlando di persone che possono vedere problemi reali solo quelli che sono tossici per un ambiente. Le persone che invece di vedere come potrebbe funzionare guardano solo come falliranno.
SoylentGray,

2

fai l'intervista mentre stavi frequentando uno sviluppatore C ++. non concentrarsi troppo sulle tecniche C ++, ma piuttosto sulla risoluzione dei problemi, OOP e la programmazione in generale. Se lo assumessi come sviluppatore C ++ che vuole fare C #, allora sarebbe un buon assunto.


0

Essendo io stesso lo sviluppatore .Net e avendo a che fare molto con i ragazzi del C ++, penso che vorresti ancora scoprire se una persona conosce almeno qualcosa sulla piattaforma .Net: garbage collection, GAC, JIT, NGEN, Value vs. Reference type, scopo di IDispose, ecc. Un buon elenco di domande è disponibile sul blog di Scott Hanselman . Non esiste un modo semplice per capire se le risposte sono giuste se non capisci tu stesso le domande, quindi potrebbe avere senso dare un'occhiata alla panoramica .Net su MSDN o prendere qualche buon libro, come Essential C # 4.0.

Se stai cercando un programmatore della GUI, è molto utile chiedere di implementare qualcosa di semplice, come calcolatrice o Mars rover o altro. Va bene dare un giorno o due per questo. Vedrai subito se la GUI è utile e piacevole, ad esempio, come si comporta quando viene ridimensionata.


-1

Inizia controllando le loro risposte alle domande C # su SO ..

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.