27-07-2022
Polecane języki na start na przestrzeni lat się zmieniają, w związku z czym zamiast tutaj podawać konkretne języki postaram się dać Ci uniwersalny przepis na to jak możesz sobie odpowiedzieć na to pytanie samodzielnie 🙂
Artykuł ten zawężę do kilku aspektów które w mojej opinii warto wziąć pod uwagę.
Powód
Pierwszym i w sumie najistotniejszym punktem jest powód podjęcia decyzji, że chcesz się uczyć programowania.
Jeśli Twoim powodem jest znalezienie pracy w tym zawodzie to zapoznaj się z punktami
- Popularność języka,
- Oferty pracy,
- Tematyka,
- Przebranżowienie – jeśli już pracujesz w jakimś zawodzie,
- Programowanie to nie jedyna droga.
Jeżeli chcesz coś stworzyć to zapoznaj się z punktami
- Popularność języka,
- Tematyka.
Popularność języka
Możemy to sprawdzić poprzez przejrzenie wykresów i tabel na stronie TIOBE Index.
Na Stack Overflow możemy również znaleźć coroczne podsumowania popularności technologii: 2020, 2021, 2022.
Jak to rozumieć?
Im język jest bardziej popularny, tym ma większą społeczność. Większa społeczność w dużej mierze wiąże się z większą ilością rozwiązań przy napotkanych problemach. Możemy spodziewać się, że znajdziemy jakieś fora, grupy które będą nam w stanie pomóc gdy napotkamy jakiś problem.
Oferty pracy
W momencie jeśli szukamy pierwszego języka programowania warto rozeznać się na rynku pracy jakie są dostępne oferty. Przypuśćmy hipotetycznie, że widzimy 100 ofert pracy na stanowisko Java Developer i 1 ofertę na stanowisko Pascal Developer. W tym momencie może Ci się zapalić lampka, że jednak język Pascal może nie być najlepszym wyborem jeśli chcesz znaleźć pierwszą pracę.
Przeglądając oferty pracy warto również zadać sobie pytanie, czy interesuje Cię praca zdalna, czy może stacjonarna? Czy jeśli stacjonarna to wyrażasz gotowość przeprowadzki czy raczej szukasz czegoś niedaleko miejsca zamieszkania?
Przykład z mojego życia:
Pochodzę z małej wioski, chciałam pracować stacjonarnie. Przeprowadzka w tamtym momencie jednak nie wchodziła w grę i na rynku pracy pojawiła się jedna, JEDYNA oferta pracy jako PHP Developer jakieś 20 km dalej. Szukając pracy nie planowałam programować w tym języku, ale jako, że była to jedyna oferta w pobliżu, to poszłam w to i pozostałam do teraz przy tym języku 😉
W związku z czym jeśli szukasz pracy stacjonarnej warto również rozeznać się jakie firmy są w okolicy. Zazwyczaj firmy nie zmieniają głównych języków programowania w swoich projektach z dnia na dzień, więc zakładając opisaną sytuację z początku (100 x Java, 1 x Pascal) oraz przeznaczając 1 rok na naukę to możemy założyć z dużą dozą pewności, że w takiej sytuacji Java byłaby bezpieczniejszym wyborem. Tutaj również można oprzeć swój wybór patrząc na wykresy popularności danego języka, czy spada, czy raczej rośnie – co w pewnym stopniu prognozuje zwiększenie, bądź zmniejszenie ilości ofert.
Tematyka
Języki programowania często są wyspecjalizowane bardziej w konkretnej kategorii. W związku z czym w zależności w jakim obszarze chcesz programować to Twój wybór będzie trochę inny. Podzieliłam je na 4 kategorie (chociaż jest ich więcej, ale wydaje mi się, że na tym etapie co za dużo to nie zdrowo 😉 ) i dla każdej podane najczęściej wybierane języki.
- Strona internetowa
- Frontend (w dużym skrócie: to co widzisz na tej stronie – jej wygląd oraz interakcja z przeglądającym)
- JavaScript
- Backend (to czego nie widać: zapis danych, tworzenie nowych postów – „silnik” strony)
- C#
- Java
- PHP
- Python
- Ruby
- JavaScript
- Frontend (w dużym skrócie: to co widzisz na tej stronie – jej wygląd oraz interakcja z przeglądającym)
- Aplikacja mobilna
- iOS
- Swift
- C
- Android
- Java
- Kotlin
- iOS
- Aplikacje desktopowe
- macOS
- Swift
- Linux
- Java
- Windows
- C#
- macOS
- Gry
- C++
- C#
Przebranżowienie
Pracujesz obecnie w transporcie? A może w obszarze geodezji?
Niezależnie od tego jaki obecnie wykonujesz zawód zastanów się nad firmami które wykonują oprogramowanie w tematyce w której obecnie pracujesz.
Dlaczego?
W momencie jak programista/programistka zaczyna pracę w jakiejś firmie musi poznać dobrze działalność tej firmy. W momencie jak zatrudnia się do firmy robiącej oprogramowanie do księgowania – musi bardzo dobrze zrozumieć ten obszar. Niektóre obszary są dość obszerne i zajmują programiście/programistce bardzo dużo czasu przeznaczonego na naukę, aby dobrze zrozumieć ten biznes. W niektórych firmach wiedza domenowa (czyli taka gdzie znasz obszar działania danej firmy) jest dużo cenniejsza niż umiejętność programowania i wolą zatrudnić osobę, która ma tą wiedzę i ją przyuczyć programowania, aniżeli zatrudnić programistę i uczyć tego całego biznesu.
Programowanie to nie jedyna droga
Ten punkt może Cię lekko zaskoczyć, ale wydaje mi się, że warto też go chociażby delikatnie poruszyć.
Jeżeli zależy Ci na pracy w branży IT, to programowanie nie jest jedyną drogą. Możesz również zdecydować się na inną rolę w firmie. Poniżej lista kilku stanowisk z bardzo krótkim opisem w celu przybliżenia Ci obowiązków na danym stanowisku.
- Project Manager (odpowiada za planowanie, realizację i zamykanie projektu)
- Product Owner (odpowiada za proces tworzenia produktu)
- Tester (odpowiada za weryfikowanie poprawności działania funkcjonalności którą napisał zespół deweloperski)
- Analityk biznesowy (odpowiada za zebranie wymagań biznesowych i przekazanie ich do zespołu deweloperskiego)
- UX/UI Designer (projektuje szablon oprogramowania pod kątem wyglądu i odczuć użytkownika tego oprogramowania na podstawie którego zespół deweloperski tworzy produkt)
W części firm odbywają się wewnętrzne rekrutacje, dzięki czemu po jakimś czasie pracy na którymś z powyższych stanowisk możesz spróbować zaaplikować na stanowisko programisty/programistki. Niektóre firmy chętnie idą na taki układ ze względu na to, że znasz już firmę, produkt, procedury itp. Możliwe również, że stanowisko które wybierzesz z listy wyżej będzie na tyle satysfakcjonujące dla Ciebie, że jednak porzucisz myśl o zostaniu developerem 😉
Podsumowanie
W zależności od Twoich preferencji, zainteresowań i kierunku rozwoju wybór języka będzie inny. Grupy języków programowania często są do siebie dość podobne. W związku z tym jeśli zaczniesz naukę jednego języka to przy każdym kolejnym powinno iść to sprawniej. Co prawda są różnice pomiędzy językami, czasami większe bądź mniejsze, ale w mojej opinii jest łatwiej się odnaleźć jak już jeden się pozna 🙂
Uważasz, że ten wpis był dla Ciebie wartościowy? Udostępnij go 😉
Masz niedosyt i chcesz więcej informacji? Napisz do mnie! 🙂