Wartość

Co ma wartość i znaczenie w programowaniu? Zadowolony klient czy ty.

Kiedy więc się uczysz kolejnego nowego frameworka lub technologii zadaj sobie pytanie, czy to pozwoli ulepszyć twój produkt, który sprzedajesz?. Może to być strona internetowa, aplikacja mobilna, aplikacja na pulpicie.

Co więcej, czy ta nowa technika da jakąś wartość użytkownikowi? Czy użytkownik zobaczy, że aplikacja działa szybciej, a może zachwyci się ciekawymi animacjami. Może dzięki nowej technice szybciej będziesz mógł naprawiać błędy, a więc użytkownik zobaczy szybką obsługę strony.

Jeśli jednak odpowiedź na to pytania brzmi “nie” to powinieneś sobie dać spokój.

Twój czas jest ograniczony i powinieneś się koncentrować na tym co ważne. Na tym co ma wartość i znaczenie.

Oczywiście istnieje czarna strona tego twierdzenia. Większość istniejących aplikacji została napisana według starych rozwiązań. Nie ma mowy o przepisywaniu wszystkiego od nowa, więc trzeba się koncentrować na tym co ma wartość i znaczenie, czyli na tym, że aplikacja mimo swojego wieku spełnia swój cel i użytkownik jest z niej zadowolony.

Tutaj jednak leży sekret. W końcu nam programistom płacą za to, aby produkt, czymkolwiek by nie był spełniał swój cel oraz na tym, by użytkownik był z niego zadowolony.

Dlatego nie warto wstydzić się, że pracujesz na aplikacji w .NET 2.0 z C# 2.0 gdy mamy obecnie .NET 4.6 i C# 6.0.

Im bardziej myślisz jak użytkownik, który będzie korzystał z tej aplikacji tym lepiej. Tym bardziej będziesz rozumiał co ma wartość i znaczenie w danym projekcie.

Dostarczenie wartości użytkownikowi czy klientowi jest ważniejsze niż mechanika osiągnięcia tego celu.

Musisz więc zadać sobie dwa pytania

  • Co pozwoli ulepszyć produkt, który sprzedajesz
  • Czy ta nowa technika da wartość dodaną dla użytkownika

Myślisz sobie zapewne, ale Cezary ja mam dosyć pracy w tym behemocie programowania. Czy to jest właśnie to, o czym piszesz. To jest właśnie ten programista, który dba o wartości i znaczenie każdego swojego działania?

Istnieje jeszcze trzecie pytanie, które wyjaśnia wszystko.

  • Co dla ciebie ma znaczenie?

Jeśli dla ciebie ważniejsza jest duma ze swojej pracy. Jeśli dla ciebie ważniejsza jest frajda z pisania oprogramowania. Jeśli dla ciebie ważniejsze jest dopisanie kolejnego fajnego słowa do swojego CV. Jeśli dla ciebie ważniejsze jest zrobienie kolejnej super prezentacji na grupie .NET o tej nowej rzeczy, którą testujesz.

To nie będziesz zadowolony z pracy z kurzącym się starociem. Ważna jest jednak równowaga. W końcu jeśli nie będziesz odczuwał “frajdy” z tego co robisz, to w końcu te wartości dodane dla produktu i użytkownika wezmą w łeb.

Z drugiej strony jeśli będziesz się koncentrował na każdej nowej lśniącej rzeczy i rozwiązaniu, to w końcu stracisz poczucie tego, że to co robisz jest dla użytkownika a nie dla ciebie, twojego ego, i kolejnego buzzwordu technologicznego.

To jednak zmienia perspektywę. Nie musisz stać się łowcą każdego Behemota oprogramowania.

Stare języki Cobol i Fortran mają znaczenie i wartość. Tą wiedzą mógłbyś codziennie ratować wielkie banki i firmy, ale nie znaczy, że powinieneś się go uczyć. Właściwie jeśli nie będziesz miał jakiegoś mentora w tym kierunku, to nie będzie miało to znaczenia.

Ostatecznie powinieneś zawsze czerpać satysfakcję ze swojej pracy. Można powiedzieć, że nic nie ma znaczenia, jeśli dla ciebie go nie ma.

Zauważysz jednak, że możesz stać się lepszym programistą rozumiejąc, że to użytkownik aplikacji ma być zadowolony z twojego produktu, a nie tylko ty