Niedawno ankieter zadawał tego typu pytanie, więc wyjaśniłem, jak postrzegam system ocen jako system wykładniczy, a nie skalę liniową.
Szczyt skali „10” to twórcy, którzy napisali język, bibliotekę lub technologię. „9” to ktoś z mniej więcej absolutnym opanowaniem tej technologii, na przykład ktoś z ponad 20-letnim doświadczeniem i zajmujący się „wszystkim”.
„8” to ktoś, kto jest co najmniej starszym stanowisko z dużym doświadczeniem, prawdopodobnie sporą ilością formalnego szkolenia i pracuje nad tym w swoim czasie. „7” oznaczałoby programistę na średnim i wysokim poziomie, który zajmował się dość szerokim zakresem problemów przez kilka lat.
„6” oznaczałoby przejście do poziomu programisty na poziomie Junior, być może od razu z college'u, który dość dużo rozumie, ale tak naprawdę nie zrobił nic profesjonalnie.
Poniżej omawiamy bardziej podstawowe rozumienie części języków itp. Czy osoba rozumie pojęcia pętli, kolekcji , obiekty, interfejsy API itp.? Całkowicie początkujący (bez żadnej odpowiedniej lub pokrewnej wiedzy) byłby w rzeczywistości zerowym i powinien być w stanie przejść do około „3” w ciągu roku, a kolejne 2-3 lata to „5” lub „6”. Ktoś, kto korzysta z podobnej technologii, może zostać „6” w ciągu miesiąca i „8” w ciągu roku lub mniej, na przykład gdyby przełączył się między Javą a C # plus miał poziom „8” w języku uzupełniającym.
Widać więc, że mój pogląd jest zupełnie inny niż to, co widzą inni na skali. Postrzegałbym siebie jako „7” w mojej obecnej roli, ale rozmawiałem z niektórymi ludźmi, którzy pomyśleliby, że jestem „9”, a inni pomyśleliby, że jestem „5” ze względu na względną skalę porównując mnie ze sobą.
Ponieważ jest to tak subiektywne, definicja skali różni się tak bardzo, a masz efekt Dunninga-Krugera (jak wspomniano w innej odpowiedzi), nigdy nie uzyskam dobrej odpowiedzi na tego typu pytanie.
Naprawdę musisz zadawać pytania o to, jakie rzeczy zrobili wcześniej i jak rozwiązali problemy. Następnie zapytaj, dlaczego nie wybrali innej metody.
Ty: Więc rozwiązałeś ten problem, używając tablicy, ale dlaczego nie listy?
Oni: Co to jest lista? {Na pewno nie 7-8, o których mówili.}
Oni: Cóż, nie potrzebowałem wszystkich dodatkowych metod i funkcji, które wymagałyby dodatkowej pamięci i mocy obliczeniowej. Potrzebowałem tylko czegoś prostego do łatwego wyciągania fragmentów danych. {Prawdopodobnie 7-8, o których mówili.}
To nadal jest subiektywne, ale teraz to Ty jesteś subiektywny, a nie kandydat. Dopóki możesz kontrolować sposób oceny rzeczy, będziesz mieć lepszy sposób na poznanie tego, co naprawdę chcesz wiedzieć. Jasne, ktoś może być w stanie zbudować szybkie sortowanie z pamięci, ale czy może zbudować złożoną strukturę danych i wykonać iterację szybkiego sortowania po ich kolekcji?
Może nie potrzebujesz „8” i są skłonni wyszkolić „6”. Sprowadza się to do zrozumienia własnych potrzeb i pragnień oraz znalezienia odpowiedniego kandydata, a także dostosowania pytań do tych potrzeb. Standardowy test do tego nie zadziała. „9” może przez to przejść i uznać to za stratę czasu, podczas gdy „6” walczy i poddaje się. To samo dotyczy standardowego wywiadu. Jeśli „9” nie jest kwestionowane w pytaniach podczas rozmowy kwalifikacyjnej, mogą uważać, że nie warto go zatrudniać, ponieważ praca nie będzie dla nich wyzwaniem. „Szóstka”, która ma trudności z udzieleniem odpowiedzi podczas rozmowy kwalifikacyjnej, może również tam poddać się, ponieważ myśli, że praca będzie wyglądać tak samo. Niewiele osób chce mieć pracę, w której są wykorzystywani tylko do 50% ich wysiłku i wiedzy. Ludzie nie chcą też poświęcać 120% swojego czasu, energii i możliwości umysłowych na uczenie się nowych rzeczy do pracy.
Mówię więc, że rozmowa kwalifikacyjna musi być skierowana do kandydata, a nie tylko, że masz listę pytań, które zadajesz wszystkim. Możesz mieć listę, ale nie zadawaj automatycznie każdego pytania każdej osobie. Wygląda na to, że już to masz, więc zatrzymam się tutaj, ponieważ i tak myślę, że to odbiega od twojego pierwotnego pytania.