Przechwałki

Praca programisty do łatwych nie należy, dlatego zastanawiam się skąd tylu młodych ludzi ma wysokie mniemanie o swoich umiejętnościach w tej kategorii. Przekrojowa analiza treści różnych list dyskusyjnych zdaje się potwierdzać, iż rzeczywistość nie kształtuje się zbyt różowo.

Praca programisty do łatwych nie należy, dlatego zastanawiam się skąd tylu młodych ludzi ma wysokie mniemanie o swoich umiejętnościach w tej kategorii. Przekrojowa analiza treści różnych list dyskusyjnych zdaje się potwierdzać, iż rzeczywistość nie kształtuje się zbyt różowo.

Zamieszczając w Internecie anons o poszukiwaniu programisty cechującego się określonym doświadczeniem i umiejętnościami spodziewamy się, że nadesłane oferty będą z grubsza przystawały do naszego zapotrzebowania. Jest to oczywiście założenie błędne, gdyż napływa sporo zgłoszeń takich, które nie mają nic wspólnego z wytypowanym zakresem merytorycznym. Zgodność jest tylko pozorna, bo kandydat jest lub raczej uważa się za programistę i na tym koniec. Na przykład szukamy kogoś znającego Oracle i C++, a zgłasza się człowiek od PHP i MySQL. My chcemy, aby pracował w pełnym wymiarze i stacjonarnie, a ten proponuje pracę zdalną. Jak wielkie to nieporozumienie, fachowcom nie muszę tłumaczyć. Zastanowić się jednak należy, jakie też przesłanki decydują, że kandydat na pracownika próbuje w ten sposób się przemycić. Przypomina mi to nieco scenę ze sklepu w jakimś kryzysowym czasie, kiedy to klientowi z powodu braku papieru toaletowego zaoferowano ścierny. Bo wszak to też papier.

Jak to się mówi - programować każdy może, trochę lepiej lub gorzej. A w razie czego się przyuczy. Oczywiście wszystko jest dla ludzi, więc kandydat myśli sobie, że skoro zna jakieś środowisko programistyczne, to inne raz dwa także sobie przyswoi. Nie jest to jednak ani szybka, ani też łatwa metamorfoza, a podobieństwo nazw pewnych produktów (np. MySQL i Microsoft SQL) jest dalece iluzoryczne. Doświadczenie jest ważne również z innych powodów. Przeważnie systemy biznesowe współpracują z bazami danych, gdzie istotną kwestią jest wielodostęp i zarządzanie transakcjami. Jeśli programista nie zna pewnych technologii, które pozwolą mu to skutecznie zrealizować, nie ma wyobrażenia o przebiegu tych procesów, to produkt jego autorstwa okaże się jakimś koszmarkiem zupełnie nie nadającym się do racjonalnego zastosowania. No i wreszcie problem osobistego uczestnictwa w pracach całego zespołu programistycznego także nie ma znaczenia drugorzędnego. Zdalnie można wykonywać zadania mające cechy znacznej autonomii, jednak w realnych zastosowaniach, gdzie wszystko ze wszystkim się integruje, a ponadto występuje konieczność ciągłych konsultacji z użytkownikami (wewnętrznymi lub zewnętrznymi) lub z szefem projektu, rola wolnego strzelca schodzi na plan dalszy. Nie mówiąc już o tym, że same środowiska testowe, będące zapleczem warsztatowym programistów, na ogół są na tyle skomplikowane, heterogeniczne i kosztowne, że trudno myśleć o ich odwzorowaniu w warunkach domowych.

Niektórzy studenci i świeżo upieczeni absolwenci chwalą się na listach dyskusyjnych, że całą tę informatykę mają w małym palcu. Na szczęście - nawet dla nich samych - co bardziej doświadczeni zawodowo dyskutanci prostują to mniemanie, uświadamiając ich, że w rzeczywistości to niewiele potrafią i bez wieloletniej praktyki nie ma tu o czym mówić. Bo tak naprawdę w jednym palcu można mieć tylko sztukę włączania komputera, a cała reszta w dziedzinie informatyki to ustawiczna nauka, pokonywanie własnej niewiedzy i ciągłe rozwiązywanie nowych i nietrywialnych problemów. Gdy ktoś twierdzi inaczej, to znaczy, że wie bardzo mało na ten temat.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200