Konfesjonał IT👨🏻‍💻

Jak by tu zacząć?

Cover Image for Jak by tu zacząć?
Kamil Perzowski
Kamil Perzowski

Nie wiedziałem jak się za to zabrać. Najpierw technologicznie to postawić? Ustalić content? Mniejsza. Jadę z tym. Pewien czas temu poprzez znajomego dostałem pytania od początkującego a w zasadzie człowieka, który stoi dopiero na rozdrożu i zastanawia się czy wejść w it. Postanowiłem udostępić te pytania i odpowiedzi tutaj i tym samym przełamując się w swojej pierwszej aktywności w internecie.

Pytania

1. Czy żałowałeś choć raz, że nie poszedłeś na studia? Jeśli tak, dlaczego? W jakich sytuacjach?

Nie żałowałem, zwłaszcza że ja nigdy nie planowałem studiów. Miałem być piłkarzem, ale przypadkowo wyszło, że zainteresowałem się tworzeniem stron internetowych już w podstawówce, kiedy grałem w Counter-Strikea. Nie odczuwałem też presji od nikogo, aby iść na studia. Na początku mojej drogi, gdy miewałem chwile zwątpienia co do swoich umiejętności, zacząłem uczęszczać na spotkania związane z programowaniem. Pomimo niewielkiego doświadczenia, z każdym kolejnym zloczem (polecam ściągnąć aplikację Meetup i tam sprawdzić takie spotkania) zacząłem coraz odważniej się wypowiadać. Równocześnie zauważyłem, że to, co sam się uczę przy rzeczywistych, niewielkich projektach, naprawdę ma sens.

2. Czy masz momenty że nie wiesz jak dalej iść z tworzeniem kodu/moment pustki w głowie? Jeśli tak, to jak sobie z tym radzisz? Co wtedy robisz?

Miałem wiele takich momentów, ale w programowaniu zawsze wynikają one z braku doświadczenia. Wracając do tych chwil: Jeżeli masz blokadę, napotykasz problem, i nie wiesz, co zrobić - odpuść na parę godzin, prześpij się z tym, wróć do tego na świeżo. Gdy odczuwasz moment przemęczenia danym materiałem, problemem, czy projektem - obejrzyj ciekawy filmik na YouTube związanym z programowaniem, ale z czymś, co Cię inspiruje,jara, fascynuje, co chciałbyś wypróbować.

3. Co jest wg ciebie najgorsze w Twojej pracy? Chodzi o rzeczy, które raczej mogą dotyczyć każdego programisty a nie coś specyficznego akurat dla Ciebie.

Problemy z oszacowaniem czasu na projekt, ludzie nierozumiejący sami swojego projektu, syndrom oszusta - na początku drogi jest to męczące, kiedy odkrywasz nowe rzeczy, ale wydaje ci się, jakbyś ciągle coś robił na farcie, uczucie wypalenia się - jeżeli nie poszerzasz swojej ciekawości technologii, programowania różnymi nowinkami, testowaniem nowych rozwiązań - będziesz często odczuwać, że masz już dość.

4. Jak oceniasz trudność w nauce programowania? (domyślam się że to bardzo ogólne pytanie, bo są różne języki, różne zadania, projekty itp itd... ale co tobie sprawiało największą trudność?)

Najtrudniejsze są początki, kiedy nie wiesz jeszcze, "co z czym się je". Z jednej strony próbujesz wybrać jakiś język, z drugiej nie wiesz jeszcze, jak to wszystko działa. Zagłębiasz się w temat, i jest coraz gorzej. Pojawia się mnóstwo nowych rzeczy, różnych tematów porozrzucanych w głowie, i ciężko to połączyć w działającą całość.

W mojej opinii fajnie jest zacząć od takiego języka i takich projektów, które realnie coś rozwiązują, dają wartość, dają coś tam zarobić (cokolwiek, chodzi, żeby to nie był kolejny suchy projekt lista todo do wrzucenia na githuba) lub wymyślenie swojego projektu i zrobienie go. Przebrniecie przez masę problemów, nerwów, złych decyzji, dołków, itp., jest niezbędne. Różne tutoriale pokazują, jak zacząć od języka X czy Y, ale na takich suchych przykładach, gdzie zaraz masz w głowie myśl "cholera, po co to, to w ogóle nie potrzebne - jak Ci programiści niby zarabiają coś?"

