Czy pisanie kodu ma znaczenie?

Oryginalny post: Does Writing Code Matter?

Autor: Jeff Atwood

10 porad jak z programisty zmienić się w przedsiębiorcę autorstwa Iana Landsmana to pożyteczna lektura. Nawet jeśli nie masz zamiaru zostać przedsiębiorcą.

Jednym z największych problemów, który widzę, jest to, że programiści zamykają się w swoim kodzie. Spędzają niezliczone godziny, starając się doprowadzić jakąś funkcję do perfekcji bądź tworząc funkcjonalności, które demonstrują wykorzystanie najnowszych technologii. Musisz pisać kod, żeby nie wypaść z branży. Musi on być wysokiej jakości, pozbawiony błędów i bezpieczny. Jednakże nawet najlepszy kod na świecie nie jest nic wart, jeśli nikt nie wie o istnieniu Twojego produktu. Kod nie ma znaczenia, jeśli Urząd Skarbowy przyczepi się do Ciebie, ponieważ nie płacisz podatków. Kod nie ma znaczenia, jeśli ktoś pozwie Cię do sądu, ponieważ nie chciało Ci się zatrudnić prawnika, który zająłby się opracowaniem umowy licencyjnej.

Programiści kochają kod. Ale my jesteśmy stronniczy. I piszemy o wiele mniej kodu, niż mogłoby nam się wydawać. Spędzamy dużo więcej czasu, starając się zrozumieć czyjś kod, niż pisząc własny.

Tak czy owak, jak Ian zauważył, znaczenie samego kodu jest niewielkie w porównaniu z tymi wszystkimi pobocznymi, wydawać by się mogło, sprawami, które wiążą się z wprowadzeniem produktu na rynek. Niech podniosą rękę ci, którzy przynajmniej raz włożyli całe serce i duszę w aplikację, która nigdy tak naprawdę nie ujrzała światła dziennego. Moja ręka jest w górze. A to tylko wierzchołek góry lodowej; są setki powodów, z których Twój kod może nie mieć nawet najmniejszego wpływu na bieg świata. Jeśli nikt nie wie o Twoim kodzie, jeśli nikt nie jest w stanie go zrozumieć, jeśli z jakiejkolwiek przyczyny Twój kod w ogóle nie zostanie opublikowany... to czy udało Ci się tak naprawdę cokolwiek osiągnąć?.

Może najlepszym sposobem na osiągnięcie sukcesu jako programista, jest zrezygnowanie z małowartościowych czynności i całkowite zaprzestanie pisania kodu. Wyjaśnia to Steve Yegge:

Czy masz jakichś osobistych guru programowania? Ja mam! Co jednak dziwne, właściwie to nie widziałem zbyt wiele kodu napisanego przez nich. Większość tych sławnych, szanowanych przeze mnie programistów wywarła na mnie wpływ poprzez zwykłe pisanie, prozę, z co najwyżej niewielką domieszką kodu.

Naturalnie jest też wielu programistów, których podziwiam za to, że stworzyli aplikacje czy narzędzia, których używam na co dzień. Ale gdybym chciał stworzyć listę takich godnych podziwu programistów (w szczególności mam tutaj na myśli osoby, których nie znam osobiście), to okazuje się, że większość z nich dałaby się zaklasyfikować do jednej z poniższych kategorii:

  1. Ludzie, którzy napisali użyteczny język programowania, system operacyjny bądź szczególnie ważny framework.
  2. Osoby, które napisały jakąś naprawdę świetną książkę na temat programowania.

Gdy powstaje jakiś framework, którego popularność idzie w parze z przyjemnością z korzystania z niego, i dla którego można łatwo zidentyfikować jedną, konkretną osobę uznawaną za autora, to często zaczynamy ją podziwiać i w przeciwieństwie do "zwyczajnych" programistów, ta osoba staje się sławna.

Nawet jeśli ten autor jest gównianym programistą.

Tak naprawdę to nie możemy tego wiedzieć, ponieważ jak często zaglądamy do kodu źródłowego używanych przez nas frameworków? Jak dużo czasu spędzamy na analizowaniu kodu kompilatorów, interpreterów czy też wirtualnych maszyn dla naszych ulubionych języków programowania? I gdy taki system osiągnie już spory rozmiar oraz pewną dojrzałość, jaka część tego kodu została napisana przez pierwotnego autora?

Czy ja naprawdę mówię programistom, żeby przestali pisać kod? Niezupełnie. Chodzi mi raczej o to, że w pisaniu kodu to oni są już wystarczająco dobrzy. Przecież to właśnie dlatego teraz pracują w tej branży. Pisanie kolejnych tysięcey wierszy kodu sprawia, że doskonalisz tę umiejętność, którą prawdopodobnie masz już opanowaną na wysokim poziomie. Ja proponuję, by spędzać mniej czasu na kodowaniu, a więcej na zdobywaniu biegłości także w innych aspektach życia -- takich, które mogą stanowić znakomite uzupełnienie obranej przez nas ścieżki kariery programisty. Rozwiń swoje umiejętności pisarskie. Poćwicz wygłaszanie przemówień. Doskonal swoje umiejętności interpersonalne. Udzielaj się w społecznościach. Spróbuj więcej czasu spędzać na rozmowach z ludźmi zamiast z kompilatorem. Właśnie w taki sposób wyróżnisz się na tle swoich kolegów. A ostatecznie to właśnie w ten sposób staniesz się lepszym programistą.

Oczywiście nie jest to gra o sumie zerowej. Te sprawy można połączyć. Idealnie by było, gdybyś po napisaniu kodu mógł opowiedzieć o nim w taki sposób, ktory zainspiruje i oświeci innych ludzi. Z drugiej jednak strony, nie mamy niestety nieskończonej ilości czasu. Jeśli musisz wybierać między pisaniem kodu a pisaniem na temat kodu, nie zapominaj, która strona równania jest ważniejsza -- i wyważ to odpowiednio.

0 komentarze:

Prześlij komentarz

Related Posts with Thumbnails