Jak rozmawiać z nieinformatykami o programowaniu?

Odpowiedz Nowy wątek
2011-07-09 15:50
0

Czy wy też macie z tym problem? Chętnie poczytałbym jakieś publikacje na ten temat. Często mam problem z przejściem na taki stopień abstrakcji, aby mój rozmówca zrozumiał o co mi chodzi. Nie tylko nawet w rozmowie o programowaniu, ale generalnie o informatyce.

Często próbując opisać komuś (nie związanemu z tą branżą) moją pracę lub projekt w jakim aktualnie pracuję gubię się w tym opisie, nie potrafiąc dobrać odpowiednich słów lub używając nomenkaltury niezrozumiałej dla mojego rozmówcy, a dla mnie naturalnej.

Pozdrawiam

// przez przypadek zamieściłem w dziale Flame - proszę moderatorów o przeniesienie do Off-topic :)

edytowany 1x, ostatnio: HTMLame, 2011-07-09 15:54
ten temat może być dobrym na flame :D - Koziołek 2011-07-09 17:17

Pozostało 580 znaków

2011-07-09 16:59
0

Ja zawsze nawiązuję do tematyki którą interesuje się rozmówca. Przykładowo mój tata to kierowca samochodowy w pogotowiu. Kiedyś pytał mnie o co chodzi z Antywirusem tzn twierdził, że on na swoim komputerze nie ma na pewno żadnego szkodliwego oprogramowania. Jak tu takiemu wyjaśnić jak bardzo się myli?
Zrobiłem to prosto: "Antywirus to tak jak ABS w samochodzie. Jak kierowca słaby to nawet to mu nie pomoże". I zrozumiał z miejsca o co chodzi.

To samo można nawiązać do każdej tematyki. Piszesz cokolwiek i jak ktoś pyta o co chodzi w tym kawałku to łatwo można to wyjaśnić na podstawie życiowych przykładów. Najlepiej jak wiesz czym rozmówca się interesuje. Jeśli zapyta ktoś co to jest defragmentacja dysku to rozrzuć klocki po pokoju i powiedz, że np: "Żółte klocki to części składowe jednego programu. Są porozrzucane po pokoju, defragmentacja je poukłada". Mniej-więcej na tych zasadach ludziom można tłumaczyć różne aspekty.

Ktoś zapyta co to jest funkcja bądź procedura? Przyrównaj to do funkcji których uczono na matematyce. Przecież Sinx jest niczym jak innym jak funkcją "sin(x)". Jeśli tego nie zrozumie to wyjaśnij mu, że wkładasz coś do maszynki a drugą stroną wychodzi coś innego.

Na wszystko znajdzie się życiowy przykład :)

Czyli po prostu analogie - czy metafory? Już nie pamiętam ;) EDIT: Analogie - sto pro. :) - szypxx 2011-08-04 22:58
No dokładnie. Analogię.Poprzez nią najłatwiej coś zrozumieć. I to w każdej dziedzinie wydaje mi się. (albo prawie każdej) // metafora to przenośnia :) - polaczek17 2011-08-05 09:08

Pozostało 580 znaków

2011-07-09 17:22
0

Raz tzw. "żółta kaczuszka", czyli metoda maksymalnego upraszczania. 99% projektów można opisać za pomocą bardzo prostych porównań czy ciągów logicznych.

Dwa, szczególnie dla klientów, metoda "jak sądzisz jak to jest". Rozmówca stara dojść się "na chłopski rozum" o co chodzi. W przypadku informatyki i tematyki okołokomputerowej jest to dobra metoda, bo komputery na tym poziomie są do ogarnięcia. Jeżeli jednak zeszli byśmy na tematykę bardziej matematyczną czy elektroniczną to mogą być problemy. Dlatego...

Trzy, język małych dzieci. Jak działa karta muzyczna (w sensie jak zamienia bity na dźwięk)? Odpowiedź prawidłowa w środku jest takie elektroniczne pikadełko, które traktuje plik jak zapis nutowy i sobie pika.

"pikadełko" - podoba mi się :D - byku_guzio 2011-07-09 17:23

Pozostało 580 znaków

2011-07-09 19:55
0
Koziołek napisał(a)

Trzy, język małych dzieci. Jak działa karta muzyczna (w sensie jak zamienia bity na dźwięk)? Odpowiedź prawidłowa w środku jest takie elektroniczne pikadełko, które traktuje plik jak zapis nutowy i sobie pika.

