#01 Q&A – pytacie, a my odpowiadamy

By 31 stycznia 2016ITlogy

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.

  •  
  •  
  •  
  •  
  •  
  • XD

    Można prosić o te tytuły książek do ceryfikatu? Czy coś takiego wystarczy: https://docs.oracle.com/javase/tutorial/extra/certification/javase-7-programmer1.html ? Pozdrawiam serdecznie :)

  • Joasia

    Anna, czytam tego bloga ze względu na Ciebie, a nie na zainteresowania – no cóż, ponad podłączenie drukarki i prezentację w ppt nie wyjdę – ale niesamowicie przydał mi się fragment posta dot. grafik i postaram się dzisiaj nimi zająć przy pomocy tych stron!

  • Aneta

    Hej! Ukończyłam studia informatyczne ponad 10 lat temu, chciałabym wrócić do programowania. Od czego najlepiej zacząć?

    • Cześć, na początku warto zweryfikować swoją wiedzę – sprawdź się w zadaniach w internecie, idź na jedną rekrutację do firmy na której Ci nie zależy (najlepiej w innym mieście), porozmawiaj ze znajomymi ze studiów. Dowiedz się co sprawia Ci problemy i skup się żeby nad tymi elementami popracować, a potem przygotuj jakiś projekt do pokazania że jesteś na bieżąco i daj znać firmom, że szukasz pracy ;)

      Być może brzmi to trywialnie, ale największym problemem będzie dowiedzenie się, czego nie wiesz. Jeśli przejdziesz przez ten etap, powinno być już z górki

      • Aneta

        Dzięki za obszerną odpowiedź :). Właśnie moim największym problemem jest dowiedzenie się tego czego nie wiem :)). Z programowaniem miałam do czynienia na studiach a potem dłuuuuuuuugo nic. Nie wiem czy nie prościej byłoby zacząć naukę od początku? Wysyłałam swoje cv do kilku firm informatycznych, ale jakoś nie byli na tyle zainteresowani żeby zaprosić mnie na rozmowę, być może nie trafiłam tam gdzie powinnam (moje dotychczasowe doświadczenie zawodowe nie było związane ani z programowaniem ani z innymi pokrewnymi stanowiskami).
        Pozdrawiam Was serdecznie!

        • Wydaje mi się, że nauka od początku jest trochę przesadą – coś zawsze pamiętasz i takie podejście może Cię po prostu znudzić. A z firmami się nie zrażaj – być może trafiłaś akurat na jakieś niefajne ;)
          Trzymamy kciuki !

  • Damian

    Niedawno znalazlem na portalu społecznościowym zażartą dyskusje na temat przyszłości programowania. Z jednej strony wypowiadała się doświadczona programistka chyba html, css i te klimaty(tak przynajmniej twierdziła) która uważała że nadchodza czasy gdzie to system bedzie tworzył kod a programiści odejdą do lamusa.
    Czytając to od razu bylem ciekaw co Wy o tym myślicie, hmm?:-)
    Tak sobie myślę że cos w tym jest ponieważ powoli dochodzi do tego ze np zapytanie SQL tworzy sie za pomoca drag and drop(niestety nie uczy to myslenia)

    • Cześć, programowanie oczywiście idzie w stronę uproszczeń i programowania blokowego, komputery będą generowały więcej kodu, języki staną się potężniejsze itp. Z drugiej strony także te narzędzia ktoś musi zaprogramować ;) Myślę, że pracy dla programistów nie zabraknie, a rynek dostarcza wystarczająco specyficznych wymagań i przypadków brzegowych żeby zapewnić prace programistom na wiele lat.
      Naszym zdaniem programowanie po prostu stanie się bardziej obecne w życiu każdego z nas. Bardziej ważne staną się też kompetencje biznesowe, związane z pracą z klientem – bo programista nie tylko pisze kod, ale też rozwiązuje problemy klienta. Zastąpienie kodu schematami blokowymi nie ma na to wpływu i nigdy nie wyeliminuje konieczności obecności czynnika ludzkiego.

      • Damian

        No tak masz racje, coraz większe znaczenie ma taki customer experience a tylko człowiek zrozumie człowieka:) Ogół może zrobić system ale „smaczki” i tak musi dopracować programista.
        Dzięki wielkie Kuba!

        PS.
        Aniu,
        Dbaj o Kubę bo masz niebywałe szczęście mieć kogoś przy kim można się rozwijać i zasięgnąć fachowej pomocy :)

        • A on niech dba o mnie :P Myślę, że obydwoje wspieramy i stymulujemy swój rozwój nie tylko dzieląc się swoimi doświadczeniami (tu wiadomo tych programistycznych ma więcej Kuba, ale ja za to mogę mu poopowiadać o szkoleniu ludzi, pracy w zespole), ale też po prostu dyskutując o programowaniu – tutaj równie ważny co wiedza, jest też zdrowy rozsądek :)

          • Damian

            Widziałem kiedyś Twoje konto na linkedin – Kuba dużo się może od Ciebie nauczyć :)
            To dbajcie razem o siebie! :)

          • Oczywiście że tak! Oboje się od siebie sporo uczymy cały czas.
            I będziemy nadal dbać o siebie nawzajem, dzięki ;)