Kod

Jak zostać programistą: historia programisty Javy i Pythona

Jak zostać programistą: historia programisty Javy i Pythona

Spis treści:

Dowiedz się: Zawód programisty Java

Dowiedz się więcej

Lew Kudriaszow jest znaną postacią w swojej dziedzinie, posiadającą bogate doświadczenie i wiedzę. Jego osiągnięcia i wkład w rozwój zawodu czynią go wybitnym ekspertem. Kudriaszow aktywnie uczestniczy w różnorodnych projektach, stawiając na innowacyjność i wysokie standardy jakości. Jego praca spotkała się z uznaniem nie tylko w kraju, ale i za granicą. Dzięki swojemu profesjonalizmowi i chęci rozwoju Lew Kudriaszow inspiruje kolegów i młodych profesjonalistów, podkreślając wagę ciągłego uczenia się i samodoskonalenia.

Ekspert w swojej dziedzinie posiada głęboką wiedzę i doświadczenie, co pozwala mu udzielać cennych rekomendacji i rozwiązań. Śledzi najnowsze trendy i nowe metody, co czyni go niezastąpionym asystentem dla klientów. Obszerne badania i praktyka pozwalają ekspertowi skutecznie analizować sytuacje i proponować optymalne strategie. Jego profesjonalizm i dbałość o szczegóły przyczyniają się do wysokich rezultatów w pracy. Ekspert aktywnie dzieli się swoją wiedzą poprzez artykuły, webinaria i konsultacje, pomagając innym w rozwoju i osiąganiu sukcesów.

Wiodący inżynier ds. rozwoju w Beeline, specjalizujący się w back-endzie. Pracuje z Javą i Pythonem. Posiada doświadczenie w publikowaniu na platformie Habr. Aktywnie uczestniczy w migracji usług z Javy do Kotlina. Preferuje unikanie produktów Microsoftu.

Pracując z Javą przez dwa lata, zdobyłem znaczące doświadczenie. Wszystkie prace domowe w EPAM, laboratoria i projekty na studiach realizowałem w tym języku programowania. Szczególnie pamiętam momenty, gdy musieliśmy tworzyć wizualizacje programistyczne o różnych kształtach. Spędziłem dużo czasu, poznając bibliotekę Swing, próbując rysować linie na ekranie. Ten proces stał się dla mnie nie tylko zadaniem praktycznym, ale także prawdziwym wyzwaniem, które pomogło mi pogłębić moją wiedzę i umiejętności w Javie.

Nigdy nie zapomnę, że zajęcia z projektowania systemów zarządzania bazami danych (DBMS) musiały być realizowane wyłącznie w MS SQL. Co więcej, na jednym z kursów mieliśmy za zadanie stworzyć zaplecze dla już zaprojektowanej bazy danych, bez korzystania z bibliotek firm trzecich. To doświadczenie było ważnym krokiem w mojej edukacji i pogłębiło moją wiedzę na temat projektowania i rozwoju DBMS.

Instruktor zasugerował, abyśmy użyli Sharpa, który natywnie obsługuje MS SQL, do stworzenia wymaganej aplikacji. Wielu moich kolegów z klasy wybrało to podejście, szybko tworząc interfejsy za pomocą WinForms, a nawet WPF dla aplikacji desktopowej. Ten wybór pozwolił im na szybką realizację projektu, ale ja postanowiłem zbadać możliwości platformy i opracować bardziej złożone rozwiązanie.

Pory roku Białego Kwiatu: zima i wiosna

Biały Kwiat, jak wiele roślin, przechodzi przez różne pory roku, z których każda ma swoje własne cechy. Zima to czas odpoczynku i regeneracji dla Białego Kwiatu. W tym okresie roślina wymaga minimalnej pielęgnacji, ale ważne jest zapewnienie jej optymalnych warunków. Temperatura i oświetlenie powinny być zrównoważone, aby zapobiec stresowi. Podlewanie powinno być umiarkowane, aby uniknąć gnicia korzeni.