Tak to się gada z handlowcami w firmie. ;)


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
Z tą różnicą, że od trzydziestoletniego konia oczekujesz trochę więcej niż tylko umiejętności wpychania piąstki do buzi jako znaku, że jest głodny. - Koziołek 2011-07-09 20:12
Ja już przestałem czegokolwiek oczekiwać. - somekind 2011-07-09 20:42

Pozostało 580 znaków

2011-07-10 00:22
0

możesz poćwiczyć na mnie : D
gwarantuję wysoką niekumatość pojęć informatycznych jak i zaawansowany stopień intelektualnego nieogarnięcia

szczerze, nigdy mi nic nie pomagały objaśnienia matematyki czy programowania na zasadzie przyrównywania ich pojęć do np. jabłek na drzewie czy innych koszyczków; ale może to tylko ja tak mam : ]


Wiesio, lat 50

Pozostało 580 znaków

2011-07-10 01:42
O_o
0

Jesteś naszym odmiennym cukiereczkiem ale i tak Cię kochamy :*

sehanine się nie odmienia. - somekind 2011-07-10 02:07
sehanine nie jest cukiereczkiem - sehanine 2011-07-11 00:34
nie płacz, bądź mężczyzną - sehanine 2011-07-11 00:44
@O_o i love u men :) za texty . OMG nie zobaczyłem daty - szypxx 2011-08-04 23:07

Pozostało 580 znaków

2011-07-11 00:34
0

jeszcze tak właściwie to muszę powiedzieć, że takie uparte tłumaczenie mi zawiłości informatyczno-matematycznych w sposób ułatwiony i obrazkowy zawsze wywoływało u mnie pewne niezadowolenie; dopóki jest to rozmowa na poziomie nauczyciel-uczeń czy wykładowca-studentka to mało istotne, ale będąc już klientką takiego informatyka mogłabym w pewnym momencie zrezygnować; chyba nikt nie lubi, kiedy styl wypowiedzi interlokutora ewidentnie pokazuje iż jest się ciemną, niedouczoną masą; to już zdecydowanie bardziej wolę zrozumieć(mimo, że to trwa dłużej) bez udzialu jabłek, kominiarzy i innych takich ABS-ów


Wiesio, lat 50
edytowany 1x, ostatnio: sehanine, 2011-07-11 00:35

Pozostało 580 znaków

2011-07-11 09:17
0

Jeśli ktos naprawdę nie kuma pewnych spraw w programowaniu i jest tylko klientem, który nie wie co to rekurencja, klasa, polimorfizm, hermetyzacja danych etc to nie zrozumie tego.
Ja klientowi nie mam wykładać co to jest programowanie i go nauczać teorii. Nie takie jest moje zadanie.
Ja mu mogę oczywiście powiedzieć, że tutaj zastosujemy polimorfizm w celu wyabstrahowienia metody odpowiedzialnej za wyświetlanie danych. Następnie przechodząc dalej musimy stworzyć klasę abstrakcyjną a w niej stworzyć metodę płacenia za różne usługi, oznacza to, więc, że tworzymy kolejne klasy potomne od wspomnianej wcześniej i przykrywamy metodę abstrakcyjną.

Powiedz mi jaki klient zrozumie takie gadanie?
Brak wiedzy zawsze wyjdzie na jaw, a udawanie, że się rozumie i mądrze kiwa głową tylko klientowi wyjdzie na szkodę bo wyjdzie ode mnie nie wiedząc NIC więcej niż wcześniej co oznacza, że:

  • Kompletnie nie ma pojęcia co będzie się działo z jego produktem
  • Niczego nowego się nie nauczył.
  • Stracił kupę czasu na wysłuchanie mojego wywodu, gdzie on żadnego słowa nie zrozumiał.
  • W najgorszym razie wydaje mu się, że rozumie, a jak przyjdzie co do czego to okazuje się, że "on to sobie inaczej wyobrażał".

Lepiej przyznać się do swojej niewiedzy, niż być melepetą udającą, że coś się wie.
Klient, który przyzna się i powie "nie rozumiem tego" zdecydowanie lepiej wyjdzie na swoim bo zrozumie o co chodzi. Zajmie to zazwyczaj ciut dłużej niż takiemu "udawaczowi", ale rezultaty widać od razu. Od razu człowiek się ożywia i widać , że próbuje sobie to w głowie jakoś poukładać na swój sposób.

