Jak mogę zrekompensować sobie przejście do JavaSchool? [Zamknięte]


18

We wcześniejszym pytaniu poprosiłem o radę zawodową dla nowych inżynierów oprogramowania, którzy dobrze sobie radzili przed i podczas studiów. Ale co z ludźmi, którzy nie mieli szczęścia udać się na MIT lub Yale, z jakiegokolwiek powodu? Co jeśli poszedłbyś do tego, co Joel Spolsky nazywa JavaSchool ?

Co mogą / powinni zrobić absolwenci JavaSchool, aby rozwinąć swoje umiejętności i nadrobić zaległości w college'u? (Lub, czy Joel mylił się co do tego, że szkoły są niekorzystne?)



4
„Nie pozwól, aby kształcenie przeszkadzało twojej edukacji” - Mark Twain
BlackJack

Odpowiedzi:


12

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.


+1 „Naszą umiejętnością jest rozwiązać problem i znaleźć rozwiązanie, które określa nas jako inżynierów, większość wszystkiego jest drugorzędna”.
Bill

Uczęszczałem do szkoły, do której rzadko podchodzono do języków programowania (mieliśmy podstawy C / C ++ / Java, niestety nie ma języka funkcjonalnego), i tylko poznajemy teorię CS. Z drugiej strony rozmawialiśmy o bazach danych, eksploracji danych, sieciach telefonicznych / mobilnych / internetowych, interfejsie człowiek-maszyna itp. Nauczyliśmy się raczej niż dogłębnie. Nie sądzę, żeby była to zła okazja :)
Matthieu M.,

1

Dlaczego nie przejrzeć podręcznika, który wprowadza programowanie inaczej niż nauczyłeś się tego? Na przykład istnieje kilka dobrych, bezpłatnych książek, które wykorzystują paradygmat funkcjonalny. Jak projektować programy jest bardzo przystępna. Klasyczna struktura i interpretacja programów komputerowych (http://mitpress.mit.edu/sicp/) jest mniej podobna, ale zapewnia głębokie poczucie oświecenia.

Gorąco polecam obejrzenie pierwszych kilku wykładów SICP Abelsona z innej perspektywy na to, czym jest informatyka. Są starsze, ale bardzo dobrze się postarzały (http://video.google.com/videoplay?docid=5546836985338782440#).


1

Czuję twój ból, gdy poszedłem też do JavaSchool. Mój jest właściwie dość wysoko oceniany w Wielkiej Brytanii, mimo że studenci w moim roku nie dostali ani jednej klasy struktur danych. Miałem szczęście, że mogłem wybrać DSA jako kurs opcjonalny z powodu błędów administracyjnych w moim kursie, ale to kolejna wstrząsająca historia ...

Z mojego doświadczenia wynika, że ​​w JavaSchool doświadczysz czegoś, czego nie doświadczysz na najlepszych uniwersytetach, a to jest student, który chce udowodnić swoją wartość . Podobnie jak na każdym innym starożytnym lub z czerwonej cegły uniwersytecie w moim kraju mieliśmy typowych zwolenników i przyzwoitych wykonawców, ale istniała niewielka grupa studentów, którzy byli świadomi swojego otoczenia i tego, czego im brakowało w edukacji. Nieuchronnie ci ludzie niekoniecznie spisali się znakomicie na swoim kursie, ale opuścili uniwersytet wiedząc więcej niż wszyscy inni. Stawiliśmy się w tym, co zabierałyby nas firmy produkujące oprogramowanie podczas przerw, które wybieraliśmy, wybieraliśmy języki, których nigdy nie mieliśmy się uczyć, i studiowaliśmy tematy, których inni unikali, ponieważ byli trudni.

Od moich przyjaciół, dwoje z nas kontynuuje nasze studia do poziomu magisterskiego, podnosząc wszystkie zaawansowane kursy, na których czuliśmy, że całkowicie straciliśmy fundament, a jeden facet ma nadzieję, że jego niedawny wywiad w Microsoft zapewni pełne praca na czas. Niedługo zacznę studia magisterskie, przede wszystkim w celu uzupełnienia braków w mojej edukacji i spędzenia jeszcze jednego roku na rozwijaniu umiejętności potrzebnych do maksymalizacji mojego potencjału w tej branży.

W prawdziwym świecie ludzie zawsze będą wykazywać te uprzedzenia i najczęściej są całkowicie oparte na prawdzie. Jeśli uważasz, że Twoja szkoła jest nieodpowiednia, powiedz im i skorzystaj z takich stron, aby podnieść poziom edukacji.


0

Cóż, możesz dostać oprogramowanie do pisania pracy w Javie. Tak długo, jak jesteś dobry w tym, co robisz, szkoła, do której chodziłeś i / lub twoja główna szkoła nie jest strasznie ważna po pierwszej pracy, jeśli nawet wtedy .


0

Najlepszą rzeczą, jaką mogę wymyślić, jest (ponowne) nauczenie się programowania w zupełnie innym paradygmacie, aby uwolnić się od zorientowanego obiektowo sposobu myślenia.

Sugerowałbym co najmniej:

  • Język asemblera , aby naprawdę docenić działanie maszyny
  • Haskell , za bardzo czysty pogląd na programowanie funkcjonalne
  • Lisp , dla nieczystego programowania funkcjonalnego i metaprogramowania (Clojure byłby moim pierwszym wyborem, ale Scheme lub Common Lisp są również świetne)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.