Zastrzeżenia (proszę przeczytać przed przejściem do odpowiedzi):
Widziałem wiele pytań podobnych do tego, które chciałbym zadać, więc oto kilka podobnych pytań.
IMHO Nie są ani tym, o co pytam, ani nie są tak dokładne, na jakie mam nadzieję (nie mam zamiaru odpierać odpowiedzi na poniższe pytania, ani nie dyskredytuję pytających, po prostu chcę być trochę dokładniej):
Czy dyplom CS może być korzystny dla starszego programisty?
Czy stopień CS ma znaczenie przy ubieganiu się o stanowiska programistyczne?
Pozwólcie, że wyrażę się jasno, nie pytam:
- Jak nauczyć się programowania od zera (bez dyplomu z CS)
- Jak reklamować się jako dobry programista (bez dyplomu z CS)
- Jak zdobyć świetnie płatną pracę jako programista (bez dyplomu z CS)
Mały kontekst:
Teraz, gdy nie mam już żadnych zastrzeżeń, pozwólcie, że omówię moje pytanie, zaczynając od krótkiej historii mojego doświadczenia jako programisty.
Po pierwsze, miałem niewiarygodne szczęście. Dano mi kilka możliwości pracy (kilka ciężkich projektów PHP / MySQL z zapleczem i kilka aplikacji WP7 w XAML / C #), dzięki którym naprawdę nauczyłem się wszystkiego, co wiem o tworzeniu oprogramowania. Prawie wszystkie zadania związane z programowaniem, które miałem, były tymi, do których nie miałem odpowiednich kwalifikacji (i wyjaśniłem to moim pracodawcom, zanim mnie zatrudnili). Nie chcę przypisywać sobie uznania, gdy nie jest to należne, ale powiedziałbym, że doskonała pokora obala skromność .
W prawie każdej pracy, jaką wykonałem, przekroczyłem oczekiwania mojego pracodawcy i okazałem się cennym atutem. Istnieją oczywiście wyjątki 1 . Ale chodzi mi o to, że jestem dość inteligentny i mogłem nauczyć się tego, co musiałem wiedzieć, aby odnieść sukces w swojej pracy. Z każdą moją pracą byłem coraz bardziej naciągany.
Uczęszczam do kampusu Uniwersytetu Waszyngtońskiego w Seattle, a obecnie jestem na czwartym roku, kiedy pozostały mi dwa lata, pracując na kierunku matematyka. Podczas różnych prac, które miałem (patrz życiorys, jeśli chcesz tę listę) uczęszczałem również do szkoły jako student na pełen etat.
Jak myślę, że większość programistów zgodzi, studiując typowe ed ogóle licencjackich, w tym wprowadzających programowych kursów absolutnie blednie w porównaniu z pisania prawdziwy kod, budując prawdziwe 2 produkty, współpracując z wspaniałych ludzi i pozytywnie wpływając na życie użytkowników 3 .
Więc ... w miarę upływu czasu ... spędziłem znacznie więcej czasu i energii, pracując zamiast skupiać się na studiach. Czasami występowałem bardzo okropnie , ale w większości byłem w stanie utrzymać się na powierzchni z moimi ocenami.
Jednak program informatyczny na UW jest bardzo , bardzo , bardzo , bardzo konkurencyjny.
Nic więc dziwnego, że zostałem odrzucony przez program. Dwa razy. Jak na ironię, w tym samym półgodzinnym oknie, w którym otrzymałem zawsze uprzejme, choć rozczarowujące powiadomienie o odrzuceniu za pośrednictwem e-maila, dostałem telefon od Amazon oferujący mi letni staż 4 jako SDE.
Kiedy patrzę na innych mężczyzn w moim wieku (21), którzy mają takie same cele jak ja w rozwoju oprogramowania, czuję się całkiem dobrze z tym, gdzie jestem, czego się uczę, kim jestem i co Potrafię. Jest oczywiście o wiele, wiele, znacznie więcej genialnych 21-latków niż ja, nie chcę powiedzieć, że wyróżniam się w tłumie, po prostu czuję, że nie jestem beznadziejnie za postępem mojego przeciętnego rówieśnika .
Jestem przekonany, że mogę odnieść sukces w świecie oprogramowania. Co ważniejsze, czuję się pewny swoich umiejętności i chęci dalszego rozwoju, nauki i krępowania, kiedy naprawdę tego potrzebuję.
Stopień matematyki
Uczę się matematyki wyłącznie w celu uzyskania dyplomu. Są tacy, którzy mówią, że powinienem zrezygnować i zacząć pracę teraz (jak miałem okazję to zrobić), i tacy, którzy mówią, że powinienem naprawdę skończyć studia. Podjąłem decyzję, aby kontynuować studia z zupełnie innych powodów, niż którykolwiek z obozów ma tendencję do poruszania, więc proszę nie zachęcaj mnie w ten czy inny sposób. Rozważ problem „zamknięty” :)
* GŁĘBOKIE ODDECH * ... przepraszam, że jest dłuższy niż się spodziewałem
To w istocie moje pytanie:
- Jak obiektywnie określić, jakie obszary studiów, wiedzę ogólną i inne umiejętności zdobyłbym dzięki dyplomowi CS, którego teraz mogę nie mieć?
Jak posortować te umiejętności w kolejności od najważniejszej?
Jaki jest najlepszy sposób (w ciągu najbliższych dwóch lat), aby uzupełnić moją edukację, aby uzyskać te atrybuty w taki sposób, aby dopasować lub nawet przekroczyć poziom licencjata CS z najlepszego uniwersytetu?
Oto kroki, które już podejmuję:
- Zapytaj społeczność programistów (ten post)
- Kontynuujcie mentoring u doświadczonych programistów, którzy dzielą ze mną podobną ścieżkę kariery
- Zdefiniuj krótko- i długoterminowe cele „uczenia się” oraz kolejne sylaby przedstawiające tematy badań
- Kontynuuj pisanie kodu i pracuj nad projektami, które mnie pasjonują
Jeśli zaszedłeś tak daleko, zasługujesz na ciasteczko :) Doceniam twoją postawę wobec mnie.
Więc ... społeczność programistów, doświadczeni programiści, koledzy, którzy są na tej samej łodzi co ja, jaką radę byś otrzymał?
Ponadto ... proszę pamiętać o moich zastrzeżeniach na górze tego postu dotyczących tego, o co NIE proszę .
Aktualizacja:
Zdaję sobie sprawę, że nie podałem bardzo konkretnych parametrów dla tego, co uważam za udaną „odpowiedź” na moje pytanie (pytania). Myślę, że pytanie jest bardzo niejasne i może uzasadniać wiele „poprawnych” odpowiedzi.
Po rozsądnym czasie wybiorę odpowiedź, która pasuje do następujących atrybutów:
- Wyjaśnia, dlaczego stoi za ich odpowiedzią
- Potrafi mówić z pewnego poziomu doświadczenia (czy to zatrudniania / interakcji lub bycia kimś, kto ma / jest w moich butach)
- Jest zwięzły, ale dokładny, podaje ogólne zasady, najlepiej w połączeniu z konkretnymi przykładami
- Na koniec, biorąc pod uwagę długość, jakiej wydaje się wymagać dopasowanie do powyższego, spraw, aby była to dobrze przekazana odpowiedź, którą można przyjemnie przeczytać. Mam nadzieję, że inni, którzy mogą być tym zainteresowani w przyszłości, zapewnią rozrywkę i edukację dzięki tej odpowiedzi.
Są więc parametry „poprawne”. Wydaje mi się, że są bardzo wysokie, ale zaprojektowałem je jako zarys tego, co według mnie byłoby „najlepszą” odpowiedzią. Oczywiście, mając wystarczająco dużo czasu, jako „odpowiedź” wybiorę najbliższą pasującą odpowiedź.
(1) - Pracowałem nad wcześniejszą wersją tej witryny i chociaż nie mieliśmy wyraźnego rozmawiając o tym, czułem, że w ogóle nie byłem w stanie dobrze (to może być o czym świadczy fakt, że od tego czasu całkowicie zmienili swoją stronę internetową) (2) - Po pierwsze, tak, to prawdziwy produkt (mimo że piszę ten post w Chrome ...) i kopie tyłek. Po drugie, byłem programistą stażystów w testach, napisałem dowód kod koncepcyjny niektórych nowych funkcji dla IE8 ... tak było dawno temu. (3) - W chwili pisania tego posta jestem programistą, który napisał tę aplikację, już nie jestem odpowiedzialny za jego bazę kodu (4) - Mój staż rozpocznie się w czerwcu 2012 roku i będę pracował w sklepie internetowym zespół.