Co język programowania "mówi" o programiście?

Przeglądając sieć trafiłem na taki artykuł:
http://us3r.pl/co-twoj-jezyk-programowania-o-tobie-mowi/
Zgadzacie się z tym co jest napisane o programistach Ruby oraz programistach innych języków programowania? Mi zabrakło w tym zestawieniu jeszcze programistów PHP i Assemblera :slight_smile:

Z racji tego, że nie ogranicza ich system operacyjny, gdyż VIM jest dostępny na każdy system, najczęściej siedzą na iOSie albo Ubuntu.

na iOS działa vim? kurde, szacun, idę kupić ajpada do deweloperki!

Hmm, podczas jailbreaku lecą unixowe logi, więc kto wie :slight_smile:

owszem dziala :wink: http://applidium.com/en/applications/vim/

Teza, ze dany programista specjalizuje sie tylko w jednym jezyku, jest cokolwiek idiotyczna.

1 Like

Nie przesadzałabym.

Takie podziały to wytwór korporacyjnego prania mozgu; szukanie ‘specjalistów’, których później upycha się po szufladach - każda mała, dobrze zdefiniowana i pomyślana w taki sposób, by za bardzo nie wpływała na działanie całości.

Smutną konsekwencją jest potem myślenie w kategoriach ‘język X jest najlepszy do wszystkiego’. Czyli: szukajmy sposobów, by wszystko pisać w javascript / szukajmy narzędzi, które pomogą nam tworzyć aplikacje mobilne w ruby.

Ja tego nie kupuje :slight_smile: Istnieje co najmniej kilkadziesiąt języków używanych na masową skalę i zapewne nie bez przyczyny.

2 Likes

Bez sensu, wszyscy wiedzą, że dzisiaj najmodniej jest programować w Starbucksie.

8 Likes

Nie wiem po czym wywnioskowałeś, że promuję “korporacyjne pranie mózgu”. :wink: Zwracam uwagę na to, że “cokolwiek idiotyczna” to zbyt mocne stwierdzenie, bo znanie więcej, niż jednego języka nie jest obowiązkowe. Nie widzę nic złego w wąskiej specjalizacji jako takiej, co nie jest tożsame z jej promowaniem na lewo i prawo jako jedynego słusznego rozwiązania, tym bardziej, że nie jest to ścieżka, którą sama podążam. :wink:

