Table of contents icon

Obserwuj @varjs

Porady autora

Rozdział 14

Właśnie zbudowałeś swoją pierwszą pełnoprawną stronę internetową. Podzieliłeś umiejętnie stronę na trzy kolumny, dodałeś menu i formularz do komentowania. Kolejne kroki jakie wykonasz na swojej drodze postawisz już sam. Zapewne, mając na uwadze własną karierę, zapytasz teraz: co dalej?

Należy podkreślić, że każdy ma własną drogę wykorzystania talentów (powołanie), które dostał od Boga. Nie powinieneś więc oczekiwać tutaj jakiegoś w stu procentach sprawdzonego przepisu na życie zawodowe. Jak pokazuje doświadczenie, a także lektura biografii świętych, może się równie dobrze okazać, że powinieneś robić coś zupełnie innego, na przykład to, czego zaniechałeś wiele lat temu. Albo w ogóle od komputerów trzymać się z daleka, bo Twoje szczęście leży gdzie indziej. Dlaczego to piszę? Wielu początkujących cechują niezdrowe aspiracje albo wiara w to, że programowanie jest dziedziną wyjątkową, oddzielającą skutecznie wybranych od pozostałych. Chciałbym więc napisać (by pozbyć nas wszystkich zbędnych złudzeń), że programowanie stron internetowych i programowanie w ogóle jest zajęciem jak każde inne, które wymaga na pewno czasu, cierpliwości i pracowitości. Nie jest ani lepsze ani gorsze od innych zajęć i może być użyte w różnych celach, niekoniecznie tych dobrych dla nas, ludzi.

Jako autor tej mini książki mogę jedynie opowiedzieć co w moim przypadku działało najlepiej oraz przestrzec przed pułapkami, w które sam wpadłem. Nim przejdziemy do konkretów technicznych, na pewno warto sobie uświadomić, że w dzisiejszych czasach bardzo często utożsamia się sukces zawodowy z popularnością lub dużymi pieniędzmi (albo dwa naraz), osiąganymi najlepiej bez wysiłku, co już na starcie jest dla nas wielkim niebezpieczeństwem. Nierzadko, pod wpływem zakłamanych autorytetów lub mediów, a czasem z własnej pazerności, łudzimy się, że osiągnięcie bogactwa to dla nas najlepszy i jedyny scenariusz. Jest to według mnie duży błąd, który może mieć potem opłakane skutki na wielu płaszczyznach, od społecznych przez duchowe, na psychicznych kończąc. Nie zawsze będzie Ci pisana duża kariera programisty, a na pewno nie dlatego, że jacyś ludzie stręczą Ci ją codziennie w różnych formach jak np. książki, kursy, szkolenia itd., troszcząc się bardziej o ich sprzedaż niż o Ciebie samego. Pamiętaj, że założyć bloga jest bardzo łatwo, pisać może każdy. Być może więc nie zostaniesz drugim Jobsem, ale pisana jest Ci kariera nauczyciela akademickiego albo po prostu solidnego programisty. Możliwe, że w ten sposób wypełnisz swoje powołanie i pomożesz wielu ludziom. Moim zdaniem, w tym zawodzie zbyt wielkie aspiracje mogą okazać się dla człowieka bronią obosieczną, dostarczając po drodze wielu rozczarowań.

Przy okazji... Jak często mówi się nam byśmy odróżniali się od reszty i postawili na indywidualność! W tej pogoni za "unikalnym życiem" (jakby samo w sobie takie nie było...) i doznaniami, szybko okazuje się, że kupujemy te same produkty, robimy to samo, nosimy te same ubrania (wygląda na to, że w 2019 roku, kiedy to piszę, trzeba koniecznie wziąć ślub w stylu boho, a na co dzień nosić okulary z lekkim oprawkami i spodnie z dziurami...) i w rezultacie wyglądamy tak samo, żyjąc od starej mody do nowej mody. Podobnie jest z tworzeniem stron internetowych i wszelkimi trendami, które wytworzyły się wokół tego szerokiego przecież tematu. Polecam więc uczyć się systematycznie i najpierw poznać podstawy, nie przeskakując co pół roku z jednej technologii na drugą. Nawet gdyby pisali, że za chwilę coś będzie już passé, nie słuchaj tego – lęk jest najgorszym doradcą, jednocześnie największą bronią marketingu. Pisze to osoba, która koduje w tzw. vanilla JavaScript od 10 lat, cały czas czegoś się w pracy ucząc, a która nie poznała dogłębnie jakże modnych dziś React.js czy Angulara.

