Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Jesteś deweloperem czy tylko kodujesz?

Yegor Bugayenko CEO / Zerocracy
Tworzenie oprogramowania i kodowanie to dwie różne rzeczy.
Jesteś deweloperem czy tylko kodujesz?
Przeważnie to pierwsze zawiera się w drugim, ale nie w każdym wypadku. Wynikiem kodowania jest powstanie wierszy kodu. Efektem tworzenia oprogramowania jest powstanie produktów. Niestety, większość programistów dołączających do Zerocracy to klepacze kodu. Utrzymują, że są deweloperami, a w rzeczywistości brak im kluczowych umiejętności socjotechnicznych, które wyróżniają twórcę produktu.


Przedstawię to na przykładzie.

Bardzo zdolny - jak potwierdza CV - Java developer Marek - tak go nazwijmy. W branży od dziesięciu lat, ma na koncie kilka projektów dla dużych firm, wydaje się bardzo zaprawiony w boju. Dajemy mu dostępy do projektu na GitHubie.

Po kilku godzinach dostaję wiadomość A4 na Messengerze, z której dowiaduję się, że jest bardzo rad z dołączenia do projektu, ale jeszcze nie do końca wszystko rozumie i potrzebuje pomocy. Czytam przygotowaną przez niego listę pytań, a on jest gotowy na rozmowę telefoniczną i moje odpowiedzi.

Odpowiadam: ,,Ziomek, lubię Cię, ale nie mam czasu odpowiadać na Twoje pytania. Nie z lenistwa i nie dlatego, że nie doceniam Twojej pracy… A w zasadzie - tak, właśnie dlatego. Jestem leniwy i nie chcę wyjaśniać na Messengerze. Totalnie zmarnuję swój czas jeśli, przykładowo, jutro zostawisz projekt. Albo kiedy ktoś inny dołączy do nas za tydzień - z identycznym zestawem pytań - i będę musiał wyjaśniać wszystko od początku. Sorry, ale lenistwo wygrywa”.

Najprawdopodobniej uznaje mnie za bezczelnego, ale co ma zrobić? Czyta mój artykuł na dany temat i odpowiada: ,,OK, zrozumiałem”. Za pół godziny składa prośbę o dostęp do kolejnego (!) repozytorium. Temat: ,,Problem’’, a opis: ,,Proszę o pomoc w zrozumieniu projektu”.

Co robię jako architekt projektu? Zamykam dostęp z krótką wiadomością: ,,Proszę, podaj więcej szczegółów.” - chociaż jestem bliski wklepaniu: ,,Idźże stąd”. Co innego mogę napisać? Marek nie wie jak posługiwać się systemem dostępów. Prawdopodobnie przez całe życie pracował w milusim biurze, gdzie każdy pracownik był jego dobrym kumplem, a każde pytanie zadawał wyłącznie przez ramię, nigdy nawet nie chat. Proszę go o zrobienie czegoś, czego wcześniej jeszcze nie robił i oczywiście nie wie, jak się za to zabrać. Jest zapewne zawstydzony.

Co dzieje się później? Wraca na Messenger, z takim samym zestawem pytań. Jego reakcja zależy od osobowości - może być złością, zmieszaniem, albo czymś innym. Zasadniczą kwestią jest to, że Marek nie jest software developerem - on umie tylko kodować.  

Nie pojmuje dynamiki współczesnych projektów software’owych, nie umie posługiwać się narzędziami do komunikacji, nie posiadł umiejętności socjotechnicznych takich jak:

  • Szukanie i znajdywanie informacji
  • Zadawanie pytań i zbieranie odpowiedzi
  • Dodawanie wiedzy do repozytorium
  • Wysyłanie zmian w kodzie
  • Argumentowanie na piśmie, recenzowanie zmian
  • Zamykanie ticketów i chronienie ich przed zamknięciem
  • Utrzymywanie dyscypliny w repozytoriach
Jeśli chodzi o dołączających do nas nowych ludzi - niestety, nie jest to odosobniony przypadek.

Współczesne projekty software’owy są zbliżone do aktywności społecznej nawet bardziej, niż do pisania kodu. Świadomość tego jak komunikować się z teamem i odpowiednie podejście do informacji są istotniejsze niż wiedza o tym, jak używać wzorców projektowych. Takich rzeczy uczymy się poprzez praktykę. Mówiłem to wielokrotnie, ale powiem raz jeszcze: trudno, byś miał te umiejętności, jeśli nie piszesz open source i nie działasz na StackOverflow.

Tekst na blogu autora: Are You a Coder or a Developer?
Zobacz więcej na Bulldogjob

Masz coś do powiedzenia?

Podziel się tym z 80 tysiącami naszych czytelników

Dowiedz się więcej
Rocket dog