Filip Górny

Filip Górny Programista,
webdeveloper.

Temat: Systematyczne podnoszenie swoich umiejętności

Programista PHP, ogólnie webdeveloper, na pewnym poziomie dochodzi do etapu, w którym wszystkie problemy/zadania do rozwiązania są już podobne i przerabiane. Lwia część z nich to jednak pasjonaci, którzy chcą rozwijać ciągle swoje umiejętności. Kiedyś mieliśmy dobre czasopismo php solutions, obecnie - nie ma chyba nic. Moje osobiste pytanie do grupowiczów - ile dziennie czasu i w jaki sposób poświęcacie na podnoszenie swoich kwalifikacji (wiedzy na temat webdevelopingu). Skąd czerpiecie wiedzie, jakie blogi polecacie?

Temat: Systematyczne podnoszenie swoich umiejętności

Filip Górny:
Kiedyś mieliśmy dobre czasopismo php solutions,

Ono nie było dobre :-). Merytorycznie było coraz gorsze - pewnie dlatego, że wymigiwali się od płacenia honorariów za teksty. Ja o swoje pieniądze za jeden artykuł walczyłem pół roku.
Moje osobiste pytanie do grupowiczów - ile dziennie czasu i w jaki sposób poświęcacie na podnoszenie swoich kwalifikacji (wiedzy na temat webdevelopingu). Skąd czerpiecie wiedzie, jakie blogi polecacie?

Trudno to tak jednoznacznie określić. Uczę się pracując czyli ktoś chce ode mnie jakiś soft robiący coś dziwnego i wtedy dumam jak to zrobić. Natomiast dochodzi się do takiego momentu, w którym nie ma już problemów trudnych i łatwych, a są jedynie pasjonujące i nudne :-).
Generalnie jak w każdej pracy tak i w programowaniu przychodzi pewien moment kiedy problemy przestają być problemami i nikt Cię już nie jest w stanie zaskoczyć oprócz Ciebie samego. Dlatego dobrze jest samemu wymyślać sobie problemy czyli np. chcieć zrobić daną rzecz lepiej niż wszyscy inni sięgać głębiej i głębiej. W tym momencie człowiek poniekąd zaczyna być badaczem. Bo zaczyna szukać. Sprawdza, że powszechnie stosowana metoda zrobienia czegoś tam zabiera 10% CPU, a ty szukasz czegoś co będzie zabierało 1%. I tak szukasz, szukasz... aż znajdujesz :-). I wtedy możesz powiedzieć sobie "kurde, ale jestem genialny!" bo uświadamiasz sobie, że 90% programistów nawet nie zaczęło się zastanawiać czy daną rzecz dałoby się zrobić lepiej i czy metoda której używają jest dobra czy nie.

Taki przykład z ostatnich moich dni. Jeżeli pobranie pliku ma być możliwe tylko dla w jakiś sposób zautoryzowanych użytkowników to jak to zrobi statystyczny programista PHP? Użyje funkcji readfile(), fread() lub innej podobnej metody. Potwierdzają to wyniki z Googla.
Mało kto zaczyna się zastanawiać ile to zajmuje zasobów. Okazuje się, że duuuuuuuuużo.

Tak się rozpisałem ale do czego zmierzam? Kiedy znasz już manuale na pamięć i wiesz co robi jaka funkcja i programujesz z zamkniętymi oczami to jedynym motorem Twojego postępu jest Twoja ciekawość. I wtedy okazuje się, że zaczynasz gromadzić wiedzę dużo szerszą niż tylko twój ulubiony język programowania bo okazuje się, że dzięki tej pozornie niezwiązanej wiedzy stajesz się coraz lepszym programistą.

Tutaj jest prezentacja, w której jest omawiany ten problem: http://www.infoq.com/presentations/Developing-Expertis...
Polecam!
Filip Górny

Filip Górny Programista,
webdeveloper.

Temat: Systematyczne podnoszenie swoich umiejętności

Przypomina mi sie sytuacja, w ktorej klient zmusil mnie do zmniejszenia (doslownie) calej strony! Nie wiem czy sa jakies gotowe narzedzia, ja napisalem wtedy skrypt, ktory zmniejszyl po prostu wszystkie jpegi i png, oraz wielkosci w css - dzialalo.

