#01 Q&A — pytacie, a my odpowiadamy

By 31 January 2016 ITlogy

Dosta­je­my od Was maile, pry­watne wiado­moś­ci, komen­tarze i wyda­je nam się, że dobrze by odpowiedzi na część z nich pub­likować jako wpis — bo mogą się przy­dać więk­szej grupie osób. Poniżej pier­wsza edy­c­ja Q&A — 5 pytań / 5 odpowiedzi.

Dlaczego w footrzastej nie korzystacie z najnowszej wersji LWGL? Jak wybrać odpowiednią wersje biblioteki?

W footrastej korzys­tamy z najnowszej sta­bil­nej wer­sji bib­liote­ki LWJGL. To cza­sem ważniejsze niż po pros­tu najnowsza wer­s­ja, szczegól­nie w przy­pad­ku tuto­ri­ali czy kursów czy mate­ri­ałów, które nie będą bard­zo inten­sy­wnie rozwi­jane. Pytanie moż­na tutaj bardziej uogól­nić — czym kierować się wybier­a­jąc bib­liotekę do swo­jego pro­jek­tu (a nie tylko jej wer­sję). Moż­na wyróżnić kil­ka czyn­ników, które należy wziąć pod uwagę:

  • kiedy była wydana ostat­nia sta­bil­na wer­s­ja — im ‘świeższa’ jest bib­liote­ka, tym mniejsze praw­dopodobieńst­wo, że braku­je jej czegoś ważnego, jakiejś nowej funkcji; z drugiej strony bib­liote­ka, która częs­to wyda­je nowe sta­bilne wer­sje z niekom­paty­bil­nym API, może spowodować, że przy każdym update bib­liote­ki będziesz musi­ała dopa­sować kod do najnowszych zmi­an; uwa­ga — nie zawsze nieak­tu­al­i­zowane oznacza złe — kil­ka bib­liotek, pomi­mo że nie była aktu­al­i­zowana od daw­na, nadal jest (praw­dopodob­nie) najlep­szym wyborem w danym zakre­sie — przykłada­mi mogą być np. Doz­er do mapowa­nia czy swego cza­su c3p0 do obsłu­gi puli połaczeń
  • jak wyglą­da doku­men­tac­ja bib­liote­ki — jeśli bib­liote­ka nie ma porząd­nej doku­men­tacji, wielu przykładów, jas­nego opisu i czytel­nego podzi­ału doku­men­tacji może się okazać, że więcej cza­su poświę­ci­c­sz na jej ‘oga­r­ni­an­ie’ niż jest to warte; dobra doku­men­tac­ja i wiele przykładów (nie tylko frag­men­tów kodu, ale pełnych pro­jek­tów) to ogrom­ny plus dla projektu
  • co ze wspar­ciem społecznoś­ci — dobrym sposobem na sprawdze­nie jest wyszukanie nazwy na stack­over­flow — bib­liote­ka, której nazwa zwraca mało wyników, oznacza praw­dopodob­nie że mało osób z niej korzys­ta i ciężko będzie nam uzyskać pomoc społeczności
  • jak dłu­go jest rozwi­jana — wiele pro­jek­tów jest dynam­icznie rozwi­janych na początku swo­jego ist­nienia, po czym zapał devel­op­erów usta­je — nie inaczej ma się rzecz z bib­lioteka­mi — super funkcjon­al­na, która jest rozwi­jana od 3 miesię­cy może zostać porzu­cona za kole­jne 3; z drugiej strony bib­liote­ka wydawana reg­u­larnie od X lat daje więk­szą pewność, że nie zostanie porzu­cona (a także tego, że jest wystar­cza­ją­co sta­bil­na i dojrzała)
  • ile osób uczest­niczy w pro­jek­cie — wiele świet­nych narzędzi jest dziełem jed­nej oso­by, która się poświę­ca dane­mu pro­jek­towi — to oczy­wiś­cie ryzyko, ponieważ różne rzeczy się mogą zdarzyć i wspar­cie może zniknąć z dnia na dzień
  • opinie innych osób, doświad­czenia z innych pro­jek­tów — to najważniejszy aspekt, na pod­staw­ie którego należy pod­jąć decyzję — jeśli pra­cow­ałaś już z daną bib­lioteką, najpraw­dopodob­niej znasz jej wady, prob­le­my które mogą wys­tąpić, taka wiedza jest cen­niejsza niż jakiekol­wiek inne porów­nanie czy opis

Co sądzicie o certyfikacji OCPJP( Oracle Certificated Professional Java Programmer)?

Ania: Mimo, że samo zdanie cer­ty­fikatu nadal czeka na liś­cie TODO, to kil­ka miesię­cy temu trochę się do niego przy­go­towywałam. Dla mnie sama pra­ca z mate­ri­ała­mi wyma­gany­mi na cer­ty­fikat była bard­zo cen­na — uporząd­kowałam swo­ją wiedzę, poz­nałam kil­ka cieka­wostek (których nie do koń­ca wyko­rzys­tam w prak­tyce, ale samo poz­nanie ich było geekową przy­jem­noś­cią). Jeśli będę miała trochę wol­nego cza­su (a pier­wsza połowa tego roku raczej go nie przewidu­je) to dla sprawdzenia siebie i dal­szego roz­wo­ju — chci­ałabym zdać dwa pier­wsze cer­ty­fikaty z Javy 8.

