Blog Dla Młodszych Programistów C#/.NET

Są programiści poligloci. Są oni przekonani o tym, że należy posługiwać się kilkoma językami programowania, by móc świadczyć szerszy zakres usług. Nie zawsze jednak jest to potrzebne. Wszystko uzależnione jest bowiem od poziomu wiedzy programisty. Może się okazać, że znając więcej, niż jeden język, żadnego nie zna się wystarczająco dobrze, co przekłada się na niższą jakość pracy.

Dlaczego Nie Powinieneś Uczyć Się Kilku Języków Programowania Jednocześnie?

Chęć posiadania wiedzy z każdego obszaru


Początkujący programista jest przekonany o tym, że powinien wiedzieć jak najwięcej z każdej dziedziny, a więc znać każdy język programowania, by klient czy potencjalny pracodawca uznał go za kompetentnego i zorientowanego w temacie. Młodzi programiści, którzy chcą być bardziej konkurencyjni, a nie znają jeszcze oczekiwań klienta, chcą oferować wszystko. Nawet, jeśli wiedza z każdego języka byłaby powierzchowna lub sprowadzała się wyłącznie do ogólników. Okazuje się jednak, że nikt od programisty nie oczekuje wiedzy na temat wszystkich języków programowania.

Oczywiście warto znać każdy z tych języków, umieć je rozpoznać czy określić jego cechy, jednak w swojej pracy warto skupić się na rozwijaniu w jednej dziedzinie. W ten sposób, nawet jeśli posiada się umiejętność tworzenia kodów w jednym języku, zyskuje się pewność, że język ten jest opanowany do perfekcji.

Im więcej kursów czy szkoleń z jednej dziedziny, tym dokładniejsza jest wiedza, tym więcej zasad się zna, a tym samym popełnia się mniej błędów. Specjalizując się we wszystkim, traci się indywidualny charakter i trudno jest zbudować swoją pozycję. Nie można jednocześnie być tak samo dobrym we wszystkim.

Zawsze rozwój w jednym kierunku (nauka jednego języka), odbywa się kosztem wiedzy w innych obszarach. Jest to naturalna kolej rzeczy. Każdy programista powinien mieć świadomość, że tylko od niego będzie zależało, jak będzie postrzegany w branży. Musi też wiedzieć, że znajomość wszystkiego nie zawsze wzbudza zaufanie i wiarygodność. Częściej stanowi to dowód na to, że programista nie wie, w jakim kierunku chce się rozwijać, jakie są jego cele oraz czym się interesuje.

Choć pozornie wydaje się, że wiedza o wszystkim jest atrakcyjna dla potencjalnego zleceniodawcy, wprowadza to chaos i niepotrzebne zamieszanie. Utraconą w ten sposób wiarygodność trudniej jest odbudować. Wymaga bowiem doprecyzowania swoich zainteresowań i umiejętności.


Jak wybrać dobrze?


Języków programowania jest bardzo wiele. Można je podzielić na języki skryptowe lub komplikowane lub ze względu na paradygmat programowania, generację języka programowania, sposób kontroli typów czy wykonywania, poziom oraz przeznaczenie.

Do przykładowych, a zarazem najbardziej popularnych, zaliczyć należy języki:
  • C# (ten polecam najbardziej),
  • Java,
  • Python,
  • C++,
  • C,
  • Visual Basic,
  • JavaScript,
  • PHP,
  • R,
  • Groovy,
  • Perl,
  • Delphi.
Wskazane powyżej przykłady to tylko kilka stosowanych najczęściej języków. Programiści decydują się na pracę w jednym języku i jego zasady starają się opanować do perfekcji. Pojawiają się jednak osoby, które są przekonane o tym, że opanowując więcej, niż jeden język, dają sobie więcej możliwości na rynku pracy. Nie zawsze jest to jednak zgodne z rzeczywistością.

Większość pracodawców i zleceniodawców preferuje specjalistów ukierunkowanych na jeden język. Nie potrzebują kogoś, kto zna powierzchownie wiele języków, a szukają takich osób, które z pasją stworzą właściwy i poprawnie działający kod. Zamiast uczyć się wielu rzeczy jednocześnie, warto sprawdzić, w jakim języku pracuje się najwygodniej, który nie sprawia problemów i pozwala na tworzenie najlepszych i najbardziej optymalnych rozwiązań i na nim się skoncentrować.