Jeżeli interesujesz się branżą, ciekawi Cię to, chcesz się rozwijać to te początki tylko są bardzo ciężkie. Potem już kolejny język, rozwiązanie będzie przychodzić dużo łatwiej - nie na zasadzie “o kurde muszę się tego nauczyć, ale ciężkie to”, tylko “o, muszę tego użyć, będzie ciekawie”.

5. Czy masz jakąś radę dla mnie? Albo radę którą chciałbyś by ktoś Ci dał gdy byłeś na moim miejscu?

Nie patrz na każde zlecenie tak jakbyś miał z niego przeżyć. Na początku drogi lepiej wziąć nawet za pół darmo, za darmo jakiś projekt i go robić (bo realnie coś daje). Wystawiać się na różne próby, problemy. Normalne jest, że X rzeczy popsujesz, źle zrobisz, źle coś założysz na początku.

Dołącz do grup na fb z problemami w programowaniu, zleceniami, grupy dyskusyjne (różne języki, technologie) itd. Ja od początku swojej drogi obserwuje masę wątków, czytam, patrzę na dramy - z ciekawości, ale też widzę jakie ludzie mają problemy, co ludzie sugerują, jakie rozwiązania dają. Zapisuje je sobie. Bardzo dużo mi to ciągle daje. Jestem też dzięki temu na bieżąco. Np. wchodzi nowy framework to już na grupie X jest dyskusja czy warto użyć a czy może coś innego, wady, plusy.

Ktoś ma problem jakiś, myślę spoko, nie wiem o co chodzi, ale może się kiedyś przyda i klikam na fb w wątku żeby przychodziły mi powiadomienia jak jest jakiś nowy komentarz i wiedzy przybywa. Obserwuj ludzi z branży, oglądaj ich tikotki, insta - tak żeby być na bieżąco i właśnie podbijać to zaciekawienie i chęć próbowania nowych rzeczy.

Czasami programowanie opisuje jak bycie czarodziejem :D Uczysz się np. nowego języka czy ogarniesz coś nowego - framework, wzorzec projektowy, dowiesz się coś ciekawego to dokładasz nowe “zaklęcie” do swojego stacka i powiększasz swoje pole manewru przy projektach, pracy z klientem.

Rób projekty na boku - wymyśl sobie automatyzację, jakąś aplikacje - zrób ją. Większość skili, które mam aktualnie wypracowałem sobie na boku. Nikt nie dałby mi zlecenia na system XYZ bo nie miałem doświadczenia i sam nie wiedziałbym jak się za to zabrać. Przez to, że sam na boku postanowiłem sobie, że napiszę to przebrnąłem przez wiele problemów, za które nikt nie chce płacić. Sprawdziłem różne rozwiązania i zdobyłem doświadczenie. Wiele te wynikło przez to, że zobaczyłem jakieś ciekawe rozwiązanie w necie i pomyślałem, że chcę spróbować jak się to robi - i bum, kolejne “zaklęcie” do swojego stacka.

Nie bądź upartym typowym programistą - bądź programistą, który rozumie biznes. Jeżeli dużo będziesz pracować z klientem i wystawiać się na taką pracę to przyjdzie Ci to naturalnie. Rozum to jako wyważanie swojej pracy między “bycie książkową, wzorową od linijki” - co nie jest zawsze opłacalne w biznesie a pójściem w odpowiednich momentach na wypracowane skróty.

Nie wymyślaj koła na nowo - jeżeli dane gotowe rozwiązanie można zaimplementować w Twoim projekcie i jest ono otwarte na zmiany, rozumiesz jego ograniczenia i wiesz gdzie robi odpowiednią przewagę to korzystaj z tego. Nie żałuj wydawać pieniędzy na kursy, które Cię interesują - spłacą Ci się przy pierwszej okazji użycia danej technologii z kursu.

Mam nadzieje, że natchnie Cię to czytelniku.