Po pierwsze, pomimo tego, jak sformułowane jest twoje pytanie, nie ma końca studiom, szczególnie nie w naszej dziedzinie, gdzie nowe rzeczy pojawiają się szybciej niż można o nich przeczytać. Biorąc to pod uwagę, gdy chcesz poprawić, rozważę następujące kategorie. Aby uzyskać jak najwięcej korzyści / ROI, powinieneś wybrać coś ze swojego najsłabszego obszaru.
Podstawowa wiedza
Pomimo znajomości języków programowania i doświadczenia praktycznego często ma się (szczególnie samouczące się) obszary, w których podstawowe kwestie podstawowe pozostają niekompletne. Pomyśl o takich strukturach danych, algorytmach, strategiach pamięci podręcznej, funkcjach skrótu, ...
Pamiętaj, że obejmuje to również podstawy języków programowania - od kompilatorów, technik optymalizacji i systemów typów, po teorię kategorii, monady i tym podobne.
Jeśli jesteś dobrze nauczany, ponieważ przez kilka lat utrzymywałeś stopień uniwersytecki, prawdopodobnie będziesz już silny w tej kategorii (oczywiście nie ukończony, ale solidna podstawa). W przeciwnym razie spróbuj przeczytać kilka książek z tych obszarów, aby dowiedzieć się, czy w twoim repertuarze brakuje czegoś, o czym nawet nie wiedziałeś. Ta kategoria jest najłatwiejsza do przeszacowania.
Wiedza paradygmatyczna
Zawsze jestem zdumiony, gdy pojawiają się programiści, którzy myślą, że wiedzą wszystko, a jednak zupełnie nie znają się na paradygmatach głównego nurtu. Jeśli uważasz, że orientacja obiektowa to koniec, to twoja kategoria do ulepszenia. Jeśli uważasz, że programowanie funkcjonalne również istnieje i mogło nawet słyszeć o programowaniu logicznym, to nadal jest to dobry wybór. Istnieje o wiele więcej paradygmatów, a poznanie ich ma głęboki efekt, dając ci coś podobnego do nowego spojrzenia na świat programowania.
Po prostu nie zapominaj: często (raczej z natury filozoficznej) spierają się o to, co można uznać za paradygmat lub nie. Nie daj się tym śledzić. Twoim celem powinno być poszerzenie twojego horyzontu, a to oznacza poznanie tych rzeczy, niezależnie od tego, czy ktoś uważa X za sam paradygmat, czy nie, nie robi to żadnej różnicy.
Wiedza specjalistyczna
Najłatwiejszy ze wszystkich - i jednocześnie najmniej użyteczny. Oczywiście możesz zaangażować się w jedną technologię i poznać wszystkie jej tajniki, ale powinieneś być przygotowany na zapłacenie ceny. Technologie starzeją się i robią to z coraz większą prędkością, co sprawia, że jest prawie gwarancją, że zainwestowany tutaj czas będzie bezwartościowy kilka lat później.
Tutaj także pojawia się problem malejącego zwrotu. Ze względu na swoją naturę bycie specjalistą w czymś oznacza, że musisz spędzić niezliczone godziny na tym wąskim temacie, a zatem z definicji zajmie ci dużo czasu, aby nauczyć się czegoś nowego, a ta nowa rzecz będzie małym kawałkiem układanki, który jest nie zmieni niczyich poglądów.
Wiedza o domenach
Czy to dlatego, że jest to domena twojego dzieła, czy po prostu na podstawie twoich osobistych zainteresowań, ale bycie ekspertem w dziedzinie informatyki i pewnej dziedziny jest bardzo cenne i satysfakcjonujące. Nie mówię tu o bocznych obszarach CS, takich jak grafika komputerowa czy sztuczna inteligencja. Zamiast tego zauważ, że komputery utrwaliły się w życiu wszystkich i że każde inne pole podlega komputerom i obszarowi, do którego możesz się dostać.
Ten wyraźnie należy do kategorii „poza polem”, ale nie jest to ostry matematyczny „na zewnątrz”, ale raczej obszar zastosowania. Pomyśl o medycynie: nie radzę ci zostać lekarzem. Warto jednak zapoznać się z podstawami medycyny, aby zastosować istniejącą wiedzę z zakresu informatyki do problemów tej dziedziny. Dotyczy to technik wizualizacji, robotyki, systemów eksperckich i zwykłego zarządzania danymi w zakresie księgowości / administracji. Chociaż robiłeś to wszystko wcześniej, robienie tego w innej domenie może być zupełnie nowym doświadczeniem.
Pamiętaj jednak, że jest to o wiele bardziej radykalna zmiana w twoim kierunku niż inne kategorie. W codziennej pracy możesz nie mieć kontaktu z tym polem, co sprawia, że bardzo trudno jest go oderwać. Może to nawet oznaczać zamianę zadań. Ponadto będziesz potrzebować pewnego rodzaju certyfikatu na temat swojej nowej domeny - w końcu jesteś zupełnie nową domeną i musisz konkurować z absolwentami interdyscyplinarnych studiów, które już rozpoczęły swoją podróż, aby stać się ekspertami w tej niszy.
Wiedza uzupełniająca
Jak dodał Mike Brown, istnieje także obszar wiedzy, który w pewien sposób towarzyszy twojej obecnej pracy, ale nie jest absolutnie niezbędny. Nie musisz być kierownikiem projektu, aby dowiedzieć się o zarządzaniu projektami, ale jak zwykle dodatkowa wiedza zapewni Ci lepszy wgląd w to, jak druga strona tyka. Można nawet uogólnić to do tego stopnia, że koncentruje się na umiejętnościach miękkich. Chyba każdy, kto pracował nad prawdziwym projektem z innymi ludźmi, zna ich wartość.