Sehanine lubisz kurczaczki... jakbyś nie wiedziała co to dziedziczenie to bym Ci wyjaśnił to np na zasadzie:
małe kaczątko rodzi się. Po swojej mamie dziedziczy futerko, dziubek i to, że umie piskliwie krzyczeć. Żadne inne stworzenie nie wygląda tak jak kurczak.
Mały kurczaczek, więc dziedziczy po swojej mamie pewne elementy. Niekoniecznie jednak wszystkie, np nie musi odziedziczyć płci.

No mniej, więcej na tej zasadzie bym to tłumaczył, zresztą wyjaśnienie dziedziczenia na podstawie zwierząt jest jednym ze sztandarowych przykładów.

A co z interfejsem SmakujeJakKurczak, który może być implementowany też przez np. Koty, Psy czy Gołębie? - Koziołek 2011-07-11 09:26
kaczątka nie mają futerek tylko puszek; a później piórka... - sehanine 2011-07-11 09:53
Masakra... :D Ale nie zmienia to całej koncepcji. No chyba, że faktycznie doliczymy do tego ten interfejs smaku :D - polaczek17 2011-07-11 10:18
kaczuszki faktycznie smakują inaczej niż kurczaczki - sehanine 2011-07-11 22:44

Pozostało 580 znaków

2011-07-11 09:23
0

@polaczek17 nie mogę się do końca zgodzić. Klient przychodzi z pomysłem i każe go zaprogramować (w dużym uproszczeniu). Przeniesienie pierwotnego pomysłu na kod może być trudne - pomysł sprzeczny, lub niebezpieczne - pomysł nie uwzględnia pewnych aspektów praktycznych. W takim momencie trzeba może nie tyle co wytłumaczyć, co wykazać potencjalne problemy. Niech decyzję podejmuje samodzielnie, ale ze świadomością iż istnieją problemy. Tu nie ma co się wgłębiać w rekurencje czy polimorfizm, bo to sensu nie ma, ale trzeba omówić problemy około informatyczne.

Zgadza się, ja miałem na myśli klienta z którym już to uzgodniliśmy a on nadzoruje naszą pracę. Co jakiś czas przychodzi i pyta co tam w projekcie i jakie rzeczy już dodaliśmy. Natomiast na samym początku jest tak jak mówisz. Klient klientowi nie równy i jeden po uzgodnieniu jak projekt ma wyglądać się nim jeszcze interesuje a inny klient poczeka na zakończenie projektu. Ten pierwszy potrafi być dociekliwy i pyta o to po co robimy itd. Wtedy właśnie wchodzi to moje wyjaśnianie :) - polaczek17 2011-07-11 09:28

Pozostało 580 znaków

2011-07-11 10:58
dr Joe
0
polaczek17 napisał(a)

Brak wiedzy zawsze wyjdzie na jaw
...
Sehanine lubisz kurczaczki... jakbyś nie wiedziała co to dziedziczenie to bym Ci wyjaśnił to np na zasadzie:
małe kaczątko rodzi się. Po swojej mamie dziedziczy futerko, dziubek i to, że umie piskliwie krzyczeć. Żadne inne stworzenie nie wygląda tak jak kurczak.

Kaczątko się nie rodzi, nie jest kurczakiem, nie ma futerka i nie krzyczy (no chyba, że miałeś na myśli potomstwo Jarka i Alika). Przynajmniej niedługo po wykluciu różne gatunki mogą wyglądać podobnie. Dziedziny i przykłady dobieraj rozsądnie, Ty też musisz mieć jakieś minimalne pojęcie o danej dziedzinie.

Pozostało 580 znaków

2011-07-11 11:07
0

Ale to nie forum przyrodnicze i nie muszę wszystkiego dokładnie mówić zgodnie z prawdą. Tu nie o to chodzi. Chodzi o fakt wyjaśnienia dziedziczenia przy zastosowaniu ułatwień i uproszczeń życiowych. To chyba jest dość oczywiste prawda?
Inaczej każdy by mógł się doczepić tego, że w takim wyjaśnieniu brak chociażby pojęcia interfejsu, albo, że nie wiadomo co jest w sekcji publicznej prywatnej i chronionej.
Trzeba ruszyć najpierw głową spojrzeć na napis "4programmers" przetłumaczyć go jako "dla programistów" i zauważyć różnicę pomiędzy programistą i przyrodnikiem.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0