Backend – nie jesteś już mi potrzebny

-Oczywiście chciałbym móc sam edytować treści na mojej nowej stronie
-Jak najbardziej. Przygotuję panu stronę na autorskim CMSie, wszystko będzie niesamowicie łatwe w zarządzaniu.
-Super, ile to trwa?
-Standardem przy takich zleceniach jest jakiś miesiąc
-Dobrze, czekam w takim razie na propozycje

Jedno z pierwszych zleceń

Nie było to moje pierwsze zlecenie, ale na pewno jedno z pierwszych, na przygotowanie strony internetowej. Jaram się! Prawdę powiedziawszy nie jestem pewien czy pamiętam w tym momencie pierwszy projekt dla prawdziwego klienta. Pamiętam moją pierwszą stronę w życiu, była to informatyka w….. podstawówce? Niby miałem już w domu komputer, nawet z Windowsem XP więc nie byle co, ale jedyne co potrafiłem na nim robić to odpalić Heroes Might and Magic 4 (wszyscy lubią 3-cią część, ja się jaram czwórką – przecież jest o niebo lepsza!). Owa strona www była chyba najgorszą w całej szkole. Od początku jej istnienia… 

Nie potrafiłem nawet utworzyć tabelki jak robili to wszyscy. Nie. Jedyne co udało mi się zrobić to ustawić stałą wysokość i szerokość strony oraz nadać jej grafikę jako tło. Grafika imitowała prawdziwą stronę. Nauczyciel się nie zorientował i dostałem 5. Wystarczyłoby żeby kliknął „wyświetl źródło” a zobaczyłby 2 tagi: <title> i <body> z tłem. Na szczęście tego nie zrobił. Kto by pomyślał, że typ, który zrobił najgorszą stronę i nie wiedział nawet jak wstawić tekst, prowadzi dzisiaj o tym bloga.

Mój własny CMS

Wróćmy do tematu. Jako pilny PHPowiec przygotowałem już nawet swój CMS, pełna profeska. Lubiłem robić strony na swoim CMSie bo miałem nad tym niesamowitą kontrolę. Nie zastanawiałem się jaka funkcja wypisze mi posty, jaka doczepi style w nagłówku, nie musiałem szukać żadnego API. Wydawało się to takie proste.

Nie musisałem jeszcze płacić za mieszkanie, prąd czy wodę. Siedziałem więc wieczorami przy komputerze i potrafiłem kodzić całymi dniami. Tak samo siedziałem tamtego dnia i spokojnie pisałem kod. Pierwsze zlecenia były tragiczne, ale już wtedy wiedziałem, żeby najpierw pokazać grafikę. Na szczęście została ona już zaakceptowana, więc kodze, kodze i kodze.

Kodziłem naprawdę długo. 

Pierwsze oznaki, że coś się dzieje

Tak sobie kodziłem, aż zakodziłem, a przynajmniej tak mi się wydawało. Klient zażyczył sobie kilku dodatkowych bajerów: jakiś slider, formularz i coś tam jeszcze. Ok, nie ma sprawy, biorę się do pracy.

Stworzenie tych kilku bajerów na swoim CMSie zajeło mi bodajże kilka dni. Teraz zrobiłbym to dużo szybciej, ale i tak trwało by to minimum kilka godzin. Nie wspomnę teraz, że na takim WordPressie zrobiłbym to w paraneście minut, a końcowy efekt wcale nie byłby gorszy. 

Nic to, robiłem co do mnie należy ceniąc się taniej niż kopacz dołów, bo mam autorski CMS, a to tak profesjonalnie brzmi. Koniec końców stronę oddałem, klient klepnął, poszło. Wszystko ok, nielicząc tego, że gdyby miał za to zapłacić rachunki to pewnie zostałoby mi tylko na zupke chińską.

W takim stanie trwałem dosyć długo. W międzyczasie pojawiały mi się wachania typu „od dziś tylko backend”, tydzień później „od dziś tylko frontend” i tak w kółko. Skończyło się na takim full-stacku. Tworzyłem strony zarówno na darmowych silnikach jak i na autorskim, ale takie szerokie spektrum technologiczne zaczynało mnie przybijać i zacząłem się poważnie nad tym zastanawiać.

Decyzja

Po wielu miesiącach takich przemyśleń przyszła mi do głowy jedna myśl:

Może jako freelancer (powiedzmy taki full-stack z przewagą frontu) w czasach WordPressów, Wixów i innych …ów, nie ma już sensu uczyć się backendu. Może warto zainwestować ten czas w inne, ważniejsze rzeczy, a może nawet na pozorne głupoty jak wyjście ze znajomymi na piwo. Żyć też trzeba. Zawsze byłem tym, który pierwszy rzucał się na nowe technologie czy języki. Zarówno front jak i back. Do tego dochodziła grafika, administracja serwera, bezpieczeństwo ale w końcu  w głowie pojawia się pytanie, które pojawić się musi: do czego to prowadzi? 

Powinniśmy dążyć do optymalizacji wszystkich procesów. Klient nie zapłaci więcej za stronę dlatego, że będę ją dłużej robił. Czy można dziś postawić stronę bez znajomości technologii backendowych? Jak najbardziej. Czy trzeba znać PHP, aby dodać na stronie slider, formularz czy zablokować rejestrację? Nie.

Może skoro w 80% przypadków cały backend możemy mieć „z głowy”, to czy warto zawracać sobie główę i inwestować czas na naukę technologii dla tych 20%? Kiedyś powiedziałbym stanowcze tak, ale z drugiej strony czytałeś wpis 80/20 zasada Pareto a Freelancer, czyli mniej za więcej?