Jestem programistą i co z tego?

Zajmuję się zawodowo programowaniem. Tak, pracuję przy stronach internetowych. Tak, umiem pisać kod JavaScript, CSS czy HTML. A mimo to stworzyłem tego bloga korzystając z narzędzi no-code. Nie napisałem tutaj ani jednej linii kodu. Kosztowało mnie to za to kilka dolarów wydanych na szablon WordPress. Dlaczego podjąłem taką decyzję?

Prawdziwe zajęcie programisty

Zacznijmy od tego czym w ogóle zajmuje się programista. Zauważyłem, że wielu z nas ma bardzo błędne pojęcie o tym czym tak naprawdę powinni zajmować się programiści. Gdy zaczynałem pracę w tej branży, to na tak zadane pytanie od razu miałem gotową odpowiedź. Programista zajmuje się pisaniem kodu. No przecież to proste. Możliwe, że sam tak myślisz. W końcu tym zajmujesz się przez większość dnia. Do tego dochodzą różne spotkania, które często są tylko po to, żeby zapchać te kilka godzin w tygodniu. No i w sumie na tym kończą się obowiązki programisty. Aaa no i jeszcze czasami trzeba jakąś dokumentacje dopisać, ale to rzadko więc można pominąć.

Doświadczenie zmienia perspektywę

W miarę jak zdobywałem więcej doświadczenia, jasne stawało się dla mnie to, że pisanie kodu to tylko część obowiązków programisty. Ty pewnie też doszedłem do takiego samego wniosku. Głównym obowiązkiem programisty jest rozwiązywanie problemów, jakie stawia przed nim biznes lub osoby decyzyjne. Na pierwszy rzut oka brzmi podobnie prawda? Należy rozwiązać jakiś problem, więc trzeba napisać więcej kodziku. No właśnie nie do końca. Nawet po pierwszych kilku latach gdy otrzymywałem zadanie do wykonania, to od razu szukałem miejsca w kodzie tak, aby „wpiąć” nowy feature. Po dość długim czasie zrozumiałem, że nie tędy droga. Dodawanie coraz to nowego kodu oraz sporadyczny refaktor prowadzą do coraz bardziej zawiłego kodu. Początkowo też wydawało mi się, że jeżeli przygotuję wyjątkowo skomplikowane rozwiązanie, to będę postrzegany jako dobry programista.

Moją tezę o skomplikowanych rozwiązaniach życie obaliło dość szybko. Miałem to szczęście, że na mojej drodze byli ludzie o ogromnej wiedzy i doświadczeniu i pomogli mi korygować szkodliwe przekonania. Pewne wydarzenia spowodowały, że zacząłem się przyglądać pracy tych ludzi. Zastanawiałem się, co mnie od nich odróżnia. Szukałem rozbieżności, szczególnie w sposobie myślenia odkąd zobaczyłem jak programista z ponad 20 -letnim stażem nie pamiętał składni jakiejś funkcji w JavaScript. Zrozumiałem wtedy, że wcale nie trzeba znać na pamięć całej implementacji języka. W myśleniu programistycznym chodzi o rozwiązywanie problemów, a więc o myślenie w logiczny sposób.

Rozwiązanie problemów nie tylko za pomocą kodu

To właśnie takie myślenie stanowiło problem. Ja skupiałem się głównie na tym jak dany problem rozwiązać za pomocą kodu a moi bardziej doświadczeni koledzy zastanawiali się nad problemem i możliwymi rozwiązaniami w ogóle.

Wykorzystanie no-code w praktyce

Na przykład, w jaki sposób można było dodać nowe dane do panelu administratora bez spędzania nad tym miesiąca pracy. Okazało się, że można wykorzystać sprytne narzędzie, które pozwoli wyciągnąć z bazy danych praktycznie wszystkie dane i prezentować je w przystępny sposób dla biznesu. Zamiast siadać do kodu i starać się stworzyć odpowiedni panel admina, wykorzystaliśmy zewnętrzne narzędzie, które kosztowało około 20$ miesięcznie. Całe wdrożenie zajęło 3 dni, a oszczędności były całkiem spore.

Inne podejście do rozwiązania problemu

Innym razem dostaliśmy za zadanie usunąć błąd dotyczący funkcjonalności w aplikacji. Błąd występował już od jakiegoś czasu i nikt wcześniej nie był w stanie powiedzieć, dlaczego co chwilę się pojawiał. Zamiast spędzić znowu kilka godzin(lub co gorsza dni)na szukaniu rozwiązania problemu widmo, jeden z moich kolegów przyjrzał się danym dotyczącym wykorzystania poszczególnych featurów w naszej aplikacji. Okazało się, że z kłopotliwego modułu korzystało tylko około 1% użytkowników. Po krótkiej dyskusji i skontaktowaniu się z tymi klientami, osoby odpowiedzialne za aplikacje podjęły decyzję, o całkowitym usunięciu tego modułu. Razem z jego likwidacją zniknął również kłopotliwy błąd.

A jaki z tego wniosek?

Nie zachęcam Cię do przekonywania ludzi, że zawsze warto usuwać elementy aplikacji. Chcę tylko pokazać Ci, że prawdziwa praca programisty nie polega tylko na pisaniu kodu. Ważny jest również kontekst oraz wiedza biznesowa. To wszystko pomaga dostarczać lepsze i szybsze rozwiązania z mniejszą ilością błędów. Zrozumienie całego kontekstu danej sytuacji lub wymagań może być trudne, ale zdecydowanie warto podjąć się tego wyzwania, ponieważ pomaga to w dłuższej perspektywie oraz sprawia, że z projektu na projekt, stajesz się lepszym programistą.

A jak to ma się do no-code?

A dlaczego poruszyłem ten temat? Bo myślenie o rozwiązaniach to nie tylko wprowadzanie właściwych zmian w kodzie i znajomość kontekstu. To też znajomość alternatywnych sposobów osiągnięcia danego efektu. W 2022 roku kiedy piszę ten post mamy na rynku mnóstwo różnych rozwiązań typu no-code, które potrafią zdziałać cuda. Jesteśmy w stanie zautomatyzować mnóstwo rzeczy, możemy szybko i tanio tworzyć strony internetowe, a nawet zaawansowane aplikacje bez znajomości programowania jako takiego. Wszystko sprowadza się do znajomości narzędzi oraz wyobraźni osoby, która z nich korzysta. Właśnie do tych narzędzi chcę Cię przekonać. Jako doświadczony programista możesz tylko zyskać na wykorzystywaniu różnych narzędzi no-code. W innych postach na tej stronie pokażę Ci dokładnie, w jaki sposób możesz wykorzystać różne narzędzia na swoją korzyść.

Trochę się rozpisałem, ale mam nadzieję, że ten post zachęci Cię do myślenia o rozwiązaniach nie tylko w kontekście kodu. Jeżeli chcesz podzielić się swoimi przemyśleniami na ten temat, to zapraszam do sekcji komentarzy. Możesz też wysłać mi maila, na adres który znajdziesz w zakładce kontakt.