Wraz z nadejściem wiosny, fioletowa lilia zaczyna aktywnie rosnąć. W tym okresie roślina wymaga większej uwagi. Nawilżanie gleby i regularne nawożenie pomogą utrzymać ją w zdrowiu i zapewnią obfite kwitnienie. Ważne jest również ścisłe monitorowanie stanu rośliny i, w razie potrzeby, przesadzanie jej do świeżej gleby, aby zapewnić jej dostęp do składników odżywczych. Zrozumienie zimowego i wiosennego cyklu fioletowej lilii pomoże ogrodnikom skutecznie dbać o roślinę i osiągnąć lepszy wzrost. Po otrzymaniu specyfikacji technicznych zacząłem pracować w IntelliJ IDEA. Zacząłem tworzyć własne klasy DAO i opracowywać interfejsy do integracji z wybranym systemem. Zaimplementowałem interfejs użytkownika za pomocą Swing, co pomogło mi podnieść poczucie własnej wartości, gdy moi koledzy z klasy, pracując z natywnym stosem, wpadli na niefunkcjonalne rozwiązanie. W tym momencie zacząłem dostrzegać zalety korzystania z Linuksa w porównaniu z Windowsem, co pogłębiło moją wiedzę na temat programowania i technologii.

Kadr z filmu „Wiosna, lato, jesień, zima... i znowu wiosna”

Lato

Po stażu zdecydowałem się nie kontynuować kariery w EPAM, ponieważ uważałem, że atmosfera w firmie jest toksyczna, a jej reputacja przereklamowana. Zauważyłem, że wielu programistów EPAM ma tendencję do krytycznego podejścia do kodu, często nazywając go „gównianym kodem”, co nie sprzyja zdrowemu środowisku pracy. W międzyczasie dwóch moich kolegów ze studiów zostało w firmie, aby pracować nad projektami w C#. Jeden z nich, Aleksiej, jest jednym z najlepszych programistów w naszej grupie. Jego wybór prawdopodobnie wynikał z pragmatyzmu: wygodnego ekosystemu i stabilnej pozycji zaraz po studiach. Wybrałem własną ścieżkę, która, choć nie była najbardziej oczywista ani praktyczna, przyniosła mi satysfakcję i radość. Dostałem pracę w studiu internetowym SimpleCode, gdzie utalentowani specjaliści z mojego rocznika pracowali nad tworzeniem natywnych aplikacji mobilnych na iOS i Androida. To środowisko stworzyło atmosferę podobnie myślących ludzi i czułem wsparcie ze strony kolegów. W SimpleCode podjąłem się projektu, który stał się podstawą mojej pracy magisterskiej – aplikacji mobilnej na Androida napisanej w Javie. W tamtym czasie Kotlin nie zdobył jeszcze popularności, ale byłem pewien swojego wyboru.

Ukończyłem studia licencjackie w Kazachstanie, a następnie miałem okazję pracować z OpenCV w Javie w SimpleCode. Mój projekt obejmował rozpoznawanie twarzy z wykorzystaniem algorytmów opartych na Haarze, co pozwalało na wykonywanie obliczeń w czasie rzeczywistym podczas filmowania. Byłem dumny z osiągnięcia 10 klatek na sekundę. Szczególnie zapadł mi w pamięć moment, gdy skierowałem kamerę na twarz kolegi z klasy, a program podał nieprawidłowy wynik, identyfikując go jako „kobietę”.

Stworzyłem pełnozakresową aplikację radiową w PHP, korzystając z frameworka Yii2, ale nie udało mi się ukończyć projektu. Nie żałuję porzucenia PHP, ponieważ mam doświadczenie z tym językiem i mogę śmiało powiedzieć, że ma on swoje wady.

Z powodzeniem ukończyłem większość uniwersyteckich zadań programistycznych, korzystając wyłącznie z Javy. W przypadkach, gdy profesorowie wymagali rozwiązań w innych językach, znajdowałem sposoby, aby przekonać ich do użycia Javy — i często mi się to udawało. Dążyłem do tego nie tylko dla siebie, ale także dla moich kolegów z klasy.