Dlatego głupstwem jest bezmyślne podążanie za wszystkimi radami obcych, a tym bardziej sprzedawców w owczej skórze. Korzystajmy z krytycznego osądu własnego sumienia i rozumu, a także, co nie jest dziś tak oczywiste, rodziców i rodziny. Najlepiej też spowiednika. Żyjemy dziś w świecie konsumpcji oraz chęci łatwego i szybkiego zarobku, jesteśmy również coraz mniej dojrzali i asertywni wobec składanych nam propozycji i kokieterii. W zderzeniu z obietnicą szybkiego awansu zawodowego i rzekomych wielkich pieniędzy z programowania, zanikają zdrowy rozsądek oraz logiczne myślenie, które zastępowane są przez pożądliwość i relatywizm. Pokusa by stać się tzw. seniorem (jedno z wyższych stanowisk w programowaniu) w wieku, dajmy na to 22 lat albo nauczyć się JavaScriptu w 3 miesiące w szkole programowania, jest ogromna. W tym sensie branża ta wywraca do góry nogami jakiekolwiek znane naszym ojcom i dziadkom hierarchie. Czasem nie trzeba się w ogóle natrudzić, by przeskoczyć kilka szczebli naraz. Okazuje się potem, że taki 22-letni senior może i ma wysokie umiejętności techniczne, jednak nie nadążają za nimi inne potrzebne dla tej pozycji cnoty i cechy charakteru, takie jak dojrzałość emocjonalna, stabilność, wytrwałość, odpowiedzialność, męstwo czy cierpliwość. O ilu depresjach i problemach emocjonalnych nasłuchałem się podczas ostatnich lat w tym zawodzie...

Na swojej drodze usłyszysz wiele fałszywych i sztucznych haseł, począwszy o potrzebie zmiany tego świata dzięki technologii, wpływie Twojego projektu na miliony i tak dalej. Jest to zwykle kłamstwo, z góry zakładające, że każda technologia i pomysł są dobre, i pomocne ludziom (spójrz choćby ile osób, w tym dzieci, wpatruje się w telefon podczas spaceru czy powrotu do domu z pracy lub szkoły – czy ktoś z tych orędowników technologicznej rewolucji zajmuje się negatywnymi skutkami nadużywania technologii?). Nas to z kolei ma zmobilizować, abyśmy skupili się na pracy i przestawali zadawać pytania. Bardzo często takie teksty głoszą osoby, które przez to realizują swoje własne deficyty. Myślę, że wszyscy zrobimy najlepiej, gdy świat stworzony przez Pana Boga zostawimy w spokoju, a na lepsze zaczniemy zmieniać siebie i to, na co mamy realny wpływ.

Funkcjonuje również w naszej branży powiedzenie fake it till you make it, które zawiera w sobie ukryte przyzwolenie na kłamstwo. Hasło to oznacza, że powinniśmy ukrywać braki naszego produktu (często też nasze własne) i udawać, że potrafi(my) x czy y, do czasu, aż w końcu to zaimplementujemy lub uzupełnimy wiedzę. W efekcie liczymy, że nikt nie zauważy początkowego braku, a my na tym zyskamy. Wystrzegajmy się czegoś takiego, bo prędzej czy później zostaniemy zweryfikowani. Mam wrażenie, że ta postawa stała się już tak powszechna, że zupełnie zignorowaliśmy fakt, że jest to zwyczajne kłamstwo. Skoro kłamaliśmy przy czymś takim, to co nas powstrzyma przed kłamstwem w innych sprawach? Poza tym, skąd możemy być pewni, że nauczymy się tego, co obiecaliśmy, skoro kłamstwo okazało się (chwilowo) skuteczne?

