Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Oferty pracy: wymagania stawiane przed kandydatami na stanowisko programisty PHP
Forum PHP.pl > Inne > Hydepark
adgad
Witam,
chciałbym rozpocząć dyskusję odnośnie wymagań na stanowisko programista php. Czytając oferty pracy zamieszczane na tym forum bardzo często mam wrażenie że oferty są przygotowywane dość niekonsekwentnie. W wymaganiach ktoś pisze:
Cytat
[...]
-biegła znajomość PHP 5,
-doskonała umiejętność pracy w środowisku Symfony 1.4[...]

By później dodać:
Cytat
Bardzo mile widziane:
- umiejętność programowania obiektowego

Albo "znajomość popularnych frameworków" a później "znajomość OOP". Przecież jeśli ktoś zna kilka frameworków, ale naprawdę zna, a nie tylko "zna" to nie są mu obce pojęcia OOP. Co o tym sądzicie? Takich ofert jest bowiem stosunkowo dużo. A może to mnie się tylko wydaję że to źle przygotowane oferty pracy?
phpion
Masz rację. Źle Ci się wydaje.

1. Umiejętność korzystania z frameworka niekoniecznie oznacza znajomość OOP. Wiele osób działa na zasadzie kopiuj-wklej-zmień.
2. "Znajomość OOP", a "Umiejętność programowania obiektowego" to dwie zupełnie różne sprawy.
adgad
Cytat(phpion @ 12.09.2013, 08:00:19 ) *
1. Umiejętność korzystania z frameworka niekoniecznie oznacza znajomość OOP. Wiele osób działa na zasadzie kopiuj-wklej-zmień.

Dlatego napisałem że jeśli ktoś zna, a nie "zna" czyli kopiuj-wklej. Czy doskonała znajomość framoworka to nie ten pierwszy przypadek? Czy można znać biegle PHP i nie znać OOP PHP?
Cytat(phpion @ 12.09.2013, 08:00:19 ) *
2. "Znajomość OOP", a "Umiejętność programowania obiektowego" to dwie zupełnie różne sprawy.

Możesz rozwinąć, bym był pewny że dobrze zrozumiałem?
phpion
1. Co to znaczy znać biegle PHP? Równie dobrze może to oznaczać, że znasz wszystkie funkcje PHP na pamięć. Jest to bardzo ogólne pojęcie, niekoniecznie trzeba znać OOP by biegle posługiwać się tym językiem.
2. Dla mnie znajomość OOP to umiejętność tworzenia klas, znaczenie słów extends, abstract itd. Natomiast umiejętność programowania obiektowego to właściwe korzystanie z obiektów. Nie wystarczy opakowanie funkcji w klasy by programować obiektowo.
Adi32
Cytat(phpion @ 12.09.2013, 08:51:51 ) *
2. Dla mnie znajomość OOP to umiejętność tworzenia klas, znaczenie słów extends, abstract itd. Natomiast umiejętność programowania obiektowego to właściwe korzystanie z obiektów. Nie wystarczy opakowanie funkcji w klasy by programować obiektowo.

Nie da się programować obiektowo bez znajomości OOP.
Daiquiri
Adi32, Phpion chciał chyba odróżnić umiejętność utworzenia klasy od umiejętności obiektowego myślenia. Jeżeli wrzucę szereg funkcji z kodu stricte strukturalnego w klasę, będzie to znaczyło tyle, że znam strukturę klas, słowa kluczowe itd., ale nie potrafię myśleć w obiektach ;-).

Swoją drogą osobiście uważam, że spora część ogłoszeń jest pisana na kolanie, w przerwie między kawą a pogaduchami z prezesem. Może nie zacytowane ogłoszenie, ale jednak.
PrinceOfPersia
ja to widzę tak:
- programowanie zorientowane obiektowo to bardziej kwestia paradygmatu, sposobu myślenia. To są zasady niezależne od języka programowania. Można zrobić kod korzystając ze słówek "class" i "extends" i wcale nie napisać obiektowego kodu, bo będzie się waliło na oślep. Można też zrobić kod obiektowy w języku C, w którym nie ma klas.

- są słowa kluczowe PHP i cała skladnia, która pomaga programować obiektowo, np. class, extends itp. I jest to gdzieś opisane, zapewne w manualu na php.net, jak należy używać tej składni. Tutaj też bym umieścił wszelkie standardowe typy, standardowe wbudowane klasy itp.

- no i wreszcie, na samym wierzchu, jest specyfika konkretnego frameworka. Jednak z frameworków można korzystać jak małpa, po prostu wrzucając odpowiedni kod w odpowiednie dziurki (kod logiki do odpowiednich kontrolerów, kod bazy do modelu, kod HTML do szablonów...), bo celem frameworków jest właśnie umożliwienie przeciętnym programistom (albo programistom leniwym) napisanie rozbudowanej aplikacji minimalnym nakładem pracy (weźcie napiszcie od zera taki framework - mam na myśli framework - a nie aplikację zbudowaną na frameworku - ja się nie podejmuję... wink.gif ). I właśnie dlatego "znajomość kilku frameworków" wcale nie znaczy, że ktoś będzie jakimś specjalnym wymiataczem. Wymiataczem byłby wtedy, gdyby napisał własny framework wink.gif (do czego wcale nie namawiam, bo to strata czasu, skoro jest już pełno gotowych frameworków - chodzi mi o to, że prawdziwy wymiatacz znający się na OOP byłby w stanie napisać własny framework.).


Cytat
A może to mnie się tylko wydaję że to źle przygotowane oferty pracy?

Zależy chyba od firmy i stanowiska. W niektórych firmach faktycznie będziesz musiał znać OOP na wysokim poziomie, bo będziesz pracował nad rozbudową dużych aplikacji, a w niektórych będziesz klepać kod, gdzie znajomosć wzorca MVC i podstawowa znajomość PHP spokojnie wystarczy.

Ale nie dowiesz się tego, dopóki nie skontaktujesz się z daną firmą, nie pójdziesz do nich na rekrutację, albo w inny sposób (od znajomego) nie dowiesz się o tym, jak w danej firmie wyglada praca.

mstraczkowski
Cytat(Adi32 @ 16.09.2013, 07:50:11 ) *
Nie da się programować obiektowo bez znajomości OOP.


Ja uważam, że da się programować obiektowo bez znajomości OOP.
Ale to już bardziej filozoficzne podejście.

Weźmy sobie za przykład kolesia, który nauczył się tworzyć aplikacje przy użyciu Zend Framework.
Ale robi to w ciemno, po prostu wie co do czego służy, ale nie ma pojęcia jak to wygląda pod maską.

Stosując konwencje Zenda tak naprawdę programuje obiektowo w ogóle nie zdając sobie z tego sprawy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.