Naleze do tych programistow, ktorzy ciagle maja wyrzuty sumienia ze cos mozna bylo zrobic lepiej. Niestety - deadline jest grozniejszy niz Bog.

Temat: Systematyczne podnoszenie swoich umiejętności

Mam dokładnie to samo. Często dopieszczam kod bardziej niż to jest konieczne. Przez co często przekraczam założony przeze mnie czas pracy. Z drugiej strony mam taką zasadę, że jeśli jakaś operacja wykonuje się co najmniej dwa razy (nawet jeśli to jest TYLKO dwa razy) to od razu kombinuję z pętlami.

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

Odemnie praca i kosmiczne wymagania + debilne pomysly ludzi z gory, wymuszaja rozwoj i kombinowanie, dostarczanie nowych rozwiazan i robienia rzeczy o ktorych nigdy nie myslalem :)

Motywacja dzien po dniu ;)
Wyzwania na kazdym rogu (zwlaszcza jak sie pracuje z kims z US... nie polecam)...
Adam Pawliczek

Adam Pawliczek Usability expert, UX
designer,
Interaction
specialist

Temat: Systematyczne podnoszenie swoich umiejętności

Najgorzej jak projekty nad którymi się pracuje nie dają szans na samodoskonalenie, poprzez rozwijanie i doskonalenie tych projektów (z różnych oczywistych względów) - to bardzo demotywuje!
Wiem że można jeszcze dużo zrobić, widzę że jeszcze dużo się muszę nauczyć i rozszerzyć wiedzę na bardziej rozległe obszary (jestem chłonny na wiedzę jak nigdy), jednocześnie bardziej wbijając się w szczegóły i niuanse pewnych zagadnień. Tylko kurde, nie mam już na to czasu i możliwości!

Temat: Systematyczne podnoszenie swoich umiejętności

Adam Pawliczek:
Najgorzej jak projekty nad którymi się pracuje nie dają szans na samodoskonalenie, poprzez rozwijanie i doskonalenie tych projektów (z różnych oczywistych względów) - to bardzo demotywuje!

Problem, w pewnym sensie mój, polega na tym, że liczba projektów, które dają szansę na samodoskonalenie z czasem dąży do zera.... bo po prostu coraz więcej się umie. To co cię samodoskonaliło pół roku temu teraz już umiesz na wyrywki od każdej strony. Po pewnym czasie okazuje się, że realizując projekty znasz już odpowiedzi na wszystkie pytania i żaden klient nie jest w stanie cię zaskoczyć. Wiesz jak rozwiązać ich problemy - trzeba tylko to zrobić - a to już przestaje być ciekawe bo staje się dla ciebie wyrobnictwem, a nie odkrywaniem nowych lądów. Co gorsza, całe najbliższe środowisko słusznie uznaje cię za specjalistę w danej działce więc ciągle dostajesz projekty z danej dziedziny technologicznej. A potem jest już wypalenie zawodowe :-). Jak z tym walczyć? Wydaje mi się, że w pewnym momencie trzeba przestać pracować dla klientów, a zacząć realizować własne projekty, w których już nie zarabia się bezpośrednio na tworzeniu oprogramowania, a owo oprogramowanie jest jedynie narzędziem do realizacji celu biznesowego. Wtedy znów zaczyna się wkraczać na niezamieszkałe ziemie, zarówno tworząc jakieś oryginalne rozwiązania technologiczne jak i sprzedając jakiś nowy towar/usługę.

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

@Wojciech Małota

No to u mnie już jest przy zerze, od naprawdę dawna nie było projektu w którym nie wiedziałbym jak coś zrobić, dlatego znalazłem sobie zajęcie, w wolnej chwili (a mam ich dużo) zajmuję się optymalizacją i zabezpieczaniem dodatkowym skryptów na różne sposoby, a także sprawieniem by tworzenie kolejnych projektów było jak najmniej czasochłonne. Bawię się cache-ami, opóźnianiem ładowania js-ów, zipowanie css-ów czy też rozpraszaniem żądań, takie niby nic, a jednak potrafi przyśpieszyć znacznie stronę.

