Wpis z mikrobloga

Drodzy(ie) przyszli pythoniści(tki),

Naobiecywałem już sporo więc czas, żeby OP deliver - czas na opowieść jak to z zera do bohatera dostałem swoją pierwszą pracę jako programista Python’a a poniżej również mini poradnik dla zainteresowanych.

Moja historia – pracowałem jako korposzczur praktycznie przez 6-7 lat przed tym, jak dostałem swoją pierwszą pracę. Miałem w przeszłości minimalną styczność z programowaniem, mianowicie - w latach 2000, za gimbazy miałem swojego bloga, czyli minimalny HTML i JS, żeby dodawać kursory/ muzyczkę w tle (IKS DE).
W korpogówlandii obczajałęm Excela i VBA makra, w sumie pod koniec mojej przygody ogarnąłem makra, które robiły pracę na dzień w przeciągu 30 min. Moja szefowa nie za bardzo mnie lubiła z wiadomych względów xD Zawsze byłem mega leniwy i chyba to łączy programistów, chęć automatyzowania i generalne zdrowe #!$%@?.
W pewnym momencie, z racji tego, że nienawidziłem swoją pracy dosyć sporo – postanowiłem ją rzucić i iść na zasiłek, na którym byłem gotowy na naukę programowania (nie polecam tej opcji – więcej w poradniku). Zmotywowało mnie otoczenie, kilka znajomych dostało pracę po 6-miesięcznych bootcampach.
Wybrałem Pythona, bo trafił do mnie łatwy syntax, przejrzystość i chyba to pierwsze co wyskoczyło po tym jak wpisałem „Learn how to program” w Google. Najtrudniej było mieć dyscyplinę, żeby usiąść przynajmniej te 2 godziny dziennie. Przynajmniej! Po 6 latach w korpo mózg trochę słabo pracował, więc czasami czułem się przegrzany. Rok temu miałem również problem z alkoholem, trochę za często się to zdarzało – ogólnie to polecam rzucić chlanie, bo nie pomaga w życiu (1 rok bez % here). Więcej technicznych szczegółów będzie poniżej ale generalnie moje życie opierało się na robieniu Project Euler, który jest dla mnie jednym z najlepszych projektów do nauki programowania. Poza tym, od razu po tym, jak już trochę bardziej ogarniałem Pythona – postanowiłem zrobić stronę internetową w Django – najpierw dla siebie, później dla mojej żony, która jest grafikiem komputerowym i akurat potrzebowała portfolio. Django bardzo mi się spodobało, jest to świetny framework, który motywuję sporo, bo widać efekty swojej pracy i można się pochwalić swoją pracą (np. przyszłemu pracodawcy).
Podczas codziennego programowania dodawałem sporo rzeczy, których się nauczyłem na swojego Bloga, którego zrobiłem w Django. Jako że miałem za sobą już sporą część Project Euler, mojego Bloga + stronę dla mojej żony – postanowiłem wybrać się na Pycona który był organizowany niedaleko mnie. Po tym było już z górki. W sumie nie miałem za bardzo nadziei na żadną pracę, dobrze się tam bawiłem, poszedłem na wszelakie konferencje i talk’i, dowiedziałem się sporo o programowaniu. W niedziele były targi pracy, poszedłem do wszystkich możliwych pracodawców. Wszystkich było około 10, 3 z nich miało w ofercie Juniora. Rozmowy były na luzie, z reguły to nie miało to formy rozmowy o pracę, bardziej informal talk, bardzo spodobał się im mój Blog, na którym pisałem o swoich zmaganiach z programowaniem – dobrze, że było widać tam, że coś robiłem, a nie że siedziałem na bezrobotnym na dupie :) . Dostałem się na dwie rozmowy o pracę, na jednej z nich były jakieś podstawowe zadania z Python, ale nic co mnie zaskoczyło, przygotowałem się a te zadania, które są na rozmowach często nie różnią się niczym od tych z pierwszych stron google. Trochę pytań o programowaniu, generalnie nic specjalnego. Dostałem dwie oferty, wybrałem tą lepszą i w sumie to by było na tyle. Rok w tej firmie, teraz zmieniam pracę na coś lepszego – licząc na zarobki w granicach 10k netto miesięcznie.

MINI PORADNIK*:
* (z góry mówię że wszystko bardzo subiektywne)

1. Just do it.
Najważniejszy krok to zacząć. Nie ważne skąd twoja motywacja, czy są to pieniądze, czy może pasja/zainteresowanie tematem. Jeżeli chcesz zostać programistą musisz poświęcić X czasu dziennie, żeby w końcu zdobyć cel. Postaw sobie cel, a przede wszystkim ustal ile godzin dziennie będziesz spędzać na naukę i zrób to. Nawet jeżeli na początku nic z tego nie będzie wychodzić, usiądź do kompa i piłuj.

2. Don’t quit your job
Czy warto rzucić pracę żeby zacząć naukę programowania? Jeżeli cię na to stać – spoko. Inaczej tego bym nie robił. Zawsze miej na uwadze, że prawdopodobnie piszesz się na 6 miesięcy do 1 roku, zanim dostaniesz swoją pierwszą pracę (o ile wszystko pójdzie ok). Nie ma nic złego od zaczynania nauki, gdy ma się pracę. Zależnie od twojej pracy, zawsze można robić to w wolnych chwilach. Jeżeli masz dostęp do przeglądarki – można sobie mieć otworzone np. https://www.programiz.com/python-programming/online-compiler/ i jakieś kursy / zadania. Wiem, że ja w korpo miałem sporo czasu na takie rzeczy.

