@sharnik Tehe. Pamiętam jeszcze twój podpis ^^
Widzisz, nie skonkretyzowałeś, problem ze schematem bazy danych jest problemem uniwersalnym. Podobnie skalowalność, wszystko opiera się o pętle warunki, co jest dość uniwersalne. Mi tutaj bardziej chodziło o specyfikę języka i połączenia między nimy klasami czyli logika aplikacji. Tego w dwa tygodnie raczej się nie opanuje na poziomie seniora.
Jeśli brać pod uwagę znajomość logiki aplikacji, przy której pracujesz, to pewnie John Carmack dostanie teraz tytuł Junior Facebook Developer.
Różnica, między ludźmi, którzy mają 5 lat doświadczenia w danym obszarze, a 20 czasem bywa trudna do zauważenia. Czasem też niestety to doświadczenie się dezaktualizuje mocno i niewiele wnosi, czasem wręcz jest odwrotne - złe nawyki przeszkadzają. Sam mam prawie 20 lat doświadczenia w tym co robię, ale nie czuję aby to był u mnie jakikolwiek atut w stosunku do ludzi którzy mają go np. 5. Nie polecam też podnosić tego nigdy jako argumentu w żadnej dyskusji.
Dlatego fajnie jest czasami zmienic obszar dzialania - np z tworzenia plikacji webowych przeniesc sie do devops. Wtedy mozna odczuc progress, bo uczymy sie nowych rzeczy i jestesmy w stanie spojrzec z dystansem na dotychczasowa kariere co tylko moze pomoc!
czyli osoba, ktora w ciagu ostatnich 5 lat pracowala nad srednio 6-ma roznymi projektami w roku, ma 30 lat doswiadczenia
Przyznaję się, to faktycznie nie było eleganckie, proszę przyjmij moje przeprosiny.
Pięknie powiedziane, przyznam że pierwszy raz w Polsce czytam aby ktoś ujmował to w ten sposób.
Według mnie zawsze należy rozdzielić programistę od kodera, pierwszy posiada wiedzę jak zaprogramować i często także jak zakodować w danym języku, a drugi tylko potrafi zapisać coś w danym języku. Różnica podobna jak pomiędzy pisarzem i tym co umie posługiwać się długopisem w celu stawiania liter Przykre jest to że życie pokazuje że koderów mamy bardzo dużo, natomiast programistów bardzo niewielu. Ci pierwsi jednak lubią tytułować się programistami.
Można być programistą bez znajomości języków programowania [teoretycznie]
@gb1 nie można być programistą nie znając języka programowania, tak samo jak nie można być Stolarzem nie wiedząc jak się używa młotka czy strugu.
Ciągnąc analogię. Mistrz murarski nie jest w stanie w ciągu roku zostać profesjonalnym stolarzem i zrobić ci fajansowany kredens, a tym bardziej szkolić jeszcze czeladników po drodze. Tak to po prostu nie działa.
Nie do końca się zgodzę, ponieważ uważam Twoją analogię za błędną. Porównujesz umiejętności rzemieślnicze do poruszania się po pewnej warstwie abstrakcji. Przykład? Murarz może i super dom zbuduje, jednakże ze stołem mu nie wyjdzie. Programista za to znając wzorce, które już “przepuścił przez palce” w języku X przypuszczam, że bardzo dobrze by zastosował w języku Y. Na 100% nie byłby to szczyt jego efektywności, ale zadanie by wykonał : ).
Ciężko mi się ustosunkować do Fortha/Erlanga, bo po prostu nie znam tych języków i ich architektury.
@fizzlebubble I mniej więcej o to mi chodzi.
Olewając analogię, o ile rzeczywiście nie masz w pracy 5 seniorów i leada, to jednym z obowiązków Seniorów jest zwykle opieka nad młodszymi osobami w grupie, nie widzę sposobu żeby osoba która dopiero co się uczy języka robiła za mentora kogoś innego.
Osoba która pracowała nad jednym czy dwoma projektami nie będzie miała pojęcia dlaczego Nginx+Passenger a nie Thin, albo dlaczego Puma a nie Unicorn, albo dlaczego Unicorn a nie Puma w danym przypadku. To jest wiedza którą zdobywa się latami. Nawet nie wiedzieli by o co pytać.
Przykro mi jednak nie mogę się zgodzić z Twoimi analogiami, ponieważ według mnie nie są odpowiednie. Kierując się Twoją analogią można przyznać, że robotnik murarski posługując się kielnią zbuduje dom i przez to że ma doświadczenie na budowach często także wybuduje może nawet cały dom (szczególnie w Polsce w trybie ekonomicznym). Jednak to jest nasz koder właśnie, ale naszym programistą jest architekt który nie dość że rozumie pracę robotnika oraz wielu innych specjalności to jeszcze widzi “big picture”.
Znam takich programistów którzy już nie mają czasu pisać kodu, a programują na codzień kierując małymi lub większymi zespołami koderów. Jak to napisał wcześniej @fizzlebubble, programownie to zdolność intelektualna. Kodowanie natomiast jest to jedynie zapisanie programu w danym języku.
Oprogramowanie byłoby znacznie inne jeżeli koderzy byliby realnie programistami
@gb1: Jakby inni koderzy zostali programistami to (według Twojej powyższej definicji) nie byłoby komu pisać kodu, bo pozostaliby tylko „architekci” oglądający „big picture” i kierujący zespołami. A właściwie próbujący kogokolwiek zatrudnić, żeby miał kto za nich pisać kod.
Całe to rozgraniczanie na „koderów”, „prawdziwych programistów”, „najemników” i „etatowców” to jakiś idiotyzm i elitaryzm. Są programiści lepsi i gorsi, tyle.
albo komputerami - jesli ‘Kodowanie natomiast jest to jedynie zapisanie programu w danym języku’, to po co angazowac drogich i zawodnych ludzi - niech ‘prawdziwi programisci’ ‘programuja’ swoje ‘programy’ w UML-u, ktory nastepnie komputery przeksztalca na program ‘w danym jezyku’.
Ooops - to juz bylo - i jakos sie nie sprawdzilo.
+1 - nie komplikujmy prostych rzeczy
Jednym słowem prawdziwy programista to astronauta z wpisu Joela: http://www.joelonsoftware.com/articles/fog0000000018.html
A o tych astronautach to i wiele słyszałem - ogólnie i generalnie ludzie widzący TYLKO big picture, którzy nie potrafią zakodować nic - bo zdolność kodowania nie jest im potrzebna - od tego są inni Oni potrafią zaplanować big picture. A pewnie większość z nas wie co ich omija - tych astronautów
Którzy po kilku latach zaczęliby stopniowo puszczać się poręczy ze względu na brak kontaktu z programowaniem.