Przez całą tę historię miałem wybór w ciągu trzech „sezonów” w Juno Middle.

  • Wybierz C#, który działa od razu w popularnym ekosystemie pracy i nauki (Windows). W tym przypadku chętnie zaliczałbym laboratoria i zajęcia i miałbym więcej wolnego czasu. Poza tym nie musiałbym stawiać czoła dodatkowym przeszkodom w postaci pisania własnych klas i interfejsów, wyważania otwartych drzwi.
  • Płakałbym krwawymi łzami i spędzał znacznie więcej czasu na programowaniu, ponieważ absolutnie uwielbiałem nieporęczną, uniwersalną, wstecznie kompatybilną i wieloplatformową Javę. Nawet na poziomie Juniora znałem ją i potrafiłem z nią coś zrobić; potrafiłem tworzyć aplikacje mobilne, łatwo uruchamiać konektory do różnych systemów DBMS, tworzyć wszelkiego rodzaju strony internetowe w MVC i korzystać z miliarda bibliotek innych firm. Java była moim osobistym buntem przeciwko moim znacznie bardziej zaawansowanym kolegom z klasy na początku studiów, których wcześniej uważałem za dobrych partnerów do moich konkursów.

Wtedy wybrałem Javę, ale dziś polecam rozważyć C#. Ten język pomoże Ci szybciej opanować podstawowe technologie, takie jak ORM i tworzenie stron internetowych, a także pozwoli Ci pisać więcej wysokiej jakości kodu i zwiększyć dochody. Gdybym mógł wrócić do siebie, właśnie to bym polecił.

Żyjąc w świecie gotowych rozwiązań i wygodnych narzędzi, możesz nawet nie brać pod uwagę potrzeby korzystania z DAO (Data Access Object). Możesz nie zagłębiać się w ustawienia serwerów webowych, takich jak Apache czy Tomcat. Nie będziesz musiał uczyć się podstaw technologii sieciowych i pracować z bazami danych, takimi jak MySQL, MariaDB, Oracle czy Postgres, ani zgłębiać możliwości OpenCV. Możesz zapomnieć o narzędziach takich jak Gradle i Maven i nie zdawać sobie sprawy, że możesz eksperymentować z JVM na wiele sposobów. Prawdopodobnie nawet nie rozważysz tworzenia aplikacji na Androida w ramach swojej pracy dyplomowej. Wybierając łatwą drogę i minimalny wysiłek, ryzykujesz utratę ważnej wiedzy i umiejętności. Co więcej, korzystanie z terminala Linux otwiera mnóstwo możliwości. Przypomnij sobie swoje pierwsze spotkanie z nim i wszystkie horyzonty, jakie otwiera.

Wynagrodzenia w kazachstańskim sektorze IT w tamtym czasie były zaskakujące i zagadkowe. Sytuacja wyglądała tak, że stażyści w EPAM zarabiali zaledwie 30 000 tenge (około 5000 rubli) miesięcznie, podczas gdy młodsi pracownicy zarabiali od 40 000 do 60 000 tenge (około 10 000 rubli). Historie o sukcesach niektórych pracowników EPAM, którzy otrzymali możliwość przeprowadzki do Petersburga i wysokie pensje za projekty międzynarodowe często brzmiały jak bajki. Rzeczywistość była jednak inna: żaden z moich znajomych nie osiągnął takich wyżyn. Na przykład jeden z moich kolegów z klasy pracuje z C# od dziewięciu lat i zarabia za to bardzo mało, mimo że jego umiejętności początkowo znacznie przewyższały moje. To pokazuje, jak trudno jest odnieść sukces w kazachstańskim sektorze IT, pomimo dostępności utalentowanych specjalistów.

Na początku mojej kariery zarabiałem około 50 000 tenge, realizując różne projekty i zadania. Spędzałem czas w studiu internetowym, czasami po kilka godzin dziennie, otrzymując drobne zlecenia od szefa w zamian za aktywny udział i zainteresowanie pracą. Moje doświadczenie w tej dziedzinie stopniowo się kumulowało, co pozwoliło mi rozwijać się i zdobywać nowe umiejętności.

