Come vengono intervistati i programmatori di Scala? Quali sono gli aspetti che l'intervistatore cerca quando intervista uno sviluppatore di Scala?
Come vengono intervistati i programmatori di Scala? Quali sono gli aspetti che l'intervistatore cerca quando intervista uno sviluppatore di Scala?
In primo luogo, direi, pensa perché hai bisogno di uno sviluppatore Scala. E 'davvero Scala di cui hai bisogno? Pensa a ciò che arriva con Scala (IDE, strumenti di costruzione, librerie, un altro livello di complessità sopra Java ecc ...). Torna alla domanda. Funziona in due aspetti: comprensione teorica e abilità pratiche. non lasciare che la "teoria" ti inganni. È importante in Scala quanto la praticità sia importante in Java.
Verifica se possono refactoring un snippet di codice imperativo in una buona alternativa funzionale (vedi sopra). Prova un ciclo che implementa qualche matematica o qualcosa del genere.
Trova il loro gusto per lo stile funzionale vs imperativo. Scegli uno stile più funzionale, ma fai attenzione a non arrivare agli estremi dal lato dello sviluppatore.
Scopri quanto sanno sulle librerie Scala (ad esempio Lift, dispatch ecc.) e strumenti (ad esempio SBT, fsc, IDEA).
Scopri quanto possono sfruttare Java (code -and-tools). Scala è strettamente accoppiato a Java specialmente in ambienti più seri. Sapere questo è un grande vantaggio.
Verifica se sono collegati alla community. Chiedi loro di Martin Odersky e David Pollak. Chiedigli di nominare alcuni progetti Scala e di descriverli (Facebook, Twitter, FourSquare, DBPedia e DBPedia SpotLight). Vedi se sanno come esattamente Scala viene usato in questi progetti. Hanno letto gli articoli, visto i video, ecc.?
Chiedi loro dei libri (ce ne sono solo alcuni). Più ne sanno e meglio è.
Come ultima parola di cautela, posso dire che le lingue brillanti hanno questo strano potenziale per attirare le persone sbagliate. Fai attenzione al tipo che arriva a Scala per tutte le ragioni sbagliate. Eccone alcuni:
P.S: Se hai trovato un buon Joe, per favore, fammi sapere come ne abbiamo bisogno;)
In un'intervista nel mondo reale, semplicemente sapere che Scala è la metà della battaglia vinta. Assumere un buon programmatore è sempre difficile, indipendentemente dalla lingua!
I programmatori di Scala tendono a venire nella lingua perché erano già in cima al loro gioco in Java e volevano "portarlo al livello successivo".
Se disponi di un vasto numero di sviluppatori di Scala disponibili per un colloquio, considera di essere fortunato. In caso contrario, le domande più rilevanti potrebbero essere "Quali aspetti dovrei cercare in un programmatore che mi allenerò per utilizzare Scala?" E "Quali aziende sono attualmente in grado di fornire servizi di formazione?"
Mi piace vedere le soluzioni a piccoli problemi come questo: Creare un istogramma dei risultati del lancio di due dadi a sei facce 200 volte.
Vedi i commenti qui per alcune risposte interessanti: link
Qualcuno con una soluzione come quella di Daniel Sobral, o quella di Kevin Wright: link varrebbe la pena dare un'occhiata più da vicino.
Se la risposta è simile al codice Java, allora il candidato potrebbe non essere abbastanza avanti.
Mi piacerebbe anche vedere che la persona è connessa alla comunità di Scala: conosce i libri, gli autori, gli sviluppatori open source, i gruppi di utenti, le persone interessanti.
Non ho mai fatto alcuna assunzione di Scala, ma cercherò di capire come funzionano gli impliciti, il tipo di modello di classe e le basi della programmazione funzionale.