The Ruby Assocation LCC

Z racji tego moich ostatnich poszukiwań ośrodka Pearson VUE(http://vue.com/) w słonecznych Katowicach, natrafiłem na pewną ciekawostkę. Oprócz tego, że Pearson VUE jest wypierane przez centra egzaminacyjne Prometrica(http://www.prometric.com/),to dodatkowo ten drugi pozwala przystępować swoim klientom do egzaminu certyfikującego z zakresu znajomości programowania w języku… Ruby :slight_smile: Zawartość egzaminu sygnowana jest przez [i]The Ruby Association LLC/i. Ponieważ jak dotą nigdy nie miałem do czynienia z tą organizacją, czy ktoś może powiedzieć o niej coś więcej? Czy to coś na kształt odpowiednika Zend’a(http://www.zend.com) dla świata Rubiego? Czy może firma, która po prostu chcę zarobić na fali popularności Rubiego/Railsów? :wink: Pytam z czystej, wrodzonej ciekawości oczywiście.

Matz (twórca języka) jest chairman’em, poza nim jest jeszcze kilku Japończyków więc rzekłbym, że to coś na podobieństwo Zend’a - chociaż nie słyszy się o nich dużo (przynajmniej ja nie słyszałem). Organizują egzaminy z certyfikatem nawet, wyobraź sobie tytuł “RACP” :wink:

http://www.ruby-assn.org/certification/programmer/index.html.en

Wogole firmy patrza na ten certyfikat Zend’a ?

Sytuacja nieco mi się rozjaśniła :slight_smile: Rozszerzając nieco treść mojego pytania - kto na chwilę obecną tak właściwie odpowiada za rozwój Rubiego?

Jeśli chodzi o certyfikat Zenda, to wszystko zależy od pracodawcy. Jeżeli osoba poszukująca pracownika sama jest np. programistom PHP, to wie jaki materiał minimum musi znać osoba, która zdała ten egzamin. Pomimo teoretycznego natłoku programistów PHP, wydaje mi się, że niewielu z nich posiada jakąkolwiek głębszą wiedzę dot. tego języka programowania. Certyfikat Zenda jest więc wyłącznie(w mojej opinii oczywiście) miarą znajomości rozwiązań istniejących w PHP i uważam, że realnie potrafi pomóc w poszukianiach ewentualnego nowego miejsca pracy.

PS: Osobiście traktuje Zendzika również jako “maturę”, po której można skończyć z PHP… :wink:

Matz jako designer języka + banda skośnookich programistów, ala Koichi Sasada, Nobu etc. Dodatkowo wysyp innych implementacji interpreterów Rubiego zaowocował współpracą programistów tych projektów z Matzem i oni też mają pośredni wpływ na kształt języka.

Jak już zeszło na off-topic :wink:
Od dobrego znajomości API php (np. czy camel case czy underscore, jakich argumentów nie przyjmuje funkcja file) o wiele pożyteczniejsza jest wiedza z:

  • programowania obiektowego, wzorców projektowych
  • inżynierii oprogramowania
  • bezpieczeństwa
  • wydajności aplikacji webowych
    Nie wiem jak w innych firmach, ale w mojej przy rozmowach rekrutacyjnych głównie na te cechy zwraca się uwagę. :wink: Swoja drogą ciekawe jak sprawa wygląda gdzie indziej…?

Oczywiście zagadnienia, o których wspomniałeś są istotniejsze i ich pożyteczności nie śmiem podważać :slight_smile: Nie mniej rozmowę kwalifikacyjną często zaczyna się od prostych zagadnień. Przykładowo jeśli hipotetyczny kandydat na pytanie dot. sposobu łącznia tablic w PHP stwierdzi, że bez pętli się nie obejdzie, to coś z jego wiedzą na temat dostępnego API jest nie tak :wink: Certyfikat Zend-a w jakimś sensie daje “gwarancję”, iż osoba ubiegająca się o pracę wie na temat PHP coś więcej niż tylko to co znajdzie w jakimś kursie internetowym. Tzn. zna podstawy PHP “dogłębnie”. Z drugiej strony należy pamiętać, że Zendzik traktuje temat m. in. OOP bardzo po macoszemu, przez co sam w sobie certyfikat ten nijak ma się do całościowej wiedzy kandydata(niestety, ale programista z certyfikatem Zend nie musi wiedzieć zbyt wiele nt. programowania obiektowego, wzorców projektowyche itd.).

Jeśli chodzi o pytania w trakcie rozmów kwalifikacyjnych dot. innych aspektów programowania niż stricte API danego języka, to jak najbardziej w mojej firmie się one pojawiają :slight_smile: Niestety, wśród programistów PHP zbyt dużo osób nadal uważa techniki OOP za coś “niepotrzebnego” :frowning:

Ja mam nieco inne podejście do certyfikatów.

Według mnie certyfikat daje tylko jedną gwarancję: ktoś spędził mnóstwo czasu ucząc się na pamięć mnóstwa niepotrzebnych rzeczy. Oznacza to, że NIE POŚWIĘCIŁ tego samego czasu na pisanie wartościowego kodu.

Mam za to nadzwyczaj skuteczny sposób testowania kandydatów: projekty open source. Kandydat dla mnie nie istnieje dopóki nie może mi pokazać zestawu commitów z ładnie przetestowanym kodem. Gdy zgłaszają się do mnie osoby bez takich doświadczeń dostają tydzień lub dwa na odrobienie zaległości (strona http://opensourcerails.com/ jest nadzwyczaj przydatna :slight_smile: )

Nawet jeśli kandydat jest mocno początkujący ale w tym czasie jest w stanie włączyć się do projektu i napisać wysokiej klasy kod wraz z testami (choćby i ucząc się w międzyczasie) to jak najbardziej się nadaje. Pozostaje już tylko rozmowa na tematy finansowe.

Fakt posiadania certyfikatu nijak się po prostu ma do rzeczywistych umiejętności. Co więcej: podejrzewam, że łatwiej zrobić certyfikat z Ruby studentowi prawa czy medycyny niż dobremu informatykowi.

Dość ciekawy system rekrutacji, jednak świadomie odrzucasz/zmuszasz w ten sposób przyszłego pracownika do udzielania się w środowisku Open Source, co moim zdaniem różnie może zostać odebrane. Osobiście widzę zarówno zalety, jak i wady takiego “testu” dla kandydata :confused:

Odnosząc się do mojej wypowiedzi dot. przydatności certyfikatów, to lucassus w innym wątku wspomniał o mizernej “jakości” kandydatów na programistów PHP. Certyfikat Zend-a nie zapewnia danej posady oraz nie wyraża(o ile wogóle wyraża) w 100% wiedzy i umiejętności programisty, nie mniej oprócz wrażeń estetycznych w CV, potencjalny pracodawca może spodziewać się posiadaczu tego dokumentu czegoś więcej niż tylko strukturalno-proceduralnego PHP4. Poza tym fakt posiadania certyfikatu, raczej nie może nikomu zaszkodzić na rozmowie kwalifikacyjnej, prawda? :wink:

Jak dotąd sposób działa dość skutecznie. Zdażył mi się jeden przypadek, kiedy kandydat zrezygnował w fazie wybierania projektu, bo jak sam stwierdził ‘ma kilka zleceń na serwisy RoR’. Podejrzewam jednak że w jego wypadku te serwisy nie wybiegają daleko poza scaffold.

Natomiast ciekaw jestem jaki dobry programista RoR miałby mieć coś przeciw Open Source. Przyznam, że nie mogę sobie wyobrazić takiego przypadku. Macie może pomysł jak można skutecznie umowtywować niechęć do takiego sposobu testowania?

To jest genialne podejście! :slight_smile:

Ja praktycznie nigdy nie commitowałem nic do żadnych bibliotek, chociaż czasami nawet robiłem jakieś poprawki do różnych skryptów. Tak samo nie wypuściłem jak na razie prawie żadnego kodu open source. Wynika to trochę z faktu, że zawsze sobie mówię - a… ten kod taki tam, zrefaktoryzuję go, dopiszę kilka rzeczy i wtedy może puszczę gdzieś w sieć. Inna sprawa, że jak się coś commituje do projektu, to trzeba zadbać o kompatybilność, napisać testy/spece - ogólnie więcej zachodu - czyli więcej pracy i więcej do nauczenia :slight_smile:

Ostatnio chciałem trochę to zmienić i chyba zacznę się bardziej udzielać i postaram się wpuścić trochę mojego kodu w sieć.