A przy okazji dowiedziałem się, że readfile() nie jest dobrym rozwiązaniem, lepiej użyć fopen a potem fpassthru()

działa o niebo szybciej ;P
Paweł Wrzosek

Paweł Wrzosek iOS Developer

Temat: Systematyczne podnoszenie swoich umiejętności

Webdeveloperka na (nie)szczęście to bardzo szerokie zagadnienie w branży IT - zawsze znajdzie się coś nowego.

Pierwsze co przychodzi mi do głowy to poznanie nowych technologii - w ten sposób chyba najszybciej można poszerzyć programistyczne horyzonty i nauczyć się czegoś nowego.
Co się webdev'owi przyda? - jeśli jeszcze nie zna - JavaScript (i to niekoniecznie w wydaniu "jQuery"), zbliżający się HTML5, wiedza nt użyteczności, dostępności stron www czy pozycjonowania.
Jak to w programowaniu - zawsze jest ciekawa biblioteka czy framework który wart jest uwagi.

Jeśli nie chcesz zamykać się tylko na PHP - Ruby, Python, Perl czy J2EE.
Przy całej mojej sympatii do PHP - jest to język w którym stosunkowo szybko można dobić do górnego pułapu. Znajomość innych języków zawsze jest w cenie - Python, Ruby, Perl, J2EE, .NET
Można też próbować z C++ w 21 dni

Co czytam?
* O programowaniu: http://www.devblogi.pl/
* O webdeveloperce: http://www.smashingmagazine.com
* O PHP: http://www.phparch.com/Paweł Wrzosek edytował(a) ten post dnia 20.04.10 o godzinie 21:35
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Systematyczne podnoszenie swoich umiejętności

Filip Górny:
Moje osobiste pytanie do grupowiczów - ile dziennie czasu i w jaki sposób poświęcacie na podnoszenie swoich kwalifikacji (wiedzy na temat webdevelopingu). Skąd czerpiecie wiedzie, jakie blogi polecacie?

po pracy, czasem i kolejne 6 godzin przed kompem, robiac rozne rzeczy w roznych jezykach nie tylko php, mnie glownie kreci jakies przetwarzanie grafiki, raytracing itp, a z phpowych to albo wlasna biblioteke rozwijam albo jakies narzedzie do organizacji swojej pracy pisze, a jak juz na php sie nie moge patrzec to badam jak dany problem rozwiazaz w innych technologiach/jezykach :P
zrodlo wiedzy? google, dokumentacje, manuale, specyfikacje - informatyka zaszybko sie zmienia zeby czekac az ktos laskawie napisze ksiazke :P

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

A może by tak SQL-a się douczyć?
Większość z Was nie wie jak głupią funkcję w SQl-u napisać :), tudzież wykonać jakieś bardziej karkołomne konstrukcje tylko jakieś protezy w PHP, a jakieś wielo krokowe procedury black magic. Biorąc pod uwagę że większosć pisze jakieś aplikacje webowe z bazami danych w tle to trochę porażka

Co do uczenia się to święte słowa, trzeba poznawać nowe technologie by nie zostać w tyle
Krzysztof Krakowiak

Krzysztof Krakowiak Software Developer

Temat: Systematyczne podnoszenie swoich umiejętności

heh codziennie siedzę w php/symfony/mysql/doctrine/xhtml/css/javascript/jquery (dojdzie jeszcze ext) i na koniec SEO, więc pewnie dojście do poziomu na którym popadnę w rutynę zamie mi jeszcze kilka lat ;p

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

Nie ma nic gorszego jak skrajna pewnosc siebie i wrazenie ze sie wszystko juz umie... zwlaszcza przy developowaniu stron.
A najgrosze jest to, ze czlowiek co jakis czas dochodzi do wniosku ze jezykow jest za duzo i chcialoby sie umiec wiecej, ale brakuje po prostu czasu.

Albo kilka jezykow dobrze - albo wiele przecietnie ;)
Moze w przyszlosci bedzie mozna sie uczyc rzeczy, tak jak wgrywali ludziom dane w Matrixie ;)
Adam Pawliczek

Adam Pawliczek Usability expert, UX
designer,
Interaction
specialist

