Jedna rzecz, o której powinien wiedzieć każdy programista

Oryginalny post: The One Thing Every Software Engineer Should Know

Autor: Jeff Atwood

Jestem wielkim fanem Stevea Yegge, więc dużym zaszczytem była dla mnie możliwość goszczenia go przy okazji ostatniego podkasta Stack Overflow. Nie spodziewałem się natomiast, że jeden konkretny temat, związany z doświadczeniami Stevea z Google i Amazona, będzie się nieustannie przewijał:

Gdybym każdego programistę miał nauczyć tylko jednej rzeczy, byłby to marketing.

Nie jak pisać na klawiaturze, nie jak pisać w ogóle, nie jak zaprojektować język programowania, ale marketingu.

Wiem, bolesna prawda dla nas programistów, ponieważ kochamy kodować. Ale cały ten genialny kod jest całkowicie bez znaczenia, jeśli:

  1. ludzie nie rozumieją tego, co robisz,
  2. ludzi nie interesuje to, co robisz,
  3. ludzie nie są entuzjastyczni w stosunku do tego, co robisz.

To właśnie jest w skrócie marketing. Oczywiście jeśli zajmujesz się marketingiem, to nie musi to od razu oznaczać, że jesteś jedną z hien marketingowych. Te dwie rzeczy są mocno skorelowane, to fakt, ale u podstaw marketingu nie leży więcej, niż można dowiedzieć się ze średniozaawansowanych kursów na temat komunikacji międzyludzkiej. Nie do końca dziedzina, w której my programiści jesteśmy biegli.

Z tego powodu nawet najbardziej hardkorowi z hardkorowych programistów powinni słuchać ludzi takich jak Seth Godin. Steve natomiast mówił o marketingu w szerszym znaczeniu, a mianowicie jak sprawić, by ludzie zainteresowali się Twoimi pomysłami.

Po tym jak Steve wspomniał o tym kilka razy podczas naszego podkasta -- i po tym, jak zobaczyłem jego wykład zatytułowany "How to Ignore Marketing and Become Irrelevant in Two Easy Steps" -- nagle zdałem sobię sprawę, dlaczego tak bardzo zafascynowany byłem dwiema książkami, które ostatnio odkryłem. Do tych książek odwoływałem się caly czas podczas pracy nad Stack Overflow.

Whatever You Think, Think the Opposite (Cokolwiek myślisz, pomyśl odwrotnie) It's Not How Good You Are, It's How Good You Want to Be (Nieważne jak dobry jesteś -- liczy się to, jak dobry chcesz być)
Whatever you think, think the opposite It's Not How Good You Are, It's How Good You Want to Be

Nie byłem w stanie odłożyć tych małych książeczek Paula Ardena, zanim nie przeczytałem ich do końca. Zgadnijcie, w jaki sposób pan Arden zarabiał kiedyś na życie. Zgadza się, był wykonawczym dyrektorem kreatywnym w Saatchi & Saatchi - firmie zajmującej się reklamą.

Zdarzyło mi się czytać brzydkie książki. Książki o marketingu. I to nawet z własnej, nieprzymuszonej woli. Trochę mi wstyd przyznawać się do tego, ponieważ zazwyczaj nabijam się z ludzi, którzy czytają książki tego typu. Ale przeczytanie tych wlaśnie książek uświadomiło mi, że większość spraw, którymi zajmujemy się podczas prac nad Stack Overflow nie ma nic wspólnego z tym, jak wspaniały jest nasz kod -- za to ma wiele wspólnego z marketingiem.

Jako że wszyscy tutaj jesteśmy programistami, pozwólcie, że zobrazuję to w bardziej zrozumiały sposób: za pomocą statystyk postaci w Dungeons & Dragons. Wiecie, klasyka.

RPG character stats: STR DEX CON INT WIS CHA

Jeśli jesteś programistą i chcesz z roku na rok stawać się lepszym w tym, co robisz, to mogłoby Ci się wydawać, że najistotniejszą charakterystyką jest kodowanie. Załóżmy, że to podpada pod INT. Tak więc po wielu latach harówki, Twoje statystyki wyglądają mniej więcej tak:

str 6
dex 9
con 12
int 51
wis 13
chr 4

OK, jesteś genialnym programistą. Ale Twój kod może nigdy nie ujrzeć światła dziennego z przyczyn, na które nie masz wpływu. To iluzja. Jesteś w stanie kontrolować kiedy, jak i gdzie Twój kod się pojawia. Jednak prawdopodobnie spędziłeś za dużo czasu na tworzeniu kodu, a za mało poświęciłeś na promowanie swojego kodu. Czy wytłumaczyłeś ludziom, co Twój kod robi, dlaczego jest "cool" i dlaczego jest ważny? Czy przedstawiłeś im powody, dla których Twój kod uczyni ich życia lepszymi, nawet w niewielkim stopniu? Czy zrobiłeś coś, by ułatwić ludziom znalezienie i używanie Twojego kodu?

Sądzę, że większość programistów zyskałaby więcej w kontekście swoich karier zawodowych, gdyby starała się rozwijać swe charakterystki raczej w ten sposób:

str 16
dex 14
con 15
int 18
wis 16
chr 17

Czasami stajesz się lepszym programistą poprzez decyzję niepisania kodu. Zgadzam się tutaj ze Stevem: gdybym mógł nauczyć swoich kolegów-programistów tylko jednej rzeczy, byłaby to wiedza jak promować siebie, swój kod i swoje projekty.

Data publikacji oryginału: październik 22, 2008

0 komentarze:

Prześlij komentarz

Related Posts with Thumbnails