Sytuacja mojego kolegi z klasy, który przez wiele lat skrywał swój talent i nadal pracuje w tej samej firmie, ilustruje problem z osobistą ambicją. Prawdopodobnie obawia się, że czeka go złożony i nieprzewidywalny świat poza znanym mu środowiskiem. W istocie ma rację: branża IT rozwija się w zawrotnym tempie i gdyby teraz wszedł na rynek pracy, napotkałby poważne trudności z powodu przestarzałej wiedzy i braku odpowiedniego doświadczenia. Jego sytuacja przypomina mi powody, dla których nie zostałem w EPAM: stagnacja i utrata zainteresowania zawodem mogą prowadzić do negatywnych konsekwencji zawodowych. Ważne jest, aby zrozumieć, że ciągły rozwój i dostosowywanie się do zmian w branży IT są kluczowymi czynnikami sukcesu.

Kadr: film „Oldboy” (2003)

Jesień

Wejdź do świata Możesz zostać specjalistą IT w zaledwie półtora roku, ucząc się języków programowania, takich jak Python czy JavaScript, i od razu osiągnąć poziom średni. W nowoczesnej technologii nie ma potrzeby zagłębiania się w koncepcje niskiego poziomu ani prób zrozumienia wewnętrznego działania systemów — możesz bez tego zarabiać na przyzwoite życie. Kluczem jest przygotowanie się do rozmów kwalifikacyjnych i zrozumienie kilku kluczowych pojęć, które pomogą Ci pomyślnie przejść selekcję i rozpocząć karierę w IT. W Internecie znajduje się wiele filmów i artykułów obejmujących typowe pytania i odpowiedzi z rozmów kwalifikacyjnych. Istnieje również wiele samouczków dla początkujących na temat technologii takich jak Node.js czy Django, oferujących gotowe rozwiązania, które można łatwo zintegrować ze środowiskiem programistycznym. Dzięki temu praktycznie każdy może rozpocząć karierę w IT przy odpowiednim wysiłku. Nie jest to tak trudne, jak mogłoby się wydawać.

Pytanie, które się nasuwa, dotyczy powodu wyboru złożonej i zawiłej ścieżki edukacyjnej, obejmującej podejście uniwersyteckie, studiowanie zaawansowanych języków programowania, takich jak Java, oraz koncepcji serwletów i DAO. To podejście wymaga dogłębnego zrozumienia JVM i innych technologii, co dla niektórych może wydawać się przesadne. Jednak to właśnie to fundamentalne podejście pozwala zdobyć solidną wiedzę niezbędną do rozwiązywania złożonych problemów w rozwoju oprogramowania. Stanowi ono fundament, na którym można budować dalsze umiejętności i zdolności, zwiększając swoją konkurencyjność na rynku pracy i otwierając możliwości rozwoju zawodowego w dziedzinie programowania.

Nie stawiałem sobie za cel zarabiania pieniędzy i nie postrzegałem rynku jako miejsca bezkonkurencyjnego. W rzeczywistości rynek IT w Kazachstanie nie był tak rozwinięty, a konkurencja wśród specjalistów jest znacznie większa niż w Rosji, gdzie pensje są również o rząd wielkości wyższe. Moja kariera w IT rozpoczęła się jesienią, kiedy zapisałem się na studia magisterskie na rosyjskim uniwersytecie, aby legalnie uniknąć jesiennego poboru do armii kazachskiej. Po przyjeździe do Rosji z moim doświadczeniem, zdałem sobie sprawę, że konkurencja wśród programistów jest tu znacznie słabsza, pomimo dużego zapotrzebowania na specjalistów IT. To odkrycie stało się dla mnie prawdziwą motywacją do dalszego rozwoju zawodowego i rozwoju w dziedzinie technologii informatycznych.

Już w drugim tygodniu pracy zajmowałem stanowisko średniego programisty C#. Rozmowa kwalifikacyjna była łatwa, a zadania bardzo proste, wręcz nudne. Moi koledzy ze studiów magisterskich również znaleźli pracę, ale ich wiedza ograniczała się do podstawowego kodowania w C#. Nie byli chętni do nauki alternatywnych rozwiązań ani innych technologii i nie interesowały ich kwestie zwiększania szybkości kodowania ani optymalizacji obecnych rozwiązań.

