
Nasze początki – część 3. Najważniejsze są chęci – historia Patryka

Trzecia część cyklu „Nasze początki” przybierze trochę inny charakter. Po poznaniu historii Leszka i Pawła, czas na Patryka – autora naszej serii, który nie tylko zdradza, jak trafił do branży IT, ale również podpowiada, jak do niej dołączyć. I przede wszystkim – jak dołączyć do AUCTANE. Oddajemy mu głos.
Ikonka z przewagą niebieskiego, białe tło edytora, brak podświetlenia, a na koniec zapisanie pliku z rozszerzeniem .html. Tak określiłbym swoje początki na drodze do zostania programistą. Kilka miesięcy później, mając też co nieco wiedzy ogólnej z budowy komputera, za czasów gimnazjum (kiedyś to było) wziąłem udział w konkursie z informatyki. Zająłem tam drugie miejsce, a laureat śledził mnie przez całe technikum po studia, przypominając, kto jest #1.
Pierwsze kroki w stronę czegoś, co mogę nazwać programowaniem, podejmowałem w Pascalu. To było zderzenie z rzeczywistością – programy tworzą ludzie, a nie czarodzieje, wszystko trzeba napisać? Pascala, jeśli dobrze pamiętam, zakończyłem na bardzo podstawowym poziomie. Były to zmienne, metody i instrukcje go-to. Odłożyłem Pascala i szukałem czegoś nowszego. Tak znalazłem Javę i rozpocząłem walkę ze słynnym JVM. Było łatwo? Absolutnie nie. Zrozumienie klas, referencji, polimorfizmu, typów zmiennych i dlaczego obsługa wyjątków jest ważna, było wyzwaniem jakich mało. Moja nauka trwała spokojnie rok. Do tego kilka kursów, dwa własne projekty i wtedy uznałem, że to dobry moment, żeby się sprawdzić. Czy u wszystkich to trwa rok? Oczywiście nie. Może to być krócej, a może być nieco dłużej.
Ale co było najważniejsze…? Programowanie to nauka nie tylko o tym jak klepać w klawiaturę, żeby wyświetliło się „Hello World”. Programowania w 90% nauczyłem się na własnych błędach, nieobsłużonych wyjątkach, braku walidacji i błędach logicznych. Było ich setki, a nawet tysiące. Dlatego nie samo oglądanie kursów, a robienie własnego projektu jest największym wyzwaniem. Mogę obiecać jedno – nie będzie działać za pierwszym razem. Ale czy to źle? Jak dostajesz pracę programisty to czy wszystko działa za pierwszym razem? Tutaj odpowiedź to raz jeszcze – nie. Testy developera i testy QA szybko weryfikują rzeczywistość i zaczynają się poprawki. Ale właśnie o to chodzi. Żeby coś funkcjonowało stabilnie, potrzeba czasu i kilku par oczu.
No dobra, więc co muszę umieć?
Najważniejsze to dużo chęci. Serio. To trudne patrzeć, jak napisany program niekoniecznie działa po naszej myśli, więc duży upór to podstawa.
C# .NET i nie tylko
Technologie, które warto poznać, aby stać się jednym z AUCTANE-owców to na pewno C# .NET. Wykorzystywany przez kilka działów, a w tym mój, czyli kurierski. Szczególną uwagę zwracamy na czysty kod. Jeśli to, co wysłałeś/aś razem z CV, czyta się świetnie, to jesteś na dobrej drodze. Jeśli chodzi o logikę, zwracamy uwagę na każde miejsce, gdzie może być null, pusta wartość czy jakikolwiek nieobsłużony wyjątek. Warunki powinny stać się nowym sojusznikiem w sprawdzaniu, czy wszystkie wartości, które miały być podane, są podane. Warto też się pochylić nad wydajnością pisanego kodu. Dla początkującego może zdawać się to zbędne, ale spróbuj użyć „Gatlinga” lub nawet SoapUI i przetestować obciążeniowo swój program, a następnie spróbuj coś poprawić, żeby było szybciej i lepiej. Dodatkowy atut? Gatling i znajomość testów obciążeniowych dobrze prezentują się na CV 🙂
Warto też zainteresować się regexami, ulubionym przez wszystkich polimorfizmem i wzorcami projektowymi. Modyfikatory dostępu, jakie są typy danych i gdzie są przechowywane w pamięci oraz czym jest „static”. Dla niektórych zabrzmi to jak podstawy (i słusznie), a dla reszty powinno zabrzmieć jak lista TODO do nauki.
Wydajność
Testy obciążeniowe były, ale to nie jedyny typ testów. Dołączając do AUCTANE jest duża szansa, że kod zostanie sprawdzony przez Marcela. Tutaj bez Unit Testów ani rusz. Warto do swojego projektu dołączyć NUnit i uruchomić wyobraźnię, co mogłoby pójść nie tak. Przydatna może się okazać wiedza z zasad „SOLID” oraz konwencji nazewniczej AAA (GWT). Przemyśl też, co ma priorytet, kiedy test się nie powiedzie – powinien zostać zmieniony test czy kod?
Baza danych
Nie obejdzie się też bez miejsca, gdzie można przechowywać dane – bazy danych. Choć mamy od tego osobny team świetnych „bazodanowców”, to nie obejdzie się bez dobrych podstaw w tym zakresie. Co mam na myśli?
- Bez SELECTa ani rusz. Podstawa podstaw.
- DML czyli wpływanie na to, co już na bazie się znajduje.
- Duża ilość danych w bazie wymaga tego, aby zapoznać się z indeksami.
- Na koniec nie można zapomnieć też o procedurach.
A może Java?
Nie można też zapomnieć o Javie. Również szeroko wykorzystywana w AUCTANE. Dużo dzieli z C# (a nawet na odwrót), dlatego przejście przez kroki, które wspomniałem wyżej, na pewno pomoże. Znajomość Springa oraz obsługi baz danych w kodzie będzie sporym atutem.
ShipEngine
W ostatnim czasie w firmie również pojawił się TypeScript. Osoby poruszające się w tym zakresie będą mogły wykazać się inicjatywą w trakcie tworzenia nowych procesów, podejścia do tworzenia kodu, sprawdzania czy testowania.
Kontrola wersji
A wszystko to łączy nic innego jak kontrola wersji. Najlepszy sposób, aby pokazać swój projekt to wysłać linka do repozytorium. Ale, żeby to było możliwe, warto poznać kilka komend Gita, takich jak: push, pull, commit czy add.
Wielki krok
Mając to wszystko trzeba postawić pierwszy duży krok i wysłać do nas CV. Powiem o tym, co mamy, co się podobało i co będziesz mógł u nas podszlifować 🙂