Wybierając język, którego programista będzie się uczył, warto uwzględnić przede wszystkim swoją wygodę i komfort pracy. Jako, że programowanie to zajęcie żmudne, wymagające dużego skupienia i cierpliwości, warto uczyć się tylko tego języka, z którym pracuje się najwygodniej. Nie trzeba dodatkowo obciążać psychiki językiem zbyt trudnym, niezrozumiałym czy uznanym za niewłaściwy. Zawsze lepiej posługiwać się tym językiem, który jest najlepiej zrozumiały.


Problemy wynikające z posiadania zbyt rozległej wiedzy


Choć przyjmuje się, że wiedzy i edukacji nigdy za wiele, to nie zawsze, w każdej dziedzinie się to sprawdza. W przypadku programistów poznanie kilku języków programowania jest trudnym zadaniem. Decydując się na rozwijanie swoich umiejętności w tym kierunku, konieczne jest podejmowanie pracy w każdym z języków. Nie zawsze jednak jest to możliwe, dlatego osoba, która jednocześnie zna C#, C++, Java, Python czy jeszcze inny język, musi wkładać bardzo dużo pracy, by w każdym z tych obszarów pracować tak samo dobrze.

Opanowując tajniki wielu języków programowania jednocześnie trzeba poświęcać im taką samą uwagę. Tylko wtedy można świadczyć usługi w zakresie programowania na podobnym poziomie. Jeśli uwaga skoncentruje się na jednym z języków (np. ze względu na realizowany projekt i konieczność pracy właśnie w tym obszarze), pozostałe będą zaniedbane. Nie będzie bowiem czasu na rozwijanie umiejętności, na ćwiczenie lub realizowanie zleceń w innych językach. W efekcie może się okazać, że czas przeznaczony na naukę innych języków był stracony, bo w codziennym użytkowani dominuje jeden z nich. 

Programista zamiast kształcić się w tym kierunku, który jest dla niego najlepszy, ćwiczyć i rozwijać język programowania, który jest dla niego najlepszy, niepotrzebnie koncentrował się na wielu rzeczach jednocześnie (z których teraz nie korzysta). Znając wiele języków w stopniu podstawowym lub średnio-zaawansowanym bardzo trudno jest stać się specjalistą w konkretnej dziedzinie.

Większość klientów, kontrahentów czy potencjalnych pracodawców nie wie, jak zakwalifikować programistę, z jakimi problemami czy zlecenia się do niego zwracać. To może sprawić, że nawet jeśli jest dobry w swojej pracy, może nie być doceniony przez innych. W takich warunkach trudno też budować markę osobistą.

Jako, że najczęściej nauka kolejnego języka programowania jest czasochłonna i kosztowna, lepiej skoncentrować się na jednym języku i na tym, by stać się w nim najlepszym specjalistą. Może okazać się, że będzie to bardziej opłacalne, niż inwestowanie czasu i pieniędzy w naukę czegoś, z czego w przyszłości nie będzie się zbyt często korzystać.


Podsumowanie


Wybierając ścieżkę zawodowego rozwoju warto przemyśleć, w jakim kierunku chce się rozwijać. Ważne jest, by wdrożony pomysł pokrywał się z oczekiwaniami i zapotrzebowaniem zgłaszanym przez rynek. Niezależnie jednak od przyjętej strategii działania konieczne jest dobre opanowanie jednego języka i zasad związanych z jego użytkowaniem, by w przyszłości móc stosować inne rozwiązania. Czasem lepiej być specjalistą w jednym obszarze, niż pracować w każdym języku, ale bez wyraźnych sukcesów.

To wszystkie na dzisiaj. Jeżeli taki artykuł Ci się spodobał, to koniecznie dołącz do mojej społeczności – darmowe zapisy, gdzie będziesz również miał dostęp do dodatkowych materiałów i przede wszystkim bonusów. Do zobaczenia w kolejnym artykule.

Poprzedni artykuł - Pisz Dobrej Jakości Kod – Programiści Częściej Czytają Kod, Niż Piszą
Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
Programista C#/.NET. Specjalizuje się w ASP.NET Core, ASP.NET MVC, ASP.NET Web API, Blazor, WPF oraz Windows Forms.
Autor bloga ModestProgrammer.pl
Dodaj komentarz

Wyszukiwarka

© Copyright 2022 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Polityka prywatności. Design by Kazimierz Szpin