Jak to się stało: incydent PHP

Zapewne znacie historie ludzi, którzy wybrali swój zawód lub nawet kompletną ścieżkę kariery w wyniku przypadku. Ja zdecydowanie nie mogę tego o sobie powiedzieć. Podjarałem się programowaniem już w liceum. Wybór kierunku studiów, a następnie ich specjalności był tylko konsekwencją moich ówczesnych zainteresowań. Ale dlaczego, do diaska, moim głównym językiem programowania, wokół którego od nastu lat kręci się moja praca, jest PHP?

Oczko mu się odlepiło. Temu misiu.

Słowem wstępu muszę wyjaśnić, że PHP to język programowania, który na przestrzeni niemal ćwierćwiecza ewoluował z prostego skryptowego rozszerzenia dla twórców stron internetowych do całkiem zgrabnego obiektowego języka o sporych możliwościach. W chwili gdy piszę ten tekst pozostały mniej niż dwa tygodnie do oficjalnego wydania wersji 7.4, która wprowadza kilka naprawdę ciekawych nowości. Ale o tym kiedy indziej.

PHP, BHP, LSD...

Kilka lat temu (takie tłustsze „kilka”) w sieci krążył fikcyjny news (w tej części sieci, co to głównie ludzie z IT tam zaglądają), o tym jak to w jednej ze szkół w Stanach nauczyciele zaniepokoili się zachowaniem grupy uczniów uważanych powszechnie za jajogłowych nerdów. Chodziło o to, że owi uczniowie wymieniali się w szkole uwagami i doświadczeniami dotyczącymi tajemniczego PHP. Z punktu widzenia nauczycieli, PHP było jakimś nieznanym dotychczas, a przez to bardzo niebezpiecznym narkotykiem. To taki żart z podobnego poziomu co nie dość morska świnka morska.

Natomiast wiele osób niezwiązanych ze światem IT nadal myli PHP z BHP. Jednak stosując nawet bardzo plastyczną i naciąganą analogię trudno mi sensownie zestawić język PHP z bezpieczeństwem i higieną pracy. Chociaż wciąż jeszcze bywa, że PHP odbywa się, w warunkach skrajnego pogwałcenia BHP. Dosłownie i w przenośni, w pośpiechu i w Intercity.

First contact

Pierwszy raz zetknąłem się z PHP na początku studiów. Wtedy na największym hajpie było Delphi, które już troche znałem. Większość ogłoszeń na uczelnianej tablicy z ofertami pracy dla studentów dotyczyło właśnie Delphi. Wydawało mi się wtedy, że to jest właśnie mój kierunek, w którym będę się rozwijał, a w przyszłości pewnie także pracował. Czasami jednak bywa tak, że przypadkowo spotkane osoby zmieniają nasze wybory w mniejszym lub większym stopniu. I tak się właśnie stało z moim wyborem, a Delphi najogólniej rzecz biorąc umarło.

Przypadkowo poznany na początku studiów Adam, który poza programowaniem interesował się także niezła nie-mainstreamową muzyką, spowodował, że zwróciłem uwagę na PHP. To z kolei spowodowało, że będąc na zakupach w Tesco (które było wtedy na swego rodzaju hajpie) i przechodząc obok regału z książkami, trafiłem na coś na temat PHP - książka typu „ćwiczenia praktyczne” albo „naucz się nurkować z delfinami pod lodowcem w weekend”. Z delfinami nurkować nie planowałem, ale książkę z ćwiczeniami z programowania w PHP zakupiłem. No i tak to się z grubsza zaczęło: pierwszy rok studiów, Adam od spoko muzyki i książka do nurkowania z delfinami.

To jest miś na skalę naszych możliwości

Właśnie z tymi możliwościami nie zawsze jest dobrze. Ogromny wzrost popularności PHP oraz stosunkowo niski próg wejścia spowodowały, że za „programowanie” zabrali się ludzie, którzy nie powinni nawet zbliżać się do zwykłych grabi ogrodowych, a co dopiero do komputera na prąd. No ale cóż.

Pod koniec studiów, z uwagi na to, że co nieco już w tym PHP ogarniałem i nie chciało mi się tracić czasu na czasochłonne obierki, zdecydowałem się na przedmiot związany z programowaniem w PHP i Pythonie. Bardzo szybko jednak okazało się, że przedmiot dotyczy głównie Pythona, którym z kolei jarali się prowadzący, natomiast na temat PHP za wiele nie wiedzieli, o czym przekonałem się po pierwszym wykładzie. Nie mieli natomiast nic przeciwko temu, abym popełnił pracę zaliczeniową w znanym mi języku, co niniejszym uczyniłem. Zrealizowanym zadaniem zaliczeniowym nie zaprzątałem sobie szczególnie głowy, gdyż w tamtym czasie PHP traktowałem jeszcze jako egzotyczne urozmaicenie codziennej diety wypełnionej innymi, bardziej prawdziwymi i przydatnymi językami. A na całkiem sporym hajpie była już wtedy Java, którą to upatrywałem jako język do realizacji mojej pracy dyplomowej.

Mój mąż? Mąż jest z zawodu dyrektorem

Tak, pewien dyrektor też w tym uczestniczył. W trakcie poszukiwania praktyk studenckich odbyłem taką jakby rozmowę rekrutacyjną w pewnej korporacji. I tam przez kilkanaście minut rozmawiałem z Panem Dyrektorem o programowaniu w Javie, co było mi zresztą bardzo na rękę. Nie miałem wtedy pojęcia, że umieszczenie w CV wzmianki na temat chwilowego obcowania z PHP będzie miało tak duży wpływ na moją późniejszą pracę.

Kilka tygodni później siedziałem już w biurze. Na początku moje stanowisko było wyposażone w niezbędne do programowania biurko oraz w obietnicę rychłego pojawienia się komputera. Dzięki temu, że pierwszego dnia mój komputer był kompletnie nieobecny, miałem nieograniczoną możliwość obserwowania przy pracy moich nowych kolegów Programistów Javowców. Całkiem spore było moje zaskoczenie, gdy po czterech pasjonujących godzinach nicnierobienia dowiedziałem się, że tutaj programujemy w PHP.

May the Force be with you

Projekt co prawda był naprawdę spory, ale za to kodziwo było skrajnie niskiej jakości, co paradoksalnie pomogło mi szybko się rozeznać i już po dwóch tygodniach samodzielnie pykałem pierwsze taski. Specyfika i ujemna atrakcyjność projektu spowodowały, że już po roku byłem najstarszy stażem i z powodzeniem wdrażałem w nurkowanie z delfinami w gęstym szambie młodych padawanów. Pomimo niezaprzeczalnych wad tamtego projektu uważam to doświadczenie za bardzo wartościowe. Pomogło mi spojrzeć na branżę, pracę jako taką i to całe PHP z innej, mniej idealistycznej, a bardziej życiowej, perspektywy.

Pora na wielki finał. Nie jest wielki, ale zawiera morał, nie jest odkrywczy, ale za to uniwersalny. Nieważne czy nurkujesz z delfinami, czy wymachujesz elektrycznymi grabiami, możesz być nawet niezamierzonym programistą PHP - wykonuj swoją pracę najlepiej jak potrafisz i staraj się, aby to „najlepiej” było coraz lepsze. I tyle.