Pełne ujawnienie - jestem starszą osobą, która została przeszkolona w innym przed-internetowym dostępnym w erze pracy. Obserwowałem, jak umiejętności młodszych programistów stale się pogarszają, głównie dlatego, że nie zatrzymują informacji ani nie rozumieją rozwiązania, które wzięli z Internetu. Zauważyłem, że poziom kompetencji, który ktoś miał po 1-2 latach doświadczenia, 20 lat temu, jest teraz poziomem kompetencji, który ktoś ma po 5-7 latach doświadczenia. (Tak, to osobista obserwacja, ale dużo się zatrudniłem, nie mam danych statystycznych na ten temat i tak, czasami jestem stary i zepsuty, weź to oświadczenie z odrobiną soli. I trzymaj się z daleka. )
Wyszukiwanie wszystkiego jest nieefektywne pod względem czasu. Jest to również objaw osoby, która nie ma dużej głębi wiedzy. Ludzie z głęboką wiedzą mogą pisać kod szybciej niż ludzie, którzy nie wiedzą, jak rozwiązać problem bez szukania rzeczy. Warto więc nauczyć się obsługiwać więcej rzeczy bez ciągłego sprawdzania.
Teraz nie mówię, że nigdy nie powinieneś szukać rzeczy, mówię, że powinieneś nauczyć się zachować wiedzę i musisz tylko szukać rzeczy, których używasz rzadko lub gdy napotykasz naprawdę nowy problem, język lub paradygmat. I nie mówię, że nie powinieneś czytać, aby nadążyć za nowymi rozwiązaniami, narzędziami i językami.
Moja prawdziwa troska o programistów, którzy zbyt często szukają rzeczy, że zbyt wielu z nich (niekoniecznie Ty) nigdy nie rozwija umiejętności analitycznych, aby zrozumieć problemy, jakie mają, i potrzebne rozwiązania. Przeczytaj, ile jest pytań, w których osoba umieszcza komunikat o błędzie, którego wyraźnie nie rozumie, ale które powinny być dość jasne dla każdego, kto działa na poziomie zawodowym. Lub te, w których osoba mówi: „to nie działa, dlaczego?” bez odniesienia do komunikatu o błędzie lub sposobu jego działania, a kod jest poprawny pod względem składniowym. Lub ci, którym podano fragment kodu, który powinien działać,
Jeśli więc szukasz rzeczy, które są częścią podstawowej funkcjonalności języka (ów) (BTW powinno to obejmować SQL, jeśli korzystasz z baz danych), którego używasz przez ponad sześć miesięcy, podejrzewam, że też szukasz wiele. Jeśli szukasz zaawansowanych funkcji, zwłaszcza tych, z których możesz rzadko korzystać, masz się dobrze.
Ale jak nauczyć się zachować więcej informacji? Najpierw zrozum, dlaczego kod się zepsuł. Nawet jeśli ktoś da ci działające rozwiązanie, jeśli nie rozumiesz, dlaczego to zadziałało, a twoje nie, to zapytaj. Jeśli nie rozumiesz komunikatu o błędzie, zapytaj, co to znaczy, a następnie spróbuj go rozwiązać samodzielnie.
I nigdy nie wycinaj i wklejaj rozwiązania, którego nie rozumiesz. W rzeczywistości nie należy w ogóle wycinać i wklejać. Jeśli chcesz zachować informacje, musisz je wpisać. Właściwie fizyczne pisanie kodu pomaga go nauczyć. To dobrze znana technika uczenia się.
Ćwicz ogólne rozumienie kodu. Widziałem, jak ludzie zadają podobne pytania w miarę upływu czasu, ponieważ nie rozumieją, że rozwiązanie problemu ABC, które dostali miesiąc temu, jest tym samym rozwiązaniem nowego problemu DEF.
Więc kiedy coś zbadałeś, poświęć trochę czasu na zastanowienie się, jakie rodzaje problemów byłoby dobre do rozwiązania, i napisz sobie notatki na ten temat. Następnie, gdy masz problem do rozwiązania, najpierw sprawdź własne notatki, aby zobaczyć, że zauważyłeś już możliwą technikę. Jeśli ocenisz wiele sposobów rozwiązania problemu, zanotuj rodzaj problemu, możliwe rozwiązania, na które spojrzałeś, a także zalety i wady każdego z nich. Ponownie robienie notatek pomaga utrwalić wiedzę w twoim mózgu, masz już swój własny proces myślowy w kategoriach zalet i wad i nie musisz tego robić ponownie (lub przynajmniej nie tak głęboko, możesz nadal szukają więcej możliwych technik) dla następnego podobnego problemu.
Przy podejmowaniu decyzji, czego się uczyć, przejdź do jednej z głównych technologii, zanim zaczniesz uczyć się kolejnej technologii na pierwsze 30 dni (zakłada to, że masz wystarczającą wiedzę, aby faktycznie wykonywać swoją pracę, jeśli potrzebujesz użyj 6 technologii - najpierw zapoznaj się ze wszystkimi sześcioma, zanim przejdziesz do głębi). Następnie idź tam i z powrotem, ucząc się nowych rzeczy na poziomie podstawowym, ucząc się czegoś bardziej dogłębnie, a następnie ucząc się nowych technologii na poziomie podstawowym. Jeśli zrobisz to z czasem, przekonasz się, że twój podstawowy poziom tego, czego chcesz od nowej technologii, jest znacznie głębszy, ponieważ rozumiesz bardziej zaawansowane pytania, które o to pytasz.
Innym sposobem na naukę zachowania wiedzy jest nauczenie jej kogoś innego. Odpowiadaj na pytania w takich miejscach, przedstawiaj zespołowi tematy szkoleniowe, twórz prezentacje w lokalnych grupach użytkowników, pisz wpisy na blogach i pomagaj w utrzymywaniu wiki informacji w Twojej firmie, aby pomóc innym programistom.