Temat: Systematyczne podnoszenie swoich umiejętności

Andrzej Winnicki:
Nie ma nic gorszego jak skrajna pewnosc siebie i wrazenie ze sie wszystko juz umie... zwlaszcza przy developowaniu stron.

Należy wyjść z założenia, że nigdy nie jest możliwe osiągnięcie poziomu wiedzy absolutnej w danej dziedzinie, jednocześnie uparcie i konsekwentnie do tego poziomu dążyć :)

"Chuck Norris policzył do nieskończoności... dwa razy." ;)

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

Adam Pawliczek:
Należy wyjść z założenia, że nigdy nie jest możliwe osiągnięcie poziomu wiedzy absolutnej w danej dziedzinie...

Znam kilku takich, ktorym wydaje sie iz sa Masta Dezajnerami i Deweloperami, nie prezentujac zbyt wysokiego poziomu. Na kazda uwage reaguja "gwaltowanie" a na komentarz iz kod jest srednio poprawny (validator na pierwszej stronie zwraca lacznie np. 140 bledow) kometuja to slowami "a co ja sie bede jakimis gownianymi standardami przejmowal, nie mam na to czasu, nie placa mi za to..." ;)
Oby jak najmniej takich rodzynkow ;)

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

Andrzej Winnicki:
Odemnie praca i kosmiczne wymagania + debilne pomysly ludzi z gory, wymuszaja rozwoj i kombinowanie, dostarczanie nowych rozwiazan i robienia rzeczy o ktorych nigdy nie myslalem :)

Motywacja dzien po dniu ;)
Wyzwania na kazdym rogu (zwlaszcza jak sie pracuje z kims z US... nie polecam)...

pod tym wzgledem dobrze robi sie z holendrami - zawsze ida na reke ;)
Artur Świerc

Artur Świerc Programista PHP/Java

Temat: Systematyczne podnoszenie swoich umiejętności

Andrzej Winnicki:
Nie ma nic gorszego jak skrajna pewnosc siebie i wrazenie ze sie wszystko juz umie... zwlaszcza przy developowaniu stron.

Dokładnie.

Ja wychodzę z założenia: jeśli uważasz, że wszystko umiesz w PHP (a na pewno tak nie jest), to sięgnij np po JEE - z tej technologii można o wiele więcej wyciągnąć. Jeśli nie pod kątem pisania w JEE aplikacji, to chociaż pod kątem podpatrzenia pewnych rozwiązań, nagle człowiek czuje jak mu się żarówka zapala w głowie.Artur Świerc edytował(a) ten post dnia 21.04.10 o godzinie 07:42

konto usunięte

Temat: Systematyczne podnoszenie swoich umiejętności

Artur Świerc:

Dokładnie.

Ja wychodzę z założenia: jeśli uważasz, że wszystko umiesz w PHP (a na pewno tak nie jest), to sięgnij np po JEE - z tej technologii można o wiele więcej wyciągnąć. Jeśli nie pod kątem pisania w JEE aplikacji, to chociaż pod kątem podpatrzenia pewnych rozwiązań, nagle człowiek czuje jak mu się żarówka zapala w głowie.Artur Świerc edytował(a) ten post dnia 21.04.10 o godzinie 07:42

Ha, ja wyszedłem z założenia, że PHP mi się znudził, dlatego od jakiegoś czasu uczę się i piszę w Javie (jse, jee), tego jeszcze nie znam na tyle dobrze, masa bibliotek do poznania, warto.

Temat: Systematyczne podnoszenie swoich umiejętności

Darek Z.:
A przy okazji dowiedziałem się, że readfile() nie jest dobrym rozwiązaniem, lepiej użyć fopen a potem fpassthru()

działa o niebo szybciej ;P

A mimo to daaaaleeeeko mu do rozwiązania optymalnego :)

Temat: Systematyczne podnoszenie swoich umiejętności

Przemysław R.:
A może by tak SQL-a się douczyć?
Większość z Was nie wie jak głupią funkcję w SQl-u napisać :)

To też już umiemy na wyrywki ;-)

Następna dyskusja:

Jakie dajecie nazwy zmienny...




Wyślij zaproszenie do