Powiem teraz, co mi pomogło w nauce. Na początku polecam wybrać swoją ulubioną stroną internetową (bądź jej część) i postarać się ją odtworzyć na własnym komputerze, pisząc własnoręcznie kod od nowa. Podziel jej elementy na pojedyncze części według ich funkcjonalności. Najpierw stwórz kod HTML, a dopiero potem dodaj CSS. Zawsze pamiętaj o tej kolejności. Ważny jest semantyczny kod HTML. Dzięki niemu inni programiści front-end (tak nazywają się osoby, zajmujące się warstwą interfejsu użytkownika, czyli językami HTML, CSS i JavaScript) będą mogli łatwo wgryźć się w Twój kod. Co więcej, Twój trud prawdopodobnie wynagrodzą wyszukiwarki internetowe - dobrze ustrukturyzowana treść pozycjonuje się (tzn. Twoja strona jest wyżej w wynikach wyszukiwania) o wiele lepiej, chociaż ostatnimi czasy algorytm Google jest o wiele bardziej uzależniony od prywatnej historii wyszukiwania, preferencji i podpowiedzi sztucznej inteligencji, że dziś nie jest to już tak jasne. Ponadto, dobry HTML jest bardzo ważny dla różnych czytników ekranowych, które nie obsługują CSS-a i wyświetlanie tekstu mogą oprzeć jedynie na znacznikach. Im lepiej one dobrane, tym większy komfort czytania – nikt nie chciałby przecież, by nagłówek wyświetlał się tak, jak zwykła treść.

Po skończonej pracy sprawdź, jak kod napisali autorzy oryginału. Poznawaj w ten sposób nowe techniki, dopytuj, bądź krytyczny.

Schematy

Bardzo ważne jest też uświadomienie sobie, że programowanie front-endu to w większości praca oparta na schematach. Mimo to każda działka (HTML, CSS oraz JavaScript, który zapewne poznasz w przyszłości) ma swoje własne niespodzianki i tajemnice. W każdej z nich czyha na Ciebie mnóstwo pułapek. W HTML jest to na przykład tzw "classitis", czyli nadmiarowe dodawanie niepotrzebnych klas. Jest też zjawisko "divitis", czyli nadużywanie elementów <div>, kiedy można je zastąpić czymś bardziej semantycznym. W takie pułapki będziesz wpadał bardzo często. Wychodząc z nich obronną reką zdobędziesz doświadczenie, które potem zaprocentuje. Nie będzie dla Ciebie problemem to, jak ułożyć parę elementów obok siebie. Pójdziesz dalej, poszukasz sposobu, jak zrobić to w najmniejszej liczbie linii kodu. Jak ulepszyć semantykę HTML, jak sprawić, by przeglądarka wyświetliła to najszybciej. Będziesz pracować nad własnym fachem popełniając błędy i ucząc się na nich.

Nowości w HTML

Po przerobieniu tej książki, warto byś sięgnął po kolejną, która opisałaby wszystkie znaczniki HTML i CSS, najlepiej na przykłach praktycznych. Pomocne mogą być też nagrania na Youtube. Ja pokazałem Ci tylko sposób myślenia, pora byś nauczył się reszty tagów HTML i własności CSS. Wiedz, że to dość dynamiczne języki. Z HTML-em jest ten problem, że często zmieniają się jego detale i pojedyncze tagi. Warto od czasu do czasu (ale bez przesady) sprawdzić co się dzieje w W3C i WHATWG, które pracują nad rozwojem tego języka. Zdarza się bowiem, że jakiś tag HTML nagle przestaje być elementem specyfikacji, więc nie należy go używać. Innym razem zmienia się jego przeznaczenie.

CSSowe sztuczki

CSS to z kolei kopalnia wiedzy, wzorców i sposobów obejścia różnych problemów. Poznaliśmy jego podstawy i zasady działania. Jak zauważyłeś, jest to prosty język. Tworzysz selektor, dzięki któremu odnosisz się do tego, jak mają wyglądać dane elementy HTML. Aby zmodyfikować ich wygląd używasz jakichś własności np. height, gdy chcesz zmienić wysokość. Tych właściwości jest ich o wiele więcej. Możesz dodawać tła gradientowe, zaokrąglone rogi (poprzez border-radius), przeźroczystość (własność opacity), cienie tekstu (text-shadow), cienie elementów blokowych (box-shadow) i wiele więcej. Przejrzyj dokumentację CSS-a i poczytaj inne artykuły w sieci o CSS.

