Odpowiedzi:
Samokształcenie jest nie tylko dobre , ale niezbędne, jeśli chcesz być ponadprzeciętnym programistą.
Jedyną osobą odpowiedzialną za Twój rozwój zawodowy jesteś Ty . Oczywiście formalna edukacja, szkolenia itp. Mogą pomóc, ale ostatecznie to twoja kariera.
Mam szczęście, że mogłem skorzystać z bardzo dobrego wykształcenia i miałem dobrych pracodawców, którzy wsparli moją naukę na różne sposoby. Jednak ogromną większość tego, czego nauczyłem się o programowaniu, podjąłem - czytając dużo i ćwicząc więcej.
Zasadniczo im więcej wiesz, tym więcej samodzielnego uczenia się staje się jedynym skutecznym sposobem uczenia się rzeczy.
Kursy są świetne, gdy zaczynasz jako kick kick, ale potem maleje liczba dni spędzonych w klasie, gdy kurs porusza się w tempie najwolniejszego uczestnika. Gdy zdobędziesz odpowiedni poziom doświadczenia, który prawie nigdy nie będziesz, więc zawsze będziesz tracić czas.
Z drugiej strony samokształcenie pozwala na samodzielne tempo. Jeśli dostaniesz coś szybko, możesz przejrzeć, jeśli nie rozumiesz, wróć i przejrzyj to jeszcze raz. Jeśli uważasz, że temat jest nieistotny, możesz go zignorować.
Czego się nauczyłem? Jeśli chodzi o rzeczy, których nauczyłem się od podstaw: HTML, ASP, VB.NET, JavaScript, LotusScript, trochę Python, trochę Java.
Ale w rzeczywistości prawie wszystko, co przydatne, jest samoukiem w pracy. Możesz nauczyć się podstaw na kursie, ale tam, gdzie naprawdę się uczysz, używa go, więc powiedziałbym, że 95% tego, co wiem (jeśli nie więcej), jest samoukiem.
Z powodzeniem nauczyłem się .NET, C #, ASP.NET i ASP.NET MVC.
To nie tak, że ktoś chciałby mnie ich nauczyć.
Samokształcenie jest podstawą uczenia się programisty. Uniwersytet, koledzy, wszyscy udzielają wskazówek i wskazówek, kiedy ich potrzebujesz, ale nadal musisz nauczyć się większej części na własną rękę. Książki, blogi, artykuły, dokumentacja, eksperymenty w czasie osobistym - tak się uczysz.
Istnieje kilka aspektów samokształcenia, z których pierwszym jest oczywiście samodzielne studia, w których poszukujesz wiedzy i zaczynasz ją wykorzystywać w praktyce. Może to oznaczać kupowanie książek, studiowanie kodu open source, eksperymentowanie do wczesnych godzin porannych lub (zwykle) wszystkie powyższe.
Jednak w pewnym momencie będziesz potrzebować jednego lub kilku mentorów, którzy poprowadzą cię przez ostrzeżenia, trudne tematy, najlepsze praktyki i solidne zasady inżynierii. Wydajny samo uczący się będą szukać tych mentorów dużo prędzej niż później, i uzyskać jego / jej kod z przodu jak wielu doświadczonych ludzi, jak to tylko możliwe.
Nauczyłem się języka BASIC, Pascal, C, PHP, podstawowego zestawu x86 bez wzięcia udziału w zajęciach, ale to nie znaczy, że nie miałem nauczyciela, do którego mógłbym się zwrócić, gdy go potrzebowałem. Biorąc pod uwagę fakt, że wiele się nauczyłem od mentorów, których znalazłem w społeczności wolnego / otwartego oprogramowania. Trudno mi powiedzieć, że nauczyłem się wszystkiego samodzielnie lub samodzielnie .
Ta metoda uczenia się jest jedyną metodą, która działa dla mnie, wykraczając daleko poza naukę programowania.
Myślę, że cały czas uczymy się wraz z pracą.
Nauczyłem się Struts, Spring i wielu innych frameworków Java typu open source, a nawet sam używałem Tomcata, kiedy pracowałem nad projektami Java / JSP. Firma nie zamierzała za to płacić;)
A teraz są to technologie, których używam na co dzień.
Kilka przypadkowych kłótni na ten temat ...
Jak wszyscy inni powiedzieli, będziesz musiał zrobić wiele samokształcenia w miarę rozwoju kariery. Jedną z rzeczy, których tak naprawdę nie widziałem tutaj, jest fakt, że bardzo trudno będzie ci znaleźć pierwszą pracę bez formalnego wykształcenia w pokrewnej dziedzinie, zwłaszcza w recesji. Wiele życiorysów przechodzi przez „biurko filtrujące”, a jeśli nie ma tam nic z pokrewną edukacją, prawdopodobnie zostanie ono pominięte. Możesz piszczyć, jeśli masz dużo powiązanych doświadczeń, ale zależy to od tego, jak dokładnie ktoś czyta twoje CV (co w pierwszej rundzie jest niestety mało prawdopodobne). Nie jest jasne, czy dotyczy to ciebie, ale jestem pewien, że dotyczy to kogoś.
Z (nieco) niepowiązanej nuty, samokształcenie jest świetne, ale czas na to jest jeszcze większy (i rzadziej, jak twierdziłbym). Wszyscy to w jakiś sposób dopasowujemy, ale jeśli masz szansę poświęcić każdego dnia trochę czasu na naukę, złap ją i trzymaj z całej siły.
Delfy Uczyłem się Pascala w szkole średniej i widzę, jak kiedyś IDE, to polub, pobierz kilka samouczków i zacznij się uczyć. A dziś kontynuowanie procesu uczenia się. Kiedy uczysz się sam, są dobre i złe części: 1) samokształcenie jest najlepszą metodą uczenia się, ponieważ naprawdę rozumiesz, co się tam dzieje (dobra część) 2) możesz popełnić poważne błędy, nie rozumiejąc czegoś / zła nawyk, a następnie, jeśli będziesz kontynuować w ten sposób, bardzo trudno to naprawić. (zła część)
pozdrawiam,
Radu
Musisz zdobyć punkt, w którym nie potrzebujesz trzymania ręki. Musisz znaleźć się w punkcie, w którym możesz odebrać książkę, przejrzeć plik pomocy, znaleźć samouczek itp. I nauczyć się zasad, których potrzebujesz do swojej pracy.
BTW, potrzebujesz tego do każdego zadania, nie tylko do programowania. Sposób samodzielnego uczenia się może być inny, ale musisz to zrobić.
Nauczyłem się większości mojej wiedzy na temat C / C ++ na zajęciach, ale wszystkie inne języki programowania, cała moja teoria, całe moje zarządzanie projektami i mnóstwo innych informacji, które sprawiają, że jestem hakerem, którego jestem samoukiem.
Jak powiedzieli inni, samokształcenie w naszej branży jest nie tylko dobre, ale konieczne . Nie jest to jak bycie hydraulikiem lub pieczenie chleba: technologia zawsze ewoluuje i musimy się z nią poruszać lub stać się nieistotni.
Warto zapytać: jakie są tego konsekwencje? Najlepsi hakerzy to nie tylko małpy kodowe wyrzucające kod - poświęcamy czas na naukę dużych zdjęć. Algorytmy, złożoność, projektowanie języka itp. Pozostaną z nami i będą nam dobrze służyć, bez względu na to, jakiego języka używamy lub do czego go używamy. Widziałem tego typu hakerów bez wysiłku przechodzących z jednej części branży technologicznej do zupełnie innej.
Zbyt wielu ludzi uważa, że koncepcje „dużego obrazu” są ponad głowami wszystkich poza naukowcami i zdecydowanie się nie zgadzam. Kiedy poświęcisz czas na ich naukę, przekonasz się, że niektóre są już praktykowane intuicyjnie przez dobrych programistów, a reszta ma sens, gdy się z nimi zapoznasz.
Samokształcenie jest konieczne, chyba że masz hojnego dobroczyńcę gotowego w dalszym ciągu wspierać formalne szkolenia. Musiałem nauczyć się wielu rzeczy na własną rękę poza salą lekcyjną, żeby wymienić niektóre z większych:
ASP i ASP.Net byłyby czymś, czego musiałem się nauczyć w pracy, ponieważ w miejscu, w którym pracowałem, chciałem, aby nowa witryna ponownie je wykorzystywała, dlatego musiałem to odebrać samodzielnie, a nie w klasie.
IIS i MS-SQL Server byłyby kolejną parą rzeczy, o których dowiedziałem się w miarę potrzeb, dlatego powiedziałbym, że sam się tutaj uczyłem. Chociaż miałem współpracowników, którzy mogliby mi pomóc w zadawaniu pytań, jeśli naprawdę utknąłem, po prostu rozwiązywanie problemów było czymś innym na początku mojej kariery.
AJAX byłby czymś, czego kilka lat temu nauczyłem się w pracy nad badaniem frameworków i próbowaniem wprowadzenia go tam, gdzie pracowałem tuż przed uruchomieniem Microsoft ASP.Net AJAX.
Jednocześnie samokształcenie może być niebezpieczne, ponieważ nie wszyscy chcą robić wszystko w ten sposób. Dla niektórych osób mogą chcieć większej struktury i nie być tak niezależni w kierowaniu się poprzez naukę.
@ Kramii ma rację; programiści będą musieli samokształcić się przez całą karierę
P: Czego nauczyłem się samodzielnie?
Nauczanie jest mitem; nauczyciel może udostępnić tylko te informacje, uczeń musi słuchać i decydować się na naukę lub nie, a także na naukę. Nauczyciel może tylko pokazać ci ścieżkę. Innymi słowy, cała edukacja jest zasadniczo samokształceniem
Teraz, jeśli masz na myśli „to, czego nauczyłeś się poza klasą, co było przydatne”, moja odpowiedź brzmiałaby:
ponieważ kiedy byłem w szkole, uniwersytety były ogólnie 12-15 lat w tyle za rynkiem tego, czego nauczały. Na przykład w ciągu dnia uniwersytet „uczył” mnie programowania proceduralnego przy użyciu PL / 1, a wieczorem pisałem w asemblerze zorientowany obiektowo język programowania.
Od tego czasu książki i Google są moimi nauczycielami.
Najwyraźniej wszystkie odpowiedzi są zgodne, że samokształcenie jest wszystkim. Nie sądzę, żeby to było całkowicie właściwe. Dobry nauczyciel może cię wiele nauczyć, a zwłaszcza szybko. Oczywiście w pewnym momencie musisz wziąć sprawy w swoje ręce i rozpocząć badania, czytanie, próby. Nawet książka jest napisana przez kogoś (nauczyciela) i próbuje cię czegoś nauczyć. Ta sama osoba może stać w pokoju i odpowiadać na wszystkie pytania zamiast marnować czas na wyszukiwanie. Z drugiej strony wyszukiwanie i uderzanie głową o ścianę sprawi, że wyciągnięte lekcje będą bardzo cenne i mało prawdopodobne, że zostaną zapomniane.
Uważam, że szczególnie dobry nauczyciel rozpoczynający nowy przedmiot jest bardzo, bardzo, bardzo pomocny. A ci, którzy tak bardzo lubią samokształcenie, powinni się uczyć bez wikipedii, bez nakładania stosów, bez książek i blogów ;-)