Dostajemy od Was maile, prywatne wiadomości, komentarze i wydaje nam się, że dobrze by odpowiedzi na część z nich publikować jako wpis — bo mogą się przydać większej grupie osób. Poniżej pierwsza edycja Q&A — 5 pytań / 5 odpowiedzi.
Dlaczego w footrzastej nie korzystacie z najnowszej wersji LWGL? Jak wybrać odpowiednią wersje biblioteki?
W footrastej korzystamy z najnowszej stabilnej wersji biblioteki LWJGL. To czasem ważniejsze niż po prostu najnowsza wersja, szczególnie w przypadku tutoriali czy kursów czy materiałów, które nie będą bardzo intensywnie rozwijane. Pytanie można tutaj bardziej uogólnić — czym kierować się wybierając bibliotekę do swojego projektu (a nie tylko jej wersję). Można wyróżnić kilka czynników, które należy wziąć pod uwagę:
- kiedy była wydana ostatnia stabilna wersja — im ‘świeższa’ jest biblioteka, tym mniejsze prawdopodobieństwo, że brakuje jej czegoś ważnego, jakiejś nowej funkcji; z drugiej strony biblioteka, która często wydaje nowe stabilne wersje z niekompatybilnym API, może spowodować, że przy każdym update biblioteki będziesz musiała dopasować kod do najnowszych zmian; uwaga — nie zawsze nieaktualizowane oznacza złe — kilka bibliotek, pomimo że nie była aktualizowana od dawna, nadal jest (prawdopodobnie) najlepszym wyborem w danym zakresie — przykładami mogą być np. Dozer do mapowania czy swego czasu c3p0 do obsługi puli połaczeń
- jak wygląda dokumentacja biblioteki — jeśli biblioteka nie ma porządnej dokumentacji, wielu przykładów, jasnego opisu i czytelnego podziału dokumentacji może się okazać, że więcej czasu poświęcicsz na jej ‘ogarnianie’ niż jest to warte; dobra dokumentacja i wiele przykładów (nie tylko fragmentów kodu, ale pełnych projektów) to ogromny plus dla projektu
- co ze wsparciem społeczności — dobrym sposobem na sprawdzenie jest wyszukanie nazwy na stackoverflow — biblioteka, której nazwa zwraca mało wyników, oznacza prawdopodobnie że mało osób z niej korzysta i ciężko będzie nam uzyskać pomoc społeczności
- jak długo jest rozwijana — wiele projektów jest dynamicznie rozwijanych na początku swojego istnienia, po czym zapał developerów ustaje — nie inaczej ma się rzecz z bibliotekami — super funkcjonalna, która jest rozwijana od 3 miesięcy może zostać porzucona za kolejne 3; z drugiej strony biblioteka wydawana regularnie od X lat daje większą pewność, że nie zostanie porzucona (a także tego, że jest wystarczająco stabilna i dojrzała)
- ile osób uczestniczy w projekcie — wiele świetnych narzędzi jest dziełem jednej osoby, która się poświęca danemu projektowi — to oczywiście ryzyko, ponieważ różne rzeczy się mogą zdarzyć i wsparcie może zniknąć z dnia na dzień
- opinie innych osób, doświadczenia z innych projektów — to najważniejszy aspekt, na podstawie którego należy podjąć decyzję — jeśli pracowałaś już z daną biblioteką, najprawdopodobniej znasz jej wady, problemy które mogą wystąpić, taka wiedza jest cenniejsza niż jakiekolwiek inne porównanie czy opis
Co sądzicie o certyfikacji OCPJP( Oracle Certificated Professional Java Programmer)?
Ania: Mimo, że samo zdanie certyfikatu nadal czeka na liście TODO, to kilka miesięcy temu trochę się do niego przygotowywałam. Dla mnie sama praca z materiałami wymaganymi na certyfikat była bardzo cenna — uporządkowałam swoją wiedzę, poznałam kilka ciekawostek (których nie do końca wykorzystam w praktyce, ale samo poznanie ich było geekową przyjemnością). Jeśli będę miała trochę wolnego czasu (a pierwsza połowa tego roku raczej go nie przewiduje) to dla sprawdzenia siebie i dalszego rozwoju — chciałabym zdać dwa pierwsze certyfikaty z Javy 8.
Kuba: Certyfikat zdawałem jakiś czas temu, czy pomógł mi w zdobyciu pracy? Wydaje mi się, że nie wprost, ale ogólnie ścieżka certyfikacji pozwoliła mi znaleźć obszary, w których musiałem się jeszcze poduczyć, zweryfikować swoją wiedzę. Ponieważ miałem już wtedy jakieś doświadczenie w programowaniu komercyjnym, wydaje mi się, że pracodawcy nie przywiązywali do nich dużej uwagi. Mimo wszystko uważam, że było warto — kilkukrotnie już zdarzyło mi się, że wiedza nabyta podczas przygotowania do certyfikatu (mimo że nie korzystałem z niej w praktyce przy innej okazji) pomogła mi rozwiązać problem czy też zrozumieć, jak on powstaje. Nawet jeśli nie planujesz wykonać faktycznej certyfikacji, polecam pouczyć się z książek do nich przygotowujących — jest to wiedza szczegółowa, dość przekrojowa i zawsze coś w pamięci zostanie ;)
Przebranżowiłem się, nie chcę jednak zaczynać od stażu/stanowiska juniorskiego. Czy mam szanse zacząć od razu jako developer?
Teoretycznie tak — ponieważ rekrutacje w większości sprawdzają wiedzę raczej teoretyczną i książkową, odpowiednio się przygotowując można ‘pokonać’ rekrutacje na stanowisko developerskie — pytanie tylko czy warto? Od developera oczekuje się, że będzie on też pomagał zespołowi i uczył młodszych od siebie stażem. Jeśli to dopiero twoja pierwsza praca, najprawdopodobniej nie znasz dobrych praktyk, możesz nie do końca wiedzieć co leży w zakresie obowiązków programisty a co nie, i — mówiąc wprost — możesz skrzywdzić czyjąć karierę i rozwój. Jednoczesnie Tobie będzie bardzo ciężko się rozwijać, bo od developera oczekuje się rozwoju w innych obszarach niż od juniora. Być może jesteś bardzo ambitna, i chciałabyś rzucić się na glęboką wodę od razu, ale w ten sposób możesz także sobie utrudnić rozwój .
Także można, ale po prostu nie warto.
Z jakich narzędzi korzystacie do tworzenia grafik na blogu?
Nasze podstawowe narzędzie to canva, wspieramy się darmowymi ikonami z iconfinder’a, a zdjęcia obrabiamy w pixlr. Sam motyw kolorystyczny wybraliśmy dzięki colourlovers. Po więcej narzędzi odsyłamy do bloga Artura Jabłońskiego, który zebrał wszystkie fajne aplikacje do tworzenia grafik w jednym miejscu.
(Kuba) jak udało Ci się przekonać Anię do nauki programowania?
Kuba: Tak naprawdę nie musiałem ;) Po prostu pokazałem Ani czym naprawdę jest programowanie, że to może być ciekawe i że to w grucie rzeczy takie klocki lego tylko wirtualne — z małych cegiełek można zbudować coś naprawdę ekstra! Myślę, że głównym argumentem była logiczność i konsekwencja tego wszystkiego — o ile faktycznie często jedną rzecz można zrobić na kilka sposobów, to po pierwsze jest prosty sposób na weryfikację działa-nie działa, a po drugie nie ma tutaj czynnika losowego — albo wiadomo jak powiedzieć komputerowi, żeby coś zrobić, albo nie, ale sam z siebie nie podejmie innej decyzji, nie zrozumie informacji inaczej itp. Dużym zaskoczeniem było też to, jak otwarcie i chętnie ludzie w branży IT dzielą się swoją wiedzą i są skłonni pomagać innym. Oczywiście nie wszyscy, ale na szczęście ci ogarniający lepiej — jak najbardziej ;)
Ania: To musiała być moja samodzielna decyzja, inaczej zrezygnowałabym bardzo szybko. Od razu zafascynowało mnie to, jak ciekawe jest tworzenie kodu — takie puzzle czy zagadki logiczne, tyle, że odpowiadające na bardziej realne potrzeby. Trochę zastanawiałam się, bo to jednak była poważna decyzja — więcej znajdziecie w tym wpisie.
Mamy nadzieję, że seria przypadnie Wam do gustu, a jeśli macie jakieś pytania — śmiało zadajcie je w komentarzu — najciekawsze, trafią do kolejnego Q&A.