Bardzo istotne we front-endzie jest to, aby strony wyświetlały się tak samo w każdej przeglądarce. W niedalekiej historii był to dość duży problem. Wiele przeglądarek na rynku interpretowało standardy po swojemu (prym wiódł w tym Internet Explorer 6, który jest dziś owiany mroczną sławą). Dlatego też przez długi okres składanie stron polegało na wynajdowaniu różnych trików, które omijałyby niedogodności w danej przeglądarce. Najlepiej, gdyby były one semantyczne i nieinwazyjne. Dlatego też wertując archiwalne materiały (powiedzmy z 2006 roku) znajdziesz wiele technik takich jak faux columns (do uzyskania kolumn tej samej wysokości), PNGFix (wyświetlanie przeźroczystego obrazka PNG) czy clearfix, które znajdowały odpowiedź na problemy przeglądarek z tamtych lat. Część z nich jest nadal używana, jednak wiele odeszło w zapomnienie, ponieważ naprawiono błędy w popularnych przeglądarkach internetowych. Przebywając i czytając o CSS w internecie spotkasz je nie raz. Warto wtedy zapytać bardziej doświadczonego kolegę, czy jeszcze używa się danej techniki.

Historia przeglądarek

Przeglądarki poprzedniej dekady miały dużo wad. Chyba największą było to, że nie aktualizowały się automatycznie, a więc gdy chciano dodać nowe opcje w CSS, musiano czekać kilka, kilkanaście miesięcy na nową wersję przeglądarki. Wyobraź sobie, że nie możesz zastosować tła składającego się z gradientu, używając wyłącznie CSS-a. Tak, w tamtych latach to była codzienność. Trzeba było przygotować obrazek w postaci gradientu, wgrać go na serwer i ustawić go w CSS jako tło danego elementu. Robiło się to tak:

.news {
    background: url(gradient.jpg) no-repeat;
}

Dziś z kolei ustawianie tła gradientowego jest bardzo łatwe, definiuje się je w postaci własności linear-gradient:

.news {
    background: linear-gradient(to bottom, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);
}

Prefiksowe dziwolągi

Jak widać, przeglądarki internetowe cały czas ewoluują, a standardy pisania stron się zmieniają. Na przykładzie CSS-a jest to widoczne chyba najbardziej. Wyobraź sobie, że cały czas pojawiają się propozycje nowych opcji w CSS. Instytucje takie jak W3C i WHATWG, stojące na straży standardów, nie mogą akceptować każdego pomysłu bez jego przetestowania i konsultacji. Jest też tutaj dużo polityki i walki koncernów. Dlatego też producenci przeglądarek często wyprzedzają decyzje różnych gremiów, implementując nowe własności CSS poprzez dodanie do ich nazw przedrostki (tak jak to było z CSS Grid Layout w rozdziale 13), które jednoznacznie identyfikują je z daną przeglądarką. Na przykład Chrome, gdy wprowadza jakąś eksperymentalną opcję, nazywą ją w ten sposób:

-webkit-nazwa

Wtedy, aby użyć takiej własności, musimy w CSS napisać:

.news {
    -webkit-nazwa: 20px;
}

Oczywiście -webkit-nazwa nie ma sensu i wymyśliłem to na potrzeby przykładu. Z istniejących własności można wymienić np. -webkit-box-sizing. Bywa więc, że musimy w CSS obsłużyć kilka wersji jednej własności CSS dla każdej z liczących się przeglądarek:

.news {
    -webkit-box-sizing: border-box; /* Chrome */
    -moz-box-sizing: border-box; /* Firefox */
    -ms-box-sizing: border-box;  /* Interner Explorer */
    box-sizing: border-box;
}

W powyższym przykładzie musiałem użyć aż czterech linijek. Najpierw dla Chrome, potem dla Firefoxa, następnie dla Internet Explorera, a na końcu zastosowałem nazwę bez prefiksu, na wypadek, gdyby któraś z przeglądarek przestała wspierać prefiksową wersję. Dzieje się tak, gdy W3C ostatecznie uznaje daną własność za prawidłową i wchodzi ona do standardów.

