Pomimo twierdzeń Joela zawartych w tym artykule - i sam przyznaje rację - wiele tematów, które mogą zostać pominięte przez „JavaSchool”, nie jest koniecznych w przypadku wielu zadań.
Wziąłem udział w czymś, co, jak sądzę, przypomina JavaSchool , ponieważ spędzamy większość czasu koncentrując się na językach wysokiego poziomu, takich jak C # i Java, ale to nie zmienia faktu, że „Algorytmy i struktury danych” nadal są częścią wymaganej listy klas - nie wspominając o wszystkich innych klasach zorientowanych na teorię. Oczywiście nie wszystkie „JavaSchools” są takie same, ale nie o to chodzi.
Moim zdaniem ważniejsze niż zrozumienie niektórych trudniejszych tematów rozwojowych jest umiejętność skutecznego rozwiązywania problemów, gdy pojawiają się wyjątkowe wyzwania. Jako inżynierowie oprogramowania uczymy się w pracy w zdecydowanej większości i jako takie, dwa z największych aspektów naszego opisu pracy są w stanie rozwiązać problemy i wychwycić nieznane pojęcia. Jeśli podczas wywiadu nie można podjąć dostrzegalnej i logicznej próby rozwiązania problemu, który jest dla nich nowy, wówczas ich niekompatybilność z danym stanowiskiem prawdopodobnie się ujawni.
Oczywiście, zatrudniając kogoś na stanowisko, które wymaga stałej ekspozycji i korzystania z jakiegoś skomplikowanego tematu, który może zostać pominięty przez JavaSchool, często logicznym wyborem jest pójście z kimś, kto ma wcześniejsze zrozumienie, ale brak doświadczenia nie powinien zawsze wykluczają uprawnienia do pracy .
Bardziej prawdopodobne jest, że 50-letni facet w Javie w Twojej firmie, który istnieje tam od tak dawna, jak ktokolwiek pamięta, nie rozumiał języka Java, dopóki jego praca (obecna lub poprzednia) nie poprosiła go o naukę - i zrobił to. Ściśle mówiąc, złym zwyczajem jest zwalnianie „starego faceta”, aby młodszy i bardziej „aktualny” kandydat mógł zająć jego miejsce; Biorąc to pod uwagę, jeśli opis stanowiska dla któregokolwiek pracownika młodego lub starego zmienia się, obowiązkiem tego pracownika jest złapanie lub znalezienie nowej pracy. To, że dana osoba (zwłaszcza programista z przeszłym doświadczeniem) nie rozumie jakiegoś pojęcia, nie oznacza, że nie chce lub nie jest w stanie się go nauczyć. W rzeczywistości, jeśli nie chcą się uczyć, prawdopodobnie nie należą do żadnej pracy - a tym bardziej do twojej.
Można śmiało powiedzieć, że niektóre „JavaSchools” są lepsze od innych i fakt ten należy z pewnością wziąć pod uwagę przy wyborze kandydata na stanowisko, ale istnieją o wiele ważniejsze cechy osobiste niż tylko to, gdzie ktoś poszedł do szkoły.
Naszą umiejętnością jest rozwiązanie problemu i znalezienie rozwiązania, które określa nas jako inżynierów, większość wszystkiego innego ma drugorzędne znaczenie.