Piotr Fatyga Programista .NET
Temat: Zadania na rozmowę o pracę
@Dariusz,Metodą prób i błędów na pewno wypracujesz swój warsztat techniczno-rekruterski. Może warto dodatkowo założyć temat z przykładami rozmów kwalifikacyjnych (testów), które z punktu widzenia programisty albo rekrutującego, były nietrafione? Wyeliminuje to charakterystyczne pytania i zadania, które na pewno nie badają wiedzy potencjalnego kandydata.
Matt
Jaworski
Web Developer,
SnipClip GmbH,
München
Temat: Zadania na rozmowę o pracę
Mi kiedys (z 5 lat temu albo dalej) na rozmowie kazali pisac sortowanie babelkowe w pseudokodzie markerem na tablicy, malo sie nie posralem ze stresu ale jakos sie udalo.
Konrad Przybylski Programista PHP
Temat: Zadania na rozmowę o pracę
Ja podczas którejś z rekrutacji dostalem pytanie na teście z php - kiedy powstała pierwsza wersja php (czy coś w tym rodzaju) i odpowiedzi do tego w stylu marzec 1997, listopad 1997, marzec 1998...
Piotr Walków Symfony2
Temat: Zadania na rozmowę o pracę
@Dariusz,Czasem sie zdarza tez, ze czlowiek ktory sobie poradzi z zadaniem nie nadaje sie. Dla przykladu na niedawnej rekrutacji w firmie rekrutowany obracal stringa w czasie O(n^4)...
:)
Rafał Krzaczyński Firmes, właściciel
Temat: Zadania na rozmowę o pracę
Dariusz Półtorak:
Szczerze ? Nie lubię traktować ludzi jak bydła. Zwłaszcza że nie prowadzę dużego naboru. Zawsze proszę o fragmenty kodu jaki napisali żeby zobaczyć jak piszą, jakie stosują nazewnictwo itp. Reszta wychodzi na rozmowie.
Nic takiego nie sugerowałem i nie uważam, żeby moja wypowiedź w jakimkolwiek aspekcie wyrażała brak szacunku do kandydata.
Jak już pisałem wcześniej, żeby dobrze sprawdzić kandydata, uważam, że najlepiej jest dać mu praktyczne zadanie bardzo zbliżone do zagadnień, jakimi będzie zajmował się w przyszłej pracy. I w tej kwestii lepiej poświęcić kilka godzin przy rekrutacji niż stracić parę miesięcy z powodu złego wyboru.
Kandydat dostawał stanowisko i zadanie, nikt mu nad głową nie wisiał, miał sporo czasu do dyspozycji, mógł korzystać z internetu. Można było ocenić sposób organizacji pracy, sprawdzić czy poświęcił chociaż trochę czasu na przemyślenie zadania, jakiś projekt itd. A jeśli uważał, że szkoda czasu na taką rekrutację
Natomiast nierealne jest sprawdzanie w ten sposób większej ilości kandydatów, dlatego praktykuje się wstępną selekcję. Może to być już na podstawie samego CV i przedstawionego portfolio, może to być krótka rozmowa, może to być test. Każda forma się sprawdzi, jeśli jest przeprowadzona z głową.
Michał
Wachowski
Freelancer na
zakręcie i
bazodanowiec z
bożej łaski
Temat: Zadania na rozmowę o pracę
Rafał Krzaczyński:
Natomiast nierealne jest sprawdzanie w ten sposób większej ilości kandydatów, dlatego praktykuje się wstępną selekcję. Może to być już na podstawie samego CV i przedstawionego portfolio, może to być krótka rozmowa, może to być test. Każda forma się sprawdzi, jeśli jest przeprowadzona z głową.
Nie wierzę we wstępną selekcję na podstawie CV/portfolio.
Notorycznie w CV'kach jest masa nadużyć i przekłamań. Ludzie wpisują wszystko co im się przed oczami przewinęło, choć raz w życiu, a w rzeczywistości nie mają pojęcia.
Ot przykład: znajomość JS bo bawił się gotowcami z jQuery, OOP bo użył czegoś z obiektem i można by tak mnożyć.
Z portfolioami jest podobnie. Część ludzi wrzuca co się da, a część nie wrzuca bo ograniczona jest umowami itd.
Zresztą - portfolio programisty?
Kodu na ogół nie widać...
Bardziej miarodajne będą wypowiedzi na różnych serwisach i/lub blog.Michał Wachowski edytował(a) ten post dnia 22.02.12 o godzinie 01:23
Paweł
Szczepanek
programista PHP,
założyciel
Toruńskiego Klubu
Cashflow
Temat: Zadania na rozmowę o pracę
Bardzo wartościowy ten wątek.W PHP siedzę od mniej więcej 10 lat. Nieskromnie mówiąc sporo ciekawych rzeczy już widziałem.
I w temacie programowania i w temacie rekrutacji.
Pracuję już w szóstej firmie że tak się wyrażę "PHPowej".
Ponieważ w końcu sam zastanawiam się nad działalnością (swoją firmą) i poszukiwaniem
programistów cały temat mnie zainteresował.
Martwią mnie właśnie Twoje @Dariuszu perypetie z kandydatami.
Np. to, że "nikt nie zrobił zagnieżdżonego UL/LI", jak piszesz, trochę mnie
przeraża :)
Już zaczynam się dopatrywać problemu w innych miejscach niż samo 'testowanie'
kandydatów. Może właśnie oferta przyciągnęła nie tych ludzi co byś chciał?
Pisał o tym @Jakub, że może jakoś kasa odstrasza tych dobrych albo forma
przedstawienia wymagań nie trafia do tych wartościowych ludzi?
Myślę też, że pewnie warto zrobić w którymś momencie tak jak pisze @Michał
i "zaatakować konkretnych ludzi" ?
Rozumiem, że to nieco aktywniejsze szukanie pracownika i może nie być na to czasu.....
Dla mnie przykładowe zadania jakie podałeś w pierwszym poście są jak najbardziej OK.
Byłbym dumny mogąc z nimi _powalczyć_ :) Piszę tak ponieważ właśnie nie liczy się
znalezienie najlepszego rozwiązania na samym początku tylko to "jak piszą, jakie stosują nazewnictwo itp." kandydaci - tak jak piszesz w którymś powyższym poście.
Zgadzam się z wieloma Twoimi stwierdzeniami (myślę że powinieneś się ich trzymać):
- niech czasami nawet kopiują gotowe rozwiązania z netu - to też pokazuje sporo rzeczy o kandydacie,
- jest od groma rzeczy jakie wykonujemy mechanicznie przy już stałej pracy - umiejętność adoptowania gotowców to super fajna umiejętność,
- jakieś podstawy trzeba ogarniać :) - jak piszesz np. operacje na stringach czy array'ach - to mniej
więcej pokaże stopień doświadczenia kandydata,
- piękne zdanie, hehe: "... dobry programista powinien Ci tak z d*** rzucić jakimś rozwiązaniem ..." - dokładnie tak!! - tutaj drzemie tzw. temat "Burzy mózgów"! - niełatwa umiejętność ale myślę cholernie ważna. U mnie to się sprawdzało cały czas jak szukałem pracy - po prostu jak sypałem rozwiązaniami na wszelakie sposoby to zbierałem potem pozytywne oceny mojej osoby:)
W moim odczuciu trzymaj się nadal takich rzeczy jak:
- to "rozładowanie" stresującej atmosfery na początku: pokazanie nad czym pracujecie, rzut oka na kod, etc ....
tak sobie myślę, że to może pomóc tym młodym (oni powinni być tacy "ciekawscy świata" i ta czynność na początku powinna uruchomić u nich tzw. "Burzę mózgów" w dalszych pytaniach na rozmowie), starsi już może niekoniecznie tak się stresują i w mniejszym stopniu to "rozładowanie" jest istotne,
- jak pisze @Piotr: "trzeba znaleźć złoty środek między sprawdzeniem wiedzy teoretycznej kandydata a umiejętnością rozwiązywania problemu"
czyli jak najbardziej łącz poznanie podejścia człowieka do nowych dla niego problemów oraz tego jaką posiada wiedzę,
- niech kandydat: "potrafi uzasadnić wybory jakich dokonuje"
- twój tekst: "Nie wybudujesz domu nie mając solidnych fundamentów" - jak dla mnie bardzo dobre stwierdzenie.
ponieważ nie szukamy "leszczy" i "karierowiczów" to "fundamenty" u kandydata jakieś muszą być. Im większe tym w ogóle lepiej.
Moim zdaniem takie fundamenty buduje się poprzez aktywne działanie w obranym przez siebie kierunku. Czyli jak ktoś mówi, że _zna OOP PHP_ to właśnie powinien takie fundamenty kumać bo działał w temacie.
- dobrze pisze @Rafał: "najlepiej jest dać mu praktyczne zadanie bardzo zbliżone do zagadnień,
jakimi będzie zajmował się w przyszłej pracy."
Zgadzam się z @Michałem że CV/portfolio już nie jest takie miarodajne. Moim zdaniem powinno dać raczej sugestie jakie tematy obgadać na rozmowie albo jakie testy podsunąć kandydatowi i dopiero w tych momentach oceniać osobę.
(piękne pytanie retoryczne z jakim się zgadzam:):) - "Zresztą - portfolio programisty???", hehe
PS. @Dariusz: Tak zaciekawiło mnie czy dałbyś radę odpowiedzieć w jednym zdaniu dlaczego używaż OOP ? :):)
PS2. Jest gdzieś w necie to Twoje ogłoszenie o pracę i nie jest ono tajemnicą? Pytam tak z racji
właśnie poszerzenia swojego spojrzenia na Twój problem z rekrutacją. Też nie zamierzam jakoś szczególnie tego ogłoszenia oceniać.
Paweł
Szczepanek
programista PHP,
założyciel
Toruńskiego Klubu
Cashflow
Temat: Zadania na rozmowę o pracę
Zadajesz pytanie o "sugestie ? Perypetie ?" dotyczące pytań na rozmowie.Podam jedno moje.
Ponieważ jakoś "złych" pytań od pracodawcy nie pamiętam albo może ich nie było to powiem
o przypadku gdzie prace dostałem ale pracodawca zatrudniając mnie trochę się pospieszył:)
Kilka lat temu poszedłem na rozmowę z nastawieniem na stanowisko programisty PHP - były wytyczne, że mam znać OOP PHP, jakiś framework, znać SVN, ogarniać XAMPP, nie bać się Ubuntu:) - wszystko OK.
Spoko. Jednak pracodawca zaczął silnie kierować testy na zaawansowany Javascript.
W którymś momencie dał mi test z jQuery, co nieco z Prototype, zahaczył o script.aculo.us, pytania z AJAXa, coś w tematach jak się zachowa kod JS w IE, FF a co może się wydarzyć w Operze, etc ...
Wtedy nie byłem jeszcze rozeznany dobrze w programowaniu po stronie klienta (uogulniając) więc popłynąłem w stronę taką:
że tego a tego szukałbym w tym manualu, tutaj spróbowałbym metody takiej a takiej ale jeszcze nie wiem jak to się sprawdzi, tam prawdopodobnie będzie działać taki sposób bo się sprawdzał w PHP np.,
- no i tak rozmawiałem z nim rzucając wszystkimi pomysłami jakie przychodziły mi do głowy
choć już po woli zaczynałem się bać, że czekałoby mnie sporo nauki gdyby przyszło do konkretów w kodowaniu.
Co ciekawe pracodawca mnie przyjął.
Kiedy jednak po ok. 3 mieś. projekt nad jakim pracowaliśmy poszedł już bardzo silnie w JSowe interfejsy użytkownika to wspólnie z szefem doszliśmy do wniosku, że się rozstaniemy.
Osobiście bardziej rozwijałem się jednak w OOP PHP i tej działce.
Kase z tego miałem więc miło wspominam to doświadczenie.
Powyższe perypetie można oceniać z różnych stron: i od mojej strony i od strony pracodawcy.
To co chciałbym tutaj przekazać to to, że test bardzo mi się podobał.
Były ciekawe pytania z kategorii JS etc.
Pracodawca, myślę, mógł dostać sporo cennych informacji o mnie.
Jednak ostatecznie na dłuższą metę nie podjął dobrej decyzji wobec mnie a ja, jeszcze trochę młody:) nie chciałem z góry odmawiać pracy - chyba rozumiecie.
Dariusz Półtorak Programista PHP
Temat: Zadania na rozmowę o pracę
Oj musiał bym szukać po serwisach. Ogłoszenie umieszcza mój obecny pracodawca. Reszta wisi po uczelniach, przystankach i tablicach w promieniu 40km. Wymagań nie dałem wysokich. Wręcz przeciwnie - podstawy- php 5.3 ( w tym przestrzenie nazw które wykorzystuje )
- OOP rzecz jasna
- Smarty ( poszedłem w tym projekcie w ten TE z uwagi na to że ciężko o ludzi znających inny )
- MySQL
- Linux (tzn poruszanie się w systemie, wszystkie piecyki mają Ubuntu na pokładzie)
Mile widziane
- znajomość JS (i jQuery)
- Podstawy instalacji i konfiguracji serwerach Apache
Przy czym z Apache chodzi o jedną rzecz. Na każdym stanowisku jest postawiony serwer lokalny, zrobione VH itp. Bywa że trzeba coś doinstalować. Jakieś rozszerzenie do Apache albo do PHP czy coś przestawić w konfiguracji u siebie na PC. Dobrze jak ktoś potrafi to zrobić bez potrzeby czekania na kogoś innego.
Także myślę że cudów nie wymagamy.Ogłoszenia pełnego nie daje bo to niezgodne z regulaminem :P To wyżej to na potrzeby dyskusji.
Wiecie co ? Czasami się zastanawiam czy nie było by głupim pomysłem zebrać kilku programistów z doświadczeniem zawodowym i otworzyć prywatną szkołę (no może nie formalnie szkołę tylko jakiś ośrodek szkoleń - w końcu nie chcieli byśmy być trzymani za gardło przez jakiś głupi program nauczenia wymyślony przez oderwanych od rzeczywistości ludzi albo wymów zatrudniania zasuszonych staruszków którzy uczą programowania a nigdy nie pracowali jako programiści -a są wymagani by szkoła utrzymała status). Zwyczajne zajęcia, albo na tygodniu albo w weekendy skupiające się na różnych aspektach programowania.
~ Podstawy
~ Algorytmy
~ Wzorce projektowe
~ Frameworki
~ architektura systemów
~ i szczegółowe ćwiczenia z danego języka programowania polegające na utworzeniu przez grupę praktycznych projektów
Dla studentów lub ludzi którzy chcieli by się podciągnąć do rynku pracy. Finansowane albo z miesięcznych / półrocznych opłat a może też przez dotacje od lokalnych firm. Albo to i to.
Ciekawe czy rynek Polski by przywitał takie przedsięwzięcie.
Nie ma co ukrywać że uczelnie są pełne zasiedziałych staruszków którzy na piątym roku studiów uczą jak się robi klasę albo jak zrobić prostą stronkę w HTML zamiast czegoś co dało by im natychmiastowy start na rynku pracy.Dariusz Półtorak edytował(a) ten post dnia 22.02.12 o godzinie 10:55
Jacek
Szczepaniak
web application
programmer
Temat: Zadania na rozmowę o pracę
co do ogłoszenia, ja zawsze zastanawiam się nad określeniem np.: 'znajomość MySQL'...oczywiście że znam. znam to i parę innych nazw ;)..
dla mnie bardziej miarodajne dla mnie jest określenie poziomu znajomości np.:
* swobodne pisanie poleceń insert/select,
* optymalizacja zapytań,
* projektowanie wydajnych baz,
* analiza i optymalizacja istniejących baz danych
może sensownym rozwiązaniem było by udostępnienie ankiety, w której bardziej szczegółowo określasz poziom znajomości zagadnień? wypełnienie takiej ankiety, z zagadnieniami jakie pracodawcę interesują dawało by pełniejszy obraz, zarówno dla pracodawcy jak i potencjalnego pracownika.
jasne że można się spodziewać lania wody w takiej ankiecie - ale to jest banalnie proste do wyłapania - ot zadając odpowiednie pytania.
np.: jeśli ktoś wybiera poziom 'optymalizacja' - no to musi znać choć słowo 'explain'. każ mu wyjaśnić choć z grubsza wynik explain'a itd.
w łatwy sposób weryfikujesz deklarowaną wiedzę.
pomysł z nauczaniem..
hmm, nazwij to 'szkolą pracodawców', lub 'szkolą programisty' ;)
trzeba by było jedynie zapewnić rotację 'wykładowców', bo chyba o to chodzi by przekazać różne spojrzenia na problem.
szczerze powiedziawszy, ja dołożyłbym do tego cały semestr o tym jak pracować w stresie i silnej presji czasowej ;)
każdego z nas to spotkało, i każdy inaczej sobie z tym radzi. w ekstremalnie stresujących sytuacjach - czasem rozwiązania jakie się stosuje, w normalnej sytuacji są nie do przyjęcia - wtedy jednak maja ta zaletę że zadziałały.
chyba to w tym najważniejsze, ze niekiedy liczy się każdy skuteczny pomysł, ze czasem lepiej jest złamać zasady, zrobić coś niekonwencjonalnie, ale skutecznie.
ot, po prostu,nauczyć jak oszacować czas i potrzeby względem możliwości i jak wybrać skuteczne rozwiązanie.
dla mnie ciekawa inicjatywa, są szkolenia wewnętrzne. każdy z nas ma jakiegoś konika, jest w czymś lepszy/gorszy.
dla zainteresowanych robiliśmy szkolenia z jakiegoś tematu, np.: dokumentowanie kodu, optymalizacja kodu, łamanie zabezpieczeń/latanie dziur itp. pomysły były naprawdę z szerokiego spektrum zainteresowań. przydawało się to czasem przy rozwiązywaniu nieszablonowych problemów.
naprawdę sporo ciekawostek można się w ten sposób nauczyć/dowiedzieć i to minimalnym kosztem (1h tygodniowo..) oczywiście to się sprawdza przy kilkuosobowej ekipie.
Michał
Wachowski
Freelancer na
zakręcie i
bazodanowiec z
bożej łaski
Temat: Zadania na rozmowę o pracę
Dariusz Półtorak:Raczej rynek by przyjął to, szczególnie jeśli kursy odbywały by się w systemie zaocznym z ilością godzin. Przy czym grupy kursowa powinna składać się max z dwóch trzech zespołów, max 10 osób łącznie. Większa gromada jest trudniejsza do ogarnięcia.
Wiecie co ? Czasami się zastanawiam czy nie było by głupim pomysłem zebrać kilku programistów z doświadczeniem zawodowym i otworzyć prywatną szkołę (no może nie formalnie szkołę tylko jakiś ośrodek szkoleń - w końcu nie chcieli byśmy być trzymani za gardło przez jakiś głupi program nauczenia wymyślony przez oderwanych od rzeczywistości ludzi albo wymów zatrudniania zasuszonych staruszków którzy uczą programowania a nigdy nie pracowali jako programiści -a są wymagani by szkoła utrzymała status). Zwyczajne zajęcia, albo na tygodniu albo w weekendy skupiające się na różnych aspektach programowania.
~ Podstawy
~ Algorytmy
~ Wzorce projektowe
~ Frameworki
~ architektura systemów
~ i szczegółowe ćwiczenia z danego języka programowania polegające na utworzeniu przez grupę praktycznych projektów
Dla studentów lub ludzi którzy chcieli by się podciągnąć do rynku pracy. Finansowane albo z miesięcznych / półrocznych opłat a może też przez dotacje od lokalnych firm. Albo to i to.
Ciekawe czy rynek Polski by przywitał takie przedsięwzięcie.
No i przy większych ilościach ludzi zamienia to się w uczelniany wykład/laborkę a nie w przekazywanie wiedzy.
To tak z krótkiego doświadczenia młodego wykładowcy :)
Nie ma co ukrywać że uczelnie są pełne zasiedziałych staruszków którzy na piątym roku studiów uczą jak się robi klasę albo jak zrobić prostą stronkę w HTML zamiast czegoś co dało by im natychmiastowy start na rynku pracy.A to prawda, choć są wyjątki.
Ja miałem to szczęście, że trafiłem na ludzi, którzy prócz pracy pedagogicznej, pracowali w zawodzie. Ich wykłady były pełne fachowej i praktycznej wiedzy, ciekawe i wciągające.
Najlepszym dowodem tego jest fakt, że nikt nie przejmował się czasem lekcyjnym a czekał do zakończenia opowieści wykładowcy :D
Człowiek chciał się uczyć i uczył się sam z siebie.
Ergo - system zaoczny umożliwiałby pracę w zawodzie i przekazywanie praktycznej wiedzy w weekendy. Tyczy się to i kursantów i prowadzących.
Suma sumarum - dla mnie pomysł bomba, ja się piszę. Gdzie moja klasa? :D
Michał
Wachowski
Freelancer na
zakręcie i
bazodanowiec z
bożej łaski
Temat: Zadania na rozmowę o pracę
Jacek Szczepaniak:Sprawdza się tylko w grupach.
dla mnie ciekawa inicjatywa, są szkolenia wewnętrzne. każdy z nas ma jakiegoś konika, jest w czymś lepszy/gorszy.
dla zainteresowanych robiliśmy szkolenia z jakiegoś tematu, np.: dokumentowanie kodu, optymalizacja kodu, łamanie zabezpieczeń/latanie dziur itp. pomysły były naprawdę z szerokiego spektrum zainteresowań. przydawało się to czasem przy rozwiązywaniu nieszablonowych problemów.
naprawdę sporo ciekawostek można się w ten sposób nauczyć/dowiedzieć i to minimalnym kosztem (1h tygodniowo..) oczywiście to się sprawdza przy kilkuosobowej ekipie.
Ja miałem takie szczęście, że albo byłem jednosobowym zespołem programistów albo byłem głównym/liderem zespołów i to na mnie spadało przekazywanie wiedzy.
Zamiast takich godzinnych wewnątrz zespołowej wymiany informacij, można robić wewnątrz miastowe. Takie con'y ale w obrębie miasta... pod warunkiem, że miasto posiada odpowiednią ilość ludzi z branży.
Rafał Krzaczyński Firmes, właściciel
Temat: Zadania na rozmowę o pracę
Michał Wachowski:
Nie wierzę we wstępną selekcję na podstawie CV/portfolio.
Notorycznie w CV'kach jest masa nadużyć i przekłamań. Ludzie wpisują wszystko co im się przed oczami przewinęło, choć raz w życiu, a w rzeczywistości nie mają pojęcia.
Ot przykład: znajomość JS bo bawił się gotowcami z jQuery, OOP bo użył czegoś z obiektem i można by tak mnożyć.
Zgadzam się. Nie można traktować CV jako jedynego kryterium i wyznacznika przydatności kandydata. Ale chyba zgodzisz się ze mną, że jeśli firma szuka np. szefa działu programistów, to z góry może odłożyć CV kandydatów, których jedynym doświadczeniem zawodowym są praktyki w trakcie studiów, a zainteresować się osobami, które pracowały w znanych w branży firmach.
Myślę podobnie jest z osobami, które starając się o pracę programisty wpisują całą listę prac wakacyjnych w fast-foodach i na wyspach.
Z portfolioami jest podobnie. Część ludzi wrzuca co się da, a część nie wrzuca bo ograniczona jest umowami itd.
Zresztą - portfolio programisty?
Kodu na ogół nie widać...
W przypadku portfolio do kodu zajrzeć nie można, ale można czasem określić, jakie problemy ktoś rozwiązywał i w trakcie rozmowy szybko zweryfikować, jaki był rzeczywisty wkład pracy kandydata.
Bardziej miarodajne będą wypowiedzi na różnych serwisach i/lub blog.
To bardzo cenna sugestia dla wszystkich rekrutujących i oczywiście obecnie coraz częściej praktykuje się poszukiwanie w internecie informacji na temat kandydata. Myślę, że każdy chętnie zaprosi na rozmowę osobę, która prowadzi bloga związanego tematycznie ze stanowiskiem, pisze artykuły czy publikuje na forach.
Natomiast wydaje mi się, że problemem Dariusza jest znalezienie sensownych kandydatów na stanowisko, a nie sam proces rekrutacji i poziom trudności zadań, bo to akurat zrobił bardzo sensownie.
Dariusz Półtorak Programista PHP
Temat: Zadania na rozmowę o pracę
Jacek Szczepaniak:
co do ogłoszenia, ja zawsze zastanawiam się nad określeniem np.: 'znajomość MySQL'...
oczywiście że znam. znam to i parę innych nazw ;)..
dla mnie bardziej miarodajne dla mnie jest określenie poziomu znajomości np.:
* swobodne pisanie poleceń insert/select,
* optymalizacja zapytań,
* projektowanie wydajnych baz,
* analiza i optymalizacja istniejących baz danych
Jak by BD była równa BD to bym pisał znajomość SQL ale niestety tak nie jest. W szczegóły się bawię na ogół (jak np wspomniałem o przestrzeniach nazw - drobiazg a jednak ważny bo to w PHP dość nowe nadal jest i mało stosowane z tego co zauważyłem).
Głównie ze względu na to że mappery zajmują się operacjami CRUD. Pozwalają na wstępną selekcję i wyszukiwanie danych.
SQL pisze się w nich z palca tylko jak trzeba Ci coś naprawdę nietuzinkowego.
może sensownym rozwiązaniem było by udostępnienie ankiety, w której bardziej szczegółowo określasz poziom znajomości zagadnień? wypełnienie takiej ankiety, z zagadnieniami jakie pracodawcę interesują dawało by pełniejszy obraz, zarówno dla pracodawcy jak i potencjalnego pracownika.
jasne że można się spodziewać lania wody w takiej ankiecie - ale to jest banalnie proste do wyłapania - ot zadając odpowiednie pytania.
np.: jeśli ktoś wybiera poziom 'optymalizacja' - no to musi znać choć słowo 'explain'. każ mu wyjaśnić choć z grubsza wynik explain'a itd.
w łatwy sposób weryfikujesz deklarowaną wiedzę.
To co opisujesz to właściwie normalna rozmowa o pracę. Ankieta nie ma sensu bo nic mi nie mówi. Znając życie większość kandydatów luknie w wikipedię albo gdzieś i napisze wszystko perfekcyjnie. Takie podejście studenta :-)
A nie będę robił egzaminów na moje stanowisko (bo chodzi o moje stanowisko tak apropo) bo i nie mam aż tylu kandydatów.
pomysł z nauczaniem..
hmm, nazwij to 'szkolą pracodawców', lub 'szkolą programisty' ;)
trzeba by było jedynie zapewnić rotację 'wykładowców', bo chyba o to chodzi by przekazać różne spojrzenia na problem.
Nie rotację. Po prostu trzeba by znaleźć lokal i programistów z doświadczeniem zawodowym którzy potrafią przekazać swoją wiedzę.
Kiedyś nad czymś takim dość intensywnie myślałem. Nawet wyszedł mi mały ekosystem.
Tzn "szkółka" w której uczą ludzie z doświadczeniem. W której realizuje się projekty podobne do tych jakie robi się w pracy w ramach zajęć. I która przy współpracy z jakąś agencją tworzyła by małe zespoły ze "studentów" i pomagała np w sprzedaży tego co zrobili.
Piękna wizja. Kilku ludzi pracujących ze studentami czy ludźmi którzy woleli zgłębić programowanie i pominąć studia jako takie.
W ramach zajęć zajmują się różnymi aspektami oprogramowania i tworzą projekt w wybranej technologii.
Cały projekt robią z myślą że jeżeli zrobią go dobrze mogą go rozwijać dalej, sprzedać lub świadczyć jakąś usługę z nim związaną.
Przypominało by to odrobinę pracę inżynierską czy coś w tym stylu ale akurat prawa do prac inżynierskich am uczelnia. I w naszym wypadku pewnie cały pomysł przemienił by się w "firmę która każe płacić pracownikom" :P
Za to pasowało by zastrzec wykorzystanie źródeł projektu tworzonego przez "studentów" na potrzeby dydaktyczne. Tzn że to co zrobili w ramach zajęć może być pokazane i omówione na zajęciach ich albo kolejnych uczniów.
Coś w tym stylu. Jeszcze jak by zawiązać współpracę z aniołami to może niektórzy z nich już w trakcie nauki byli by w stanie stworzyć ciekawy projekt i znaleźć kogoś kto by ich finansował dalej albo chciał go wprowadzić w życie.
Ot taka koncepcja na inny temat.
szczerze powiedziawszy, ja dołożyłbym do tego cały semestr o tym jak pracować w stresie i silnej presji czasowej ;)
każdego z nas to spotkało, i każdy inaczej sobie z tym radzi. w ekstremalnie stresujących sytuacjach - czasem rozwiązania jakie się stosuje, w normalnej sytuacji są nie do przyjęcia - wtedy jednak maja ta zaletę że zadziałały.
chyba to w tym najważniejsze, ze niekiedy liczy się każdy skuteczny pomysł, ze czasem lepiej jest złamać zasady, zrobić coś niekonwencjonalnie, ale skutecznie.
ot, po prostu,nauczyć jak oszacować czas i potrzeby względem możliwości i jak wybrać skuteczne rozwiązanie.
Taka magia zawsze się źle kończy :P Wiem z doświadczenia. "Szybkie rozwiązanie" na ogół robi się tak by z czasem podmienić je na sensowne rozwiązania. I stosuje się je tylko jak na prawdę nie ma czasu.
dla mnie ciekawa inicjatywa, są szkolenia wewnętrzne. każdy z nas ma jakiegoś konika, jest w czymś lepszy/gorszy.
dla zainteresowanych robiliśmy szkolenia z jakiegoś tematu, np.: dokumentowanie kodu, optymalizacja kodu, łamanie zabezpieczeń/latanie dziur itp. pomysły były naprawdę z szerokiego spektrum zainteresowań. przydawało się to czasem przy rozwiązywaniu nieszablonowych problemów.
naprawdę sporo ciekawostek można się w ten sposób nauczyć/dowiedzieć i to minimalnym kosztem (1h tygodniowo..) oczywiście to się sprawdza przy kilkuosobowej ekipie.
To akurat fajna sprawa. W moim wypadku po prostu koledzy z pracy rzucili mi co ciekawszą literaturę jaką mieli i naprowadzili mnie na rzeczy które warto poznać.
Jacek
Szczepaniak
web application
programmer
Temat: Zadania na rozmowę o pracę
Dariusz Półtorak:
Taka magia zawsze się źle kończy :P Wiem z doświadczenia. "Szybkie rozwiązanie" na ogół robi się tak by z czasem podmienić je na sensowne rozwiązania. I stosuje się je tylko jak na prawdę nie ma czasu.
dokladnie tak. czasem zwyczajnie nie ma innego wyjscia - nie pisalem tego z mysla o dużych projektach, ale o event'ach
czasem specyfika pracy(np agencje interaktywne) wymuszają 'magie' i to w roznych sprawach
wiem ze na dluzsza mete jest to nieoplacalne i bez sensu - ale to nie znaczy ze tego sie nie robi.
robi sie bo trzeba, bo klient sie piekli, bo kampania juz ruszula, bo szef chce etc..
na drugi dzien - robi sie to od nowa, tak jak przykazali... ale tak sie nieraz dzieje..
kto nie byl w takiej sytuacji - lapa do gory ;) ja na szczescie znalazlem sobie ciekawy projekt (ok 24mcy) wiec juz nie ma takich akcji, ale nadal mam w pamieci kilka 'bitw o arsenal' :)
Bartłomiej
B.
Prowadzenie i
rozwój serwisu
Jeja.pl
Temat: Zadania na rozmowę o pracę
A nie myślałeś o tym, aby dać zadania do zrobienia w domu? Dopiero kolejnym etapem mogłaby być rozmowa na miejscu. Ty oszczędzisz czas, a jak programista nie podoła zadaniom to ich do Ciebie nie odeśle przez co będzie znał odpowiedź na pytanie "czy mnie przyjmą?" od ręki. Na rozmowie już taki przetestowany kandydat łatwiej podchodzi do tematu robienia zadań, bo wie, że już raz dobrze poszło.Są gotowe systemy sprawdzające programistów (taki 1 etat), ale nie chcę znowu wyskakiwać z reklamą :)Bartłomiej B. edytował(a) ten post dnia 23.02.12 o godzinie 11:46
Kamil Brenk blog.kamilbrenk.pl
Temat: Zadania na rozmowę o pracę
Bartłomiej B.:jak mi odsyłali "zadania domowe" to dziękowałem za współpracę - jeśli nikt mi nie poświęca czasu, a wysyła tylko z automatu pracy na kilka godzin (za friko) to już wiem co o takich myśleć i wiem jeszcze lepiej, że nie chcę tam pracować
A nie myślałeś o tym, aby dać zadania do zrobienia w domu? Dopiero kolejnym etapem mogłaby być rozmowa na miejscu. Ty oszczędzisz czas, a jak programista nie podoła zadaniom to ich do Ciebie nie odeśle przez co będzie znał odpowiedź na pytanie "czy mnie przyjmą?" od ręki. Na rozmowie już taki przetestowany kandydat łatwiej podchodzi do tematu robienia zadań, bo wie, że już raz dobrze poszło.
Są gotowe systemy sprawdzające programistów (taki 1 etat), ale nie chcę znowu wyskakiwać z reklamą :)
jak idę na rozmowę to z przyjemnością rozwiążę zadania - ja poświęcam swój czas i pracodawca także, uczciwa wymiana
wolę takie przeprowadzanie rozmowy kwalifikacyjnej niż teoretyczne testy z pytaniami typu: co zostanie wydrukowane na komputerze przy wywołaniu echo 3 + "430 text" (i innymi nieżyciowymi przypadkami).
Matt
Jaworski
Web Developer,
SnipClip GmbH,
München
Temat: Zadania na rozmowę o pracę
Na marginesie, mnie dziś czeka pierwsza prawdziwa rozmowa o pracę od dobrych 5 lat... I to po niemiecku.Mateusz Jaworski edytował(a) ten post dnia 23.02.12 o godzinie 12:57
Dariusz Półtorak Programista PHP
Temat: Zadania na rozmowę o pracę
Kamil B.:
wolę takie przeprowadzanie rozmowy kwalifikacyjnej niż teoretyczne testy z pytaniami typu: co zostanie wydrukowane na komputerze przy wywołaniu echo 3 + "430 text" (i innymi nieżyciowymi przypadkami).
Się nie śmiej bo zapytałem jednego kandydata co pokaże taki kod:
if(123 == "123Darek") {
echo 'wariant true';
}
else {
echo 'wariant false';
}Odpowiedział że to oczywiste i że chodzi o wariant false. Niektórzy popełniają tego typu błędy nie zwracając uwagi nawet co się tutaj dzieje. I nie dziwię się bo sam nie zwracałem specjalnej uwagi dopóki nie debugowałem dawno temu jednego programu i mi to nie wpadło w oko bo właśnie było powodem błędu autoryzacji.
Od razu mówię że była to ciekawostka do rozmowy a nie jakieś pytanie kwalifikacyjne :)
Zgadzam się z Kamilem. Jak kandydat poświęca czas by się przygotować i przyjechać to czemu ja nie mam go poświęcić ? Wstępna selekcja na podstawie tego co podeślą (jakieś źródła, jakiś mail o tym co dotychczas robili, cv itp) sprawdza się OK i na ogół jak ktoś przychodzi to COŚ potrafi.
Widać po prostu nie miałem szczęścia do kandydatów :)
Mateusz Jaworski:
Na marginesie, mnie dziś czeka pierwsza prawdziwa rozmowa o pracę od dobrych 5 lat... I to po niemiecku.
A to ci nowość. Sugestia - zapytaj się ich czy chcą byś kod pisał po niemiecku :P Widziałem ja takie dziwactwa :) Tak samo jak u nas widzę firmy które cały kod piszą po polsku. Dariusz Półtorak edytował(a) ten post dnia 23.02.12 o godzinie 13:04
Matt
Jaworski
Web Developer,
SnipClip GmbH,
München
Temat: Zadania na rozmowę o pracę
Mateusz Jaworski:
Na marginesie, mnie dziś czeka pierwsza prawdziwa rozmowa o pracę od dobrych 5 lat... I to po niemiecku.
45 minut magla przez telefon, na szczęście po wymianie uprzejmości w języku Goethego przeszliśmy na angielski.
Pytania były następujące
Na rozgrzewke:
- jaka jest roznica miedzy == a ===
- jak sie przekierowuje usera ze strony na strone (header)
- jakim kodem HTTP (301,404 etc)
PHP:
- glowne roznice miedzy php4 a php5
- czy wiem cos w ogole o php6, czy sie interesuje
- roznice miedzy abstract class a interface
Ogolnie programowanie:
- co wiem o wzorcach projektowych
- czy znam cos poza MVC
Troche o bazach:
- dwa glowne storege engines mysql (innodb & myisam)
- roznice miedzy innodb i myisam
- opisz z grubsza transakcje, procedury, joiny
Reszta:
- znajomosc svn
- glowne roznice miedzy svn a git
- czemu aktualnie uzywasz mercurial (bo mnie zmusili hehe)
I najwazniejsze:
- ile chcesz zarabiac
- kiedy mozesz zaczac i czemu dopiero 19 marca
Poszlo niezle ;)