Kuba: Cer­ty­fikat zdawałem jak­iś czas temu, czy pomógł mi w zdoby­ciu pra­cy? Wyda­je mi się, że nie wprost, ale ogól­nie ścież­ka cer­ty­fikacji poz­woliła mi znaleźć obszary, w których musi­ałem się jeszcze poduczyć, zwery­fikować swo­ją wiedzę. Ponieważ miałem już wtedy jakieś doświad­cze­nie w pro­gramowa­niu komer­cyjnym, wyda­je mi się, że pra­co­daw­cy nie przy­wiązy­wali do nich dużej uwa­gi. Mimo wszys­tko uważam, że było warto — kilkukrot­nie już zdarzyło mi się, że wiedza naby­ta pod­czas przy­go­towa­nia do cer­ty­fikatu (mimo że nie korzys­tałem z niej w prak­tyce przy innej okazji) pomogła mi rozwiązać prob­lem czy też zrozu­mieć, jak on pow­sta­je. Nawet jeśli nie planu­jesz wykon­ać fak­ty­cznej cer­ty­fikacji, pole­cam pouczyć się z książek do nich przy­go­towu­ją­cych — jest to wiedza szczegółowa, dość przekro­jowa 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?

Teo­re­ty­cznie tak — ponieważ rekru­tac­je w więk­szoś­ci sprawdza­ją wiedzę raczej teo­re­ty­czną i książkową, odpowied­nio się przy­go­towu­jąc moż­na ‘pokon­ać’ rekru­tac­je na stanowisko devel­op­er­skie — pytanie tylko czy warto? Od devel­opera oczeku­je się, że będzie on też poma­gał zespołowi i uczył młod­szych od siebie stażem. Jeśli to dopiero two­ja pier­wsza pra­ca, najpraw­dopodob­niej nie znasz dobrych prak­tyk, możesz nie do koń­ca wiedzieć co leży w zakre­sie obow­iązków pro­gramisty a co nie, i — mówiąc wprost — możesz skrzy­wdz­ić czyjąć kari­erę i rozwój. Jed­noczes­nie Tobie będzie bard­zo ciężko się rozwi­jać, bo od devel­opera oczeku­je się roz­wo­ju w innych obszarach niż od junio­ra. Być może jesteś bard­zo ambit­na, i chci­ałabyś rzu­cić się na glęboką wodę od razu, ale w ten sposób możesz także sobie utrud­nić rozwój .

Także moż­na, ale po pros­tu nie warto.

Z jakich narzędzi korzystacie do tworzenia grafik na blogu?

Nasze pod­sta­wowe narzędzie to can­va, wspier­amy się dar­mowy­mi ikon­a­mi z icon­find­er’a, a zdję­cia obra­bi­amy w pixlr. Sam motyw kolorysty­czny wybral­iśmy dzię­ki colourlovers. Po więcej narzędzi odsyłamy do blo­ga Artu­ra Jabłońskiego, który zebrał wszys­tkie fajne aplikac­je do tworzenia grafik w jed­nym miejscu.

(Kuba) jak udało Ci się przekonać Anię do nauki programowania?

Kuba: Tak naprawdę nie musi­ałem ;) Po pros­tu pokaza­łem Ani czym naprawdę jest pro­gramowanie, że to może być ciekawe i że to w gru­cie rzeczy takie kloc­ki lego tylko wirtu­alne — z małych cegiełek moż­na zbu­dować coś naprawdę ekstra! Myślę, że głównym argu­mentem była log­iczność i kon­sek­wenc­ja tego wszys­tkiego — o ile fak­ty­cznie częs­to jed­ną rzecz moż­na zro­bić na kil­ka sposobów, to po pier­wsze jest prosty sposób na wery­fikację dzi­ała-nie dzi­ała, a po drugie nie ma tutaj czyn­ni­ka losowego — albo wiado­mo jak powiedzieć kom­put­erowi, żeby coś zro­bić, albo nie, ale sam z siebie nie pode­jmie innej decyzji, nie zrozu­mie infor­ma­cji inaczej itp. Dużym zaskocze­niem było też to, jak otwar­cie i chęt­nie ludzie w branży IT dzielą się swo­ją wiedzą i są skłon­ni poma­gać innym. Oczy­wiś­cie nie wszyscy, ale na szczęś­cie ci oga­r­ni­a­ją­cy lep­iej — jak najbardziej ;)

Ania: To musi­ała być moja samodziel­na decyz­ja, inaczej zrezyg­nowałabym bard­zo szy­bko. Od razu zafas­cynowało mnie to, jak ciekawe jest tworze­nie kodu — takie puz­zle czy zagad­ki log­iczne, tyle, że odpowiada­jące na bardziej realne potrze­by.  Trochę zas­tanaw­iałam się, bo to jed­nak była poważ­na decyz­ja — więcej zna­jdziecie w tym wpisie. 

Mamy nadzieję, że seria przy­pad­nie Wam do gus­tu, a jeśli macie jakieś pyta­nia — śmi­ało zada­j­cie je w komen­tarzu — naj­ciekawsze, trafią do kole­jnego Q&A.