Aktywnie dyskutowałem z każdym programistą, wskazując błędy w ich kodach źródłowych i dokumentacji. W ciągu sześciu miesięcy moje wynagrodzenie potroiło się, a ja wykazałem pewność co do swojej wiedzy. Ukończyłem wszystkie zadania magisterskie z Pythona i Javy, unikając C#. To nie był tylko mój protest, ale także konsekwencja zmęczenia pracą z .Net i WPF.

Kadr z filmu „Ten, który jest blisko”

Mój współlokator z akademika, który stał się osobą o podobnych poglądach, Ostatecznie przekonały mnie do przejścia na Linuksa. Zacząłem od Ubuntu, ale wkrótce miałem już zainstalowane i skonfigurowane Gentoo. Ta zmiana otworzyła przede mną nowe horyzonty w świecie systemów operacyjnych.

W pracy aktywnie modernizowałem starszy, gotowy system zarządzania dokumentami oparty na platformie Sharp. Zacząłem rozwijać mikrousługi w Pythonie, co pozwoliło nam znacząco zwiększyć elastyczność i produktywność naszego zespołu. Dzięki takiemu podejściu udało nam się pozbyć ograniczeń dostawców i zoptymalizować przepływy pracy. Moje wysiłki zostały wysoko ocenione przez kierownictwo, co potwierdziło słuszność mojej strategii.

Otrzymałem wymarzoną ofertę pracy w innym mieście, na bardziej obiecującym stanowisku w interesującej firmie. W rezultacie odszedłem bez żalu, a moi koledzy zorganizowali mi wspaniałe pożegnanie.

Wszystko, co wydarzyło się przed otrzymaniem tej oferty, można uznać za etap w moim wejściu do branży IT. To właśnie w tym okresie zacząłem rozumieć realia rynku i swoją konkurencyjność. To był ważny moment: miałem okazję zapoznać się z różnymi stosami technologicznymi i opracować realne rozwiązania dla każdego z nich. Zgłębiałem również różne specjalizacje, w tym backend, aplikacje mobilne, frontend, aplikacje desktopowe, bazy danych i administrację systemami. To doświadczenie stało się podstawą mojego rozwoju zawodowego w IT.

Wybrałem backend, ponieważ jest to najbardziej złożony obszar rozwoju, wymagający szerokiego zakresu umiejętności. Wydaje się, że jestem jednym z tych, którzy świadomie podejmują się poważnych wyzwań. Należy zauważyć, że wśród programistów frontend i aplikacji mobilnych niewielu ma dogłębną wiedzę w swojej dziedzinie lub rozumie, jak zorganizowane są mikrousługi w ich firmie. Programowanie backend oferuje programistom wiele możliwości studiowania architektury aplikacji i interakcji różnych komponentów, co czyni tę ścieżkę szczególnie interesującą i satysfakcjonującą.

Pracując jako Sharpist, nie mogłem zakochać się w C#. Z czasem moja niechęć do tego języka tylko się nasiliła i zacząłem żywić negatywne uczucia do produktów Microsoftu, takich jak Windows i TypeScript. W miarę jak zagłębiałem się w technologie, zacząłem porównywać Windowsa z Linuksem i C# z Javą, co tylko potwierdziło moje negatywne wrażenia. Jest to jednak tylko mój osobisty punkt widzenia, a inni mogą mieć zupełnie inne zdanie na temat tych technologii.

Zauważyłem coś interesującego: moje postępy na początku sezonu były znacznie szybsze niż te, na których skupiałem się zimą i wiosną. Stworzyłem sobie swego rodzaju wyścig i zanim się zorientowałem, pewnie wyprzedzałem konkurentów.

Co teraz