Mialem na mysli autora wpisu na cytowanej stronie (na ktorej rowniez dumnie prezentuje sie ODZNAKA 'Microsoft Certified Solutions Developer) :wink:

Jednak nie sposób zawodowo programować w Ruby – czyli Railsach – bez znajomości chociażby Javascriptu.

1 Like

+1 dla specjalizacji. Wystarczy wejść na pracuj.pl (albo do działu praca na tym forum) i można zobaczyć, że ogromna większość ofert jest przypisana do technologii („Szukamy programisty Java”, „Programista Ruby on Rails”, etc.). To czy dany kandydat zna więcej niż jeden język nie ma większego znaczenia, i tak zostanie zaszufladkowany pod technologię, którą zna najlepiej.

Można się na to zżymać, ale szufladkowanie działa.

Nie zgodziłbym się z tym stwierdzeniem. Sprawdźmy, najpierw forum:

rails / mysql / html / css / jQuery (a więc i trochę JS) / mile widziane MongoDB

http://forum.rubyonrails.pl/t/adtaily-sp-z-o-o-programista-ruby-on-rails-senior-middle-junior/6608/2

“Bardzo dobrze posługujesz się pełnym stackiem webowym (…)”

html / css / jQuery / SQL

Teraz pracuj.pl:

http://www.pracuj.pl/praca/c-c%2B%2B-software-firmware-developer-lodz-lodzkie,oferta,3247556

C / C++ / Linux / języki skryptowe

http://www.pracuj.pl/praca/programista-radom-warszawa,oferta,3247029

HTML / CSS / JS / XML / MongoDB

… czyli teoria, że ogromna większość ofert przypisanych jest do technologii jest moim zdaniem błędna.

Teraz pytanie skąd to się bierze. Bierze się to stąd, że tak jak napisał Tomash ciężko jest zawodowo programować w ruby/rails bez znajomości chociażby javascript (w kontekście webaplikacji oczywiście). Do palety umiejętności dorzucić trzeba bazy danych, html, system operacyjny itp. itd. Im więcej tym lepiej, ponieważ im szerszą mamy wiedzę tym bardziej skomplikowane problemy jesteśmy w stanie rozwiązać.

Oczywiście nie da się być specjalistą od wszystkiego, ale trzeba mieć chociaż podstawy z całej palety technologii, które się wykorzystuje w swojej pracy. Gwarantuję, że to dużo dużo pomaga - chociażby w dogadaniu się i zrozumieniu innych osób, które specjalizują się w innych rzeczach niż my.

PS. Co do artykułu podlinkowanego na samym początku to oczywiście bzdura, ale jak rozumiem trzeba to traktować z przymrużeniem oka :slight_smile:

ja myślę że sharnikowi nie do końca o to chodziło, w sensie traktowania rails, html i sql jako trzech różnych ‘specjalizacji’. wiadomo, piszesz aplikacje webowe, znasz html. jako dwie różne specjalizacje ja bym traktował np Rails i Django. i tu już się zgadza to co sharnik napisał.

tl;dr: Pracodawcy zwykle szufladkują pracowników pod kątem technologii i to, że znalazłeś dwa kontrprzykłady na pracuj.pl tego nie zmieni.

Nie zgodziłbym się z tym stwierdzeniem. Sprawdźmy, najpierw forum:

Akurat podlinkowane tutaj oferty potwierdzają moją tezę :slight_smile: We wszystkich trzech ofertach szukają kogoś kto chce być zaszufladkowany jako „Programista Ruby on Rails”. Oczywiście, że w treści będzie wymieniony szereg innych technologii, tak jak ktoś szukając grafika wpisze znajomość Photoshopa, InDesign, 3ds Max i pakietu Office.

Teraz pracuj.pl

Fajnie, że znalazłeś dwa takie ogłoszenia. Nie jest to specjalnie trudne, bo wystarczy zajrzeć na http://www.pracuj.pl/praca/programista;kw i odpowiednio długo scrollować w dół. Zwróć jednak uwagę, że na dwa „ogólne” ogłoszenia przypada dziesięć takich jak „PROGRAMISTA JAVA/JEE”, czy „Programista.Net”.

Ogromna większość programistów na tym forum jest zaszufladkowana pod „programista Ruby on Rails” i nie ma tu znaczenia, że poza Ruby znamy też kilka innych narzędzi. No, może poza @mark, który szufladkuje się pewnie w „Ruby/iOS developer” :wink:

i o tym mowie - pracodawcy szufladkują pracowników pod kątem technologii (bo im sie to po prostu oplaca). Moja teza jest taka, ze nam (zakladajac nam = pracownikom, bo roznie to bywa ;)) sie to nie opłaca

Co masz na myśli przez „opłaca”?
Ja nie widzę jakiegoś specjalnego zysku poza uproszczeniem procesu myślowego („ten to programista Java, a tamten Ruby, a my szukamy Ruby, więc bierzemy tego drugiego”).

@y3ti

Przyklady ktore podales wlasnie sa dla ‘zaszufladkowanych’ programistow:

C/C++ - jezyk, Linux - os na ktorym to to bedzie dzialac, jezyki skryptowe - by posklejac rozne kawalki systemu, MongoDB - trzymanie danych. Te komponenty sa niezbedne do pracy - musisz gdzies trzymac, dane itp…

Zaszufladkowanie - programista ktory spelnia dobrze powyzsze kryteria moze miec problemy z wdrozeniem sie w railsy (na przyklad), bo:

  • ruby jest wolny
  • ruby jest dziwny
  • wyniosl wiedze z uczelni (a moze nawet zrobil certyfikat)

Ja myślę, że język to drugorzędna sprawa. Moim zdaniem najważniejsza jest technologia w której robimy, w sensie czy programujemy aplikacje desktopowe, aplikacje webowe, sterowniki czy aplikacje embeded.

Nie wiem jak jest w innych firmach, ja akurat pracuje w korpo i 75% czasu, jak nie więcej to rozkmina jak działa hardware, co mówi specyfikacja, jak ogólnie działa dana aplikacja, a nie język. Przykład to implementacja jakiegoś protokołu komunikacyjnego, albo jakiejś funkcji hardware, gdzie np. 3 tygodnie rozgryzania dokumentacji i specyfikacji, 2 dni pisania właściwego kodu i potem 2 tygodnie naprawiania regresji, bo nie przewidzieliśmy czegoś, albo okazało się, że zmiana w jednym module powoduje błędne działanie jakiegoś scenariusza w zupełnie innym module.

Reasumując, IMO język programowania to rzecz wtórna, ktoś kto programuje aplikacje bankowe w C++ niekoniecznie może mieć pojęcie o programowaniu niskopoziomowym w C++, chociaż język ten sam.

1 Like