Kolory w CSS

CSS to dzisiaj naprawdę spora kopalnia pomysłów i możliwości. Same kolory można wyrazić w kilku różnych formatach. Jak zapewne zauważyłeś, w tej książce używaliśmy kolorów zapisanych w formie słownej. Wybrałem ten format, by nieco uprościć sprawę. Wiedz jednak, że najbardziej popularnym formatem kolorów jest format heksadecymalny, czyli na przykład kolor czarny zapisywany jest tak: #000000. Innym formatem jest rgb. Wtedy kolor czarny zapiszemy tak: rgb(0, 0, 0). Chcesz, aby Twoje tło było czarne i w połowie przeźroczyste? Nie ma problemu, użyjesz rgba – rgba(0, 0, 0, 0.5). W parze z selektorami używamy tego tak:

.news {
    color: #000000;
}

Wtedy wszystkie elementy .news będą miały czarny font. Kolory w tym formacie uzyskasz w każdym programie graficznym. Jeśli chcesz przetestować różne warianty bez ich instalowania, możesz wejść na przykład na ColorPicker.com i dowolnie eksperymentować. Szybko da się zauważyć o wiele więcej możliwości w stosunku do kolorów zapisanych słownie, prawda?

Responsive Web Design

Będąc przy CSSie nadmienię, że standardem od kilku dobrych lat jest tzw. Responsive Web Design. Chodzi tutaj o to, by strona wyglądała inaczej w zależności od rozdzielczości ekranu/urządzenia. Często na urządzeniach mobilnych z małym ekranem nie ma sensu pokazywać całej strony, wystarczy skupić się na treści głównej i ukryć pozostałe kolumny. Do tego służy właśnie RWD – aby komfort przeglądania strony był na jak najwyższym poziomie. Bez zastosowania technik Responsive Web Design często użytkownik (szczególnie korzystając ze smartphone’a z dość małym ekranem) musi przybliżać całą stronę. Nie jest to wygodne. W RWD piszesz w CSSie mniej więcej tak: dla rozdzielczości ekranu do 320px użyj takich i takich oto reguł. Zapisać to można tak:

@media screen and  (max-width: 320px) {
    .news {
        display: none;
    }
}

Użyliśmy tutaj tzw. "media queries". Dzięki temu na urządzeniach wyświetlaczem do 320px szerokości, elementy .news będą ukryte (display: none).

Narzędzia

Przeglądarki internetowe, oprócz stałego implementowania nowych opcji w HTML i CSS, zaczęły od pewnego czasu oferować również tzw. narzędzia developerskie, czyli wbudowane w przeglądarkę widgety, dzięki którym możesz m.in. obejrzeć swój kod HTML i zobaczyć, jakie style ustawiła im przeglądarka. A to tylko wierzchołek góry lodowej możliwości, jakie dają. Aby uruchomić je w Google Chrome, kliknij prawym klawiszem myszki na stronie i wybierz "Zbadaj element". Otworzy się wtedy nowy panel z przydatnym zestawem narzędzi o jakim właśnie wspomniałem. Spędź przy nich dłuższą chwilę – prawie wszystko można w nich zmienić, podejrzeć, zbadać. Podobne narzędzie znajdziesz w Firefoxie i Internet Explorerze.

Filozofia

Tego typu smaczków jest więcej. Gdyby spróbować je opisać, ta książka mogłaby zapewne mieć kilkaset stron. Chciałem Ci tego zaoszczędzić. Wydaje mi się, że na początek najważniejsze jest, by poznać filozofię pisania HTML-a i CSS-a, a dopiero potem poszczególne techniki, pozwalające uzyskać dane efekty. Poznając dalej te technologie zapewne dowiesz się wkrótce o innych możliwościach uzyskania trójkolumnowego layoutu czy formularza, gdzie każdy wiersz jest pod sobą. To naturalne, ponieważ technologie te są na tyle elastyczne, że możliwości jest bardzo wiele. Byle były zgodne ze standardami!

Szkoły i bootcampy