3. Choose your tools.
Wybierz swoje narzędzia i trzymaj się nich (przynajmniej na początku). Częsta zmiana IDE(edytora) lub – co gorsza – wyboru języka programowania nie wpływa dobrze na efekty nauki. Widzę sporo ludzi na #python ciągle zadających pytania na temat jaki najlepszy kurs, jaki najlepszy edytor do Pythona – wszystkie te pytania to według mojej opinii prokrastynacja i ucieczka od nauki.

Co JA polecam do początkujących Pythonistów (później możecie zmienić):
- Linux – w miarę możliwości przesiadka na Linuxa (Najlepiej Ubuntu) i ustawienie swojego systemu stricte do nauki/produktywności.
- Sublime Text - https://www.sublimetext.com/ - dobry IDE na początek, sporo wtyczek, które łatwo zainstalować, działa szybko i można sobie samemu skonfigurować dosyć spoko.
- Poetry - https://github.com/python-poetry/poetry – Jako virtual enviroment. Z reguły chodzi o to, żeby nie instalować sobie bibliotek Pythona globalnie tylko mieć oddzielne środowisko Pythonowa dla danych projektów.

4. Choose your path.
Wybierz swój kurs lub zadania które będziesz robić i je rób. Jak dojdziesz do momentu, że będą one za łatwe, sprobuj znaleźć coś trudniejszego i idź dalej. Po 3-4 miesiącach polecam zrobić coś większego. Np. swój własny CLI lub projekt w Django/Flask – np. Blog, na którym będziesz pisać o swoich zmaganiach.

Niesamowicie polecam poniższe projekty/ zadania:
- https://projecteuler.net/ - świetny, jeżeli przejdziesz przez 50 pierwszych, to na pewno dostaniesz robotę !
- https://www.youtube.com/user/schafer5 – Spoko koleś i jego tutki
- https://docs.python-guide.org/ - Wszystko, co musisz wiedzieć na początek :)

Teraz jest tego tyle, ale najważniejsze to coś wybrać i zapomnieć o innych, musisz cały czas coś robić , a nie się zastanawiać.
5. Pycon events are worth it !
Jeżeli masz możliwość pójścia na Pycon albo jakąś konferencje lub jakieś eventy (nawet online #pandemia) to na pewno wybierz się ! Nie przejmuj się, że jesteś noobem, bo generalnie to po to są te eventy. Ludzie są mega pomocni i na pewno znajdziesz tam kogoś, kto Ci pomoże.

6. Read more code!
Duża część programowania to czytanie kodu. Czytaj kod, który rozumiesz i staraj się obczaić i czytać więcej, po nitce do kłębka jak to mówią. Czytaj, czytaj, czytaj.

7. Don’t be afraid to Google.
Google to twój przyjaciel, nie bój się kopiować i używać obcego kodu i nim manipulować.Ale bardzo ważne-staraj zrozumieć się to, czego używasz w miarę możliwości.
8. Take a break.
Nie przegrzewaj mózgownicy. Jeżeli paruje to zrób przerwę - wyjdź na spacer z psem i napij się wody.

Mam nadzieję, że to komuś pomoże!

#python #programowanie #programista15k #nauka #praca #pracbaza #informatyka
  • 22
via Wykop Mobilny (Android)
  • 0
@patrolez: Też może być, tak jak napisałem- subiektywnie. Najważniejsze żeby wybrać i już nie zmieniać co chwilę :D

Ja po roku robię przesiadkę na VIM.

@Happy_Aye:
Dostałem pracę rok i 3 miesiące temu. Na swoim koncie miałem blog z wpisami o programowaniu / portfolio mojej żony ( obydwie strony w Django) oraz Project Euler (50 zadań zrobione)
Właściwie to trochę namieszałem bo zapomniałem napisać o zadaniu (większym) które zrobiłem dla
@mozgogrdyczka @Dacir @caalkiem_nowe03 @Cube189 @Another_One @Altair_rozpruwacz @znkk @muskel @Ant0n_Panisienk0 @Perkusista008 @mprzemo @Package @zarazek_pyton @usor @kondiq22 @Piekny_Krolewicz @TyBeju @zielonyMISZCZ @arek222 @gaceg @ZawszeMyjeKubkiOctem@schreder @Syllia @Fhrancuz @toonietak @Happy_Aye:

Tak jak napisałem wcześniej, zapomniałem dopisać że aktualny pracodawca dał jeszcze zadanie do zrobienia w domu:
https://www.dropbox.com/s/11ogz3v3ynhu5k5/BirthdayCalendar-PythonCLITask.rst?dl=0

Dodatkowo dwa Django zadania z którymi miałem styczność w tym roku:
https://www.dropbox.com/s/2yqy7uvhjeb7f0i/URLShortener-DjangoTask.rst?dl=0
https://www.dropbox.com/s/hzgo8kav8i70c9y/FirstContact-DjangoTask.pdf?dl=0

Po 3-4 miesiącach nauki warto zrobić coś większego w tym stylu. Nawet żeby sobie poćwiczyć.