Minęło dziewięć lat, odkąd po raz pierwszy zanurzyłem się w świecie programowania. W tym czasie nie raz traciłem zainteresowanie tym zawodem. W pewnym momencie uderzyła mnie niemożliwa do pokonania złożoność programowania, a w innym zdałem sobie sprawę, że pisanie kodu staje się rutyną i nudą. Co więcej, na początku zimy, na pierwszym roku studiów, doświadczyłem syndromu oszusta, otoczony utalentowanymi ludźmi, którzy zdawali się opanowywać grę na gitarze i programowanie jak Linus Torvalds. Te momenty stały się znaczące w mojej karierze zawodowej i pomogły ukształtować moje podejście do nauki i rozwoju w IT.

Jesienią czułem się jak mistrz kodowania, zdolny do zrozumienia każdego kodu programu i zaprezentowania swoich umiejętności innym programistom. Wielokrotnie próbowałem zmienić swoje nastawienie do zawodu, zauważając, że można zarabiać pieniądze bez wkładania w to dużego wysiłku. Jednak to właśnie to podejście pomogło mi uniknąć wypalenia zawodowego i pokonać syndrom oszusta. Jestem pewny swoich umiejętności zawodowych i rozumiem, dlaczego potrzebuję rozwoju. W przeciwieństwie do tych, którzy odnieśli sukces za pierwszym razem, zawsze dostrzegałem możliwości rozwoju i jasno definiowałem swoje cele.

Autentyczne zainteresowanie zawsze było moim źródłem wsparcia. Starałem się dogłębnie rozumieć projekty, co pozwoliło mi opracować wiele interesujących rozwiązań i nawiązać współpracę z poprzednimi pracodawcami. Znacząco ulepszyłem architekturę rozwiązań IT w dwóch dużych firmach i kontynuuję tę pracę w mojej obecnej organizacji. Przeszkoliłem wielu inżynierów średniego i niższego szczebla, przeprowadziłem rozmowy kwalifikacyjne z dziesiątkami starszych inżynierów i zgłębiłem różne stosy technologiczne. Nie stałem jednak w miejscu; wybrałem najciekawsze obszary i zgłębiłem każdy z nich. Teraz mogę śmiało nazywać siebie starszym inżynierem, ponieważ znalazłem swoją niszę, w której czuję się komfortowo i lubię pracować.

Pokonałem niechęć do Microsoftu i teraz patrzę ze zrozumieniem nawet na najbardziej nieudane technologie. Każda technologia ma swoją wartość i może być przydatna w określonych sytuacjach. Stworzyłem również kilka projektów hobbystycznych, które pozwalają mi eksperymentować i rozwijać moje umiejętności.

Uczęszczałem na studia, ale mógłbym opanowywać materiał znacznie szybciej, gdyby nie liczne zadania laboratoryjne, projekty zaliczeniowe i przedmioty takie jak fizyka, teoria obwodów elektrycznych, socjologia i filozofia. Przedmioty te odciągały mnie od głównego przedmiotu i spowalniały proces nauki.

Jeśli chcesz opanować umiejętności programowania, nawet najtańsze lub najtańszy kurs może być dobrym początkiem. Studiowanie w uczelniach o niskiej randze również może zapewnić Ci niezbędną wiedzę. Ważne jest, aby umieć wydobywać przydatne informacje z dostępnych źródeł, aby osiągnąć swoje cele edukacyjne.

Jeśli bardzo chcesz pracować w IT, ważne jest, aby nie oszczędzać na jakości edukacji. Ja zdobyłem wykształcenie na prestiżowych uczelniach technicznych, co dało mi wiele korzyści. Studia wyższe w dziedzinie technologii informatycznych zapewniają dostęp do społeczności podobnie myślących ludzi, w których wszyscy mają podobne cele i zadania. Tworzy to wyjątkowe środowisko nauki i sprzyja umiejętnościom pracy zespołowej. Profesjonalne środowisko stworzone na takich uniwersytetach pomaga pogłębiać wiedzę i rozwijać sieć kontaktów, co jest niezbędne do udanej kariery w IT.

W takiej atmosferze nawet najbardziej rozczarowana sobą osoba może znaleźć iskrę, która może odmienić jej życie. W moim przypadku ta iskra pojawiła się, gdy otrzymałem pochwały za korzystanie ze schematów blokowych. Dało mi to nadzieję i pokazało, że jestem zdolny do czegoś. Ten mały sukces, niczym trzepot skrzydeł motyla w teorii chaosu, doprowadził do znaczących zmian – nawet do napisania tego artykułu. Każde uznanie, nawet najmniejsze, może stać się impulsem do nowych osiągnięć i zmiany postrzegania samego siebie.