Zapewne zapytasz wkrótce kogoś bardziej doświadczonego o to, co sądzi na temat kursów proponowanych przez tzw. szkoły programowania. Osobiście jestem nastawiony do nich sceptycznie. Powstały one w większości w wyniku nakręconego popytu, mając na celu przede wszystkim zarabiać. To nie są instytucje publiczne jak szkoła podstawowa czy uniwersytet. Nie są to też wolontariaty. Oczywiście, każdy z ich przedstawicieli będzie mówił o wielkiej pasji swoich wykładowców, ich doświadczeniu i obiecywał gruszki na wierzbie, co nie zawsze jest prawdą. Moim zdaniem należy odnieść się do tego z rezerwą. Największa wartość w tego typu nauce płynie z systematycznej pracy pod okiem kogoś, kto zna się na tym, co robi i ma dla Ciebie czas. Dlatego nim podejmiesz decyzję, dobrze zbadaj daną szkołę, jej wykładowców, historie absolwentów, dopytaj o różne szczegóły jak np. wielkość grupy i gwarantowany czas wykładowcy dla Ciebie. Pamiętaj, że mało kto będzie mówić Ci o swoich słabych stronach. Być może warto zainwestować bardziej w prywatne korepetycje albo uczyć się w małej grupie? Albo najpierw pójść na studia informatyczne, choćby zaoczne, by poznać podstawy informatyki, które prędzej czy później pojawią się w Twojej pracy i będziesz musiał się ich nauczyć?

Miejsca w sieci

Kiedy uczyłem się HTML-a i CSS-a, dużo podpatrywałem u innych, czasem też zadawałem pytania na forach internetowych i grupach. Dziś jest tego sporo, o różnej jakości i wartościach, które wyznają ich twórcy, dlatego podam tylko linka do HTML, CSS i JS - pierwsze kroki. Jest to grupa, którą stworzyłem przy okazji tworzenia tej książki, gdzie możesz zapytać o HTML, CSS i JS. Obecnie nie pełnię tam roli admina, z której zrezygnowałem.

Warto również regularnie sprawdzać o czym piszą na CSS Tricks, które jest centrum pomocnych artykułów o pisaniu CSS-a. Oprócz tego polecam:

Polskie zasoby o kodowaniu i nie tylko:

Polskie serwisy:

Inne:

Próbuj coraz to nowych konceptów. Zainteresuj się bardziej poniższymi tematami. Warto je wygooglować:

Naprawdę warto nauczyć się też pozostałych tagów HTML i nowych konceptów z CSS. Sprawdź, co jest obecnie możliwe we współczesnych przeglądarkach na Caniuse.com. Kiedy będziesz chciał zobaczyć, jak działa dana konstrukcja HTML-a lub CSS-a, rób to na Mozilla Developer Network. Z mojego doświadczenia trzeba uważać na w3schools, która mimo, że nazywa się podobnie do organizacji W3C, często zawiera niesprawdzone informacje i w gruncie rzeczy nie wiadomo za bardzo, kto tworzy tam treść.

Myślę, że powinno się też poznać Codepen.io, gdzie możesz tworzyć własne strony (lub tylko małe ich części) i podpatrzeć jak kodują inni. Do sprawdzenia zostawiam również JSBin.com, gdzie można pisać kod i automatycznie dostać podgląd tego, jak wyświetliła go przeglądarka (oczywiście – Codepen też to umie).

Język angielski

Jedną z moich ostatnich rad jest postawić na naukę języka angielskiego, ponieważ to oficjalny język sieci. Nie oznacza to zdrady Polski, czy coś podobnego, wręcz przeciwnie, powinno się czerpać korzyści z tak otwartego rynku. Znając angielski masz przecież więcej szans, by znaleźć nowych klientów (np. pracując zdalnie z Polski, rozwijając tutejszy eksport), a także zrozumieć nowe technologie. To w tym języku opisywane są najczęściej najnowsze tutoriale i dema.

Epilog

Kiedyś, w pierwszej wersji tej książki, napisałem na końcu, że najważniejsze jednak, byś nie przestawał się rozwijać. Od tamtego czasu znacząco zmieniłem zdanie. Oczywiście, rozwój i zdobywanie umiejętności są ważne, nie należy ich zaniedbywać. Uświadomiłem sobie jednak, że dziś przez wdrażanie takich narracji, coraz bardziej przesuwamy granice ludzkiej wytrzymałości. Nie dość, że wielu z nas jest w pracy (lub w drodze do niej) po dziesięć godzin dziennie, to oferuje się nam, a czasem wręcz opisuje jako konieczność, uczęszczanie na dodatkowe spotkania tj. meetupy i konferencje, czy też nieustanną lekturę blogów i tweetów.

