Rozumiem, że do pomiaru projektu lub kodu możemy użyć testu Joela , ale czy istnieje jakiś prosty standardowy test (taki jak test Joela), który jest w stanie zmierzyć i odfiltrować, jak dobry jest programista?
Moim planem jest, aby najpierw przeprowadzić ten test jako szybki filtr przed przejściem do bardziej szczegółowego testu.
Odpowiedzi:
Istnieje matryca kompetencji programisty .
Podobnie jak w przypadku testu Joela jest to tylko niejasny przewodnik. Jedynym sposobem na prawidłową ocenę programisty jest zapytanie dobrych programistów, którzy z nimi pracowali.
źródło
Odwróciłbym test Joela:
Czy użyli kontroli źródła?
Czy wiedzą, jak zautomatyzować kompilację w jednym kroku?
...
Jedyne, co nie wydaje się szczególnie odpowiednie, to pytanie testerów. Inne, które wydają się nieco wyłączone, zmieniają się w ten sposób, w jaki sposób sobie z tym poradziliśmy, w jaki sposób poradziłeś sobie w poprzednich rodzajach pytań (W ten sposób radzimy sobie z aktualizowaniem naszego harmonogramu, jak radziłeś sobie z harmonogramem w przeszłości?) .
edytować:
Zasadniczo nie dostajesz rzeczy w teście Joela za darmo, musisz zatrudnić ludzi, którzy mogą to zrobić. Chcesz ustalić ich zdolność do tego, aby tak się stało.
źródło
Test Joela jest po prostu nieformalnym sprawdzeniem poziomu podstawowego, aby szybko ocenić, czy miejsce ma dobre warunki pracy dla programistów. Nawet jeśli zdobędzie doskonałą 10, nadal może być piekłem, który zbankrutuje sześć miesięcy później. Niski wynik wskazuje na coś, co nie jest do końca właściwe, i stanowi doskonałe pytanie podczas rozmowy kwalifikacyjnej („Nie korzystasz obecnie z kontroli źródła; czy są jakieś plany, aby to zrobić w przyszłości?”), A odpowiedzi mogą być takie, że zaakceptowałbyś tę pracę pomimo niskiej oceny Joela.
Test Joela również nie jest testem „standardowym”; to tylko lista kontrolna, którą Joel Spolsky opublikował na swoim blogu.
Jeśli chodzi o „pomiar”, idzie o jakość programisty; niestety, naprawdę ważne umiejętności i cechy dobrego programisty są trudne lub niemożliwe do oszacowania, więc nie można zastąpić dokładnej oceny przez człowieka. Za pomocą bardzo prostego zadania programistycznego można jednak łatwo wyeliminować całkowicie nieświadomych kandydatów - najlepiej coś, co wiąże się z rekurencją, strukturami drzewa lub wskaźnikami (programista, który tego nie „dostanie”, raczej nie będzie przydatny). Dla tych, którzy przejdą ten test, będziesz musiał ręcznie ocenić umiejętności: przeczytaj napisany przez siebie kod, przetestuj napisane aplikacje, powierz im więcej zadań programistycznych (zarówno projektowych, jak i wdrożeniowych), obejrzyj, jak działają, porozmawiaj z nimi, sprawdź, czy może zainicjować profesjonalną dyskusję. Jeśli szukasz specjalisty / guru języka,
źródło
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
Nawiasem mówiąc, popełniłbyś błąd, przyjmując pracę. W końcu każdy programista dowiaduje się, żePlans to do so in the future
jest to coś, co ankieterzy mówią, aby cię oszukać, ale nigdy nie działają z powodu okropnego zarządzania. Ile razy coś słyszeliśmyOh, we are moving towards Agile...
i okazało się, że jest to kolejny sklep z wodospadem?Tak:
Z mojego doświadczenia wynika, że to jedno pytanie najbardziej wskazuje na to, jak dobry jest programista. Jeśli im się spodoba; jeśli mają pasję do wykonywania zadania, będą w tym dobrzy.
I szczerze mówiąc, wiele zadań od 9 do 5 nie wymaga dużo kodowania . Nie wymagają dużo iteracji przez cykl życia projektowania nowych programów i sprawdzania, jak ten projekt działa / kończy się niepowodzeniem. Bez tej iteracji programiści nie są w stanie zdobyć podstawowych umiejętności projektowania programów.
I nie wymagają dużo nauki. Programiści, którzy po prostu włamują się do rzeczy w domu, będą poszukiwać nowych i interesujących rozwiązań bez ograniczeń wielkiego biznesu.
źródło
Nie jest tak szczegółowy jak Test Joela, ale poproszenie ich o napisanie programu bzyk fizycznego będzie dobrym wskazaniem, czy w ogóle potrafią kodować.
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html i http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- who-grok-coding /
To nie powie ci o dojrzałości inżynieryjnej oprogramowania, ale będzie gorzej.
źródło
Ech, mam skrupulatne sformułowanie na początku. To nie jest „użyłeś X” ani „Czy wiesz o Y”, to kwestia faktycznego używania i działania. Każdy programista, który nie dotknął ani nie usłyszał o elementach testu Joela, jest po prostu odłączony i musi uzyskać wskazówkę. Ale masz rację, sklepy z kodami nie przeszły testu Joela, ponieważ ludzie w sklepach zezwalają na to. Jedyna obrona, jaką widzę, przebiega w stylu „Próbowałem, ale nie miałem autorytetu. A teraz aplikuję tutaj”.
źródło
Tak ale
Tak, ale nie skonfigurowałem go i nie administruję, po prostu go używam.
Nie, to nie moja praca.
Dostaję specyfikację, następnie analizuję ją i tworzę odpowiednie dokumenty.
Nie wiesz, jakie są najlepsze narzędzia, a jeśli uważasz, że tak, zawsze znajdzie się ktoś, kto będzie się kłócił.
Tak. W rzeczywistości tak i nie są zbyt dobre, ale nie było tego w pytaniu.
Tak i zawodzą. Tak i zdają. Co ci to mówi?
Nie, ale co jeśli zrobimy coś lepszego?
Podsumowując:
To nie jest rant, ale byłbym bardzo zainteresowany, aby dowiedzieć się, jakiego rodzaju dewelopera uważasz, że jestem oparty na udzielonych przeze mnie odpowiedziach. Mam nadzieję, że to udowodni mój punkt widzenia.
źródło
How do you know whether I pull changes before pushing?
Cóż, nie wiem, jakiej kontroli źródła używasz, ale przynajmniej w SVN, jeśli spróbujesz zatwierdzić w folderze ze zmianami, których jeszcze nie masz, zatwierdzenie nie powiedzie się, dopóki nie uruchomisz aktualizacji.