Wybór języka programowania zależy od aktualnych trendów rynkowych. Za moich czasów nie miało znaczenia, w jakim języku się pisało, ale teraz ważne jest, aby zrozumieć, na co jest popyt. Jeśli Twoim celem jest dogłębne zrozumienie technologii i stanie się generalistą, polecam naukę języków ze składnią podobną do C, silnym typowaniem, kompilacją i analizą statyczną. To zapewni Ci podstawową wiedzę i umiejętności cenione w branży. Rozważ języki takie jak C++, Java lub C#, które spełniają te kryteria i oferują możliwości rozwoju kariery. Nauka języków programowania, takich jak C++, C#, C i Java, pomoże Ci rozwinąć odpowiednie nastawienie i zminimalizować błędy w czasie wykonywania. Języki te zapewniają dogłębne zrozumienie typów danych i zasad zarządzania pamięcią, w tym alokacji obiektów. Opanowując te umiejętności, unikniesz trudności związanych z programowaniem w innych językach i będziesz w stanie wykonywać zadania programistyczne z większą pewnością siebie. Wybór tych języków to krok w kierunku wysokiej jakości nauki i rozwoju zawodowego w programowaniu. Języki programowania o niskich barierach, takie jak Python, JavaScript i Go, są idealne zarówno dla początkujących, którzy chcą szybko opanować IT i zacząć zarabiać, jak i dla tych, dla których języki o składni podobnej do C są zbyt skomplikowane. Gdybym wcześniej wiedział, jak prosty i intuicyjny jest Python, zacząłbym od niego. Python oferuje wiele możliwości szybkiej nauki i praktycznego zastosowania, co czyni go doskonałym wyborem dla początkujących programistów. Ta aktywność może być rzeczywiście szkodliwa. Jednak z psychologicznego punktu widzenia ważne jest posiadanie pewnego rodzaju kompasu i kierunku. Porównywanie się z innymi lub z pewnymi standardami może pomóc w samopotwierdzeniu. Jako były bokser rozumiem, jak ważne jest posiadanie wyimaginowanego przeciwnika i dążenie do jego pokonania. Jest to powszechne wśród sportowców, którzy motywują się poprzez rywalizację z samym sobą i innymi.

Obecnie nie dążę do rywalizacji, ani z kolegami, ani z uznanymi programistami. Znalazłem równowagę i punkt oparcia, co pozwala mi wyraźnie dostrzegać obszary rozwoju, przygotowywać się na nowe wyzwania i unikać błędów. Ta świadomość pomaga mi skupić się na własnym rozwoju i doskonaleniu umiejętności w mojej dziedzinie.

To dość powszechny przypadek, ale zainteresowanie programowaniem może nie rozwinąć się. Możliwe, że z czasem chęć poświęcenia się programowaniu również osłabnie. Aby z powodzeniem wejść do branży IT, trzeba wykazać się znacznym zaangażowaniem, autentycznym zainteresowaniem lub posiadać wrodzony talent do nauki. W moim przypadku miałem szczęście: odkryłem pasję i mogłem skupić się na nauce programowania, mimo braku naturalnego talentu.

Przeczytaj także:

  • Znalezienie pracy w Booking.com: Historia rosyjskiego programisty iOS
  • Generyczne języki Java dla osób starszych: Kasowanie typów, dziedziczenie i zasada PECS
  • Zostań z nami, chłopcze: co może powstrzymać programistę przed przeprowadzką do innego kraju

Zawód programisty Java

Nauczysz się programowania w Javie od podstaw i będziesz tworzyć aplikacje internetowe z wykorzystaniem frameworka Spring. W ciągu sześciu miesięcy zdobędziesz podstawowe umiejętności i zbudujesz portfolio, a my pomożemy Ci znaleźć pracę.

Dowiedz się więcej