Słyszymy, że mamy ciągle trzymać rękę na pulsie i stale nadrabiać braki. Musimy mieć bloga, Twittera i co tam jeszcze. Najczęsciej leci to z ust tych, którzy zupełnie przypadkowo mają dla nas bogatą ofertę szkoleń i innych tego typu atrakcji albo osób, które ze względu na swój wiek, nie mają jeszcze wiele obowiązków i w swojej naiwności powtarzają te słowa za innymi. W efekcie, wpadamy w kajdanki uzależnienia, bo "w pracy" jesteśmy cały czas. Jak nie fizycznie, to przy smartphonie albo na jakimś meetupie. Słowo profesjonalizm stało się wytrychem, by wprowadzić człowieka w wiele pułapek prowadzących do zwiększenia jego wydajności w pracy. Jest to, w pewnym sensie, współczesne niewolnictwo, nazywane też przez niektórych protestantyzacją życia, gdzie praca i tematy z nią zwiazane stają się bożkiem, a przez to jak się mu powodzi, mierzy się wartość człowieka. Gdzie tutaj miejsce na prawdę, rodzinę, dzieci, odpoczynek, inne zainteresowania?

Po 15 latach tworzenia stron i pracy jako programista chciałbym napisać, że bardzo łatwo jest wpaść w pułapkę, gdzie komputer i hobby jakim jest programowanie stają się Twoim całym życiem. Nie jestem oczywiście psychologiem, jednak z moich obserwacji i doświadczeń stwierdzam, że bardzo łatwo jest przekroczyć cienką granicę i siedzieć w internecie cały dzień. Na początku zapewne będziesz czuć wielkie podniecenie i zainteresowanie programowaniem, spędzając dużo czasu przy komputerze. A to ucząc się, a to czytając Twittera, blogi, fora, a to coś tworząc, a to tracąc czas na typowych bzdurach. Chciałbym Cię przed tym ostrzec. Po pewnym czasie ten wzmożony zapał mija, a nasz zawód staje się odarty z emocji i podniecenia, które towarzyszyły na początku. Myślę, że tak jest w każdym fachu, choć wiele osób dotyka złudzenie, że te początkowe stany i emocje powinny trwać wiecznie, przez co miotają się na różne strony, co pół roku zmieniając prace, otoczenie czy technologie. Należy według mnie uzmysłowić sobie, że programowanie to przede wszystkim praca, którą wykonuje się jak każdą inną. Jest to tylko i aż obowiązek, czasem niezbyt atrakcyjny. Nigdy jednak nie powinien on stać się centrum naszego życia i źródłem jedynego szczęścia, przez co unikniemy wielu rozczarowań.

Dlatego róbmy wszystko po kolei, z umiarem, i nie dajmy się zwariować! Postępujmy w życiu odważnie i asertywnie. Wspierani przez Matkę Bożą, zawsze dążmy do wypełniania woli Bożej i prawdy, w Jezusie Chrystusie i Ewangelii, prywatnie i w pracy. Moim zdaniem, najlepiej implementują te wartości reguły klasztorów kontemplacyjnych, gdzie jest czas i na pracę, i na naukę, i na modlitwę, i na posiłek. Polecam każdemu programiście (nawet początkującemu!) rekolekcje w takich miejscach, by wyciszyć się i zobaczyć jak obłędnie jesteśmy zabiegani i zajęci sprawami zupełnie dla naszego zbawienia nieistotnymi, a które wraz z galopującymi pod rękę socjalizmem i kapitalizmem wrosły bardzo głęboko w naszą współczesną kulturę oraz standardy jakimi kierujemy się dokonując codziennych wyborów i ocen moralnych. Co więcej, taki pobyt najczęściej kosztować będzie nas tylko dobrowolną ofiarę – żadnych ukrytych opcji, darmowych rozdziałów, triali, kont pro i kto wie co jeszcze ta nasza branża wymyśliła.