Programista - niczym doktor?

1

Ostatnio się zastanawiam nad zawodami, które przypominają zawód programisty.
Pierwszym co przychodzi do głowy to oczywiście budowlaniec / architekt.
Występuje tam szkicowanie projektu, założenia, struktura, dokumentacja, oczekiwania, czas, następnie implementacja - budowanie no i na końcu utrzymanie przy życiu. Jednak brakuje mi w tym wszystkim debbugowania. Budowlaniec nie debugguje budynku, nie wykonuje refaktoryzacji, nie zmienia modułów zależnych od siebie. Wszystko przebiega liniowo i przypomina bardziej programowanie z dawnych lat 80-90 niż dzisiejsze.

Sądzę, że programowanie można porównać bardziej do pracy lekarza, doktora, farmaceuty.
Tworzone są medykamenty (projekty), które przechodzą różne etapy rozwoju, a na końcu dystrybucji i utrzymania (ewentualnie rozwoju). Tabletki takie mogą działać, mogą nie działać lub też wykonywać inne nieprzewidziane działania. Następuje wtedy faza wykrycia problemu, znalezienie rozwiązania i jego wprowadzenie w życie.

Podobnie jak podczas leczenia pacjenta, należy zdiagnozować problem, wpaść na pomysł jego rozwiązania, a następnie wprowadzić w życie. Czasami pacjenci umierają, co może być alegorią do zamknięcia projektu, zakończenia jego rozwijania i utrzymywania.

Fragmenty w kodzie oddziałują na siebie wzajemnie, podobnie jak w ludzkim organizmie. Jeśli boli nas serce to związane może to być z wieloma czynnikami, podobnie jak w kodzie. Problem może być ciągnąc za sobą różne skutki, ból w piersiach, gorączka, potliwość, duszność i na końcu wychodzi Exception.

Co o takim porównaniu myślicie?

3

naiwe, życzeniowe... programista jest jak bezdomny, który często do odziedziczonego po innym szałasu dokleja kolejne deseczki i śmieci, żeby nie ciekło... w marzeniach jest architektem, ale na codzień łata dziury, żeby innym na łeb nie padało, bo go inaczej pogonią, a oni chcą mieć względnie sucho dziś, a nie w jakiejść dalekiej przyszłości, w jakiej możnaby od nowa zbudować porządny dom... :]

0

*programista jest jak bezdomny, *
*który często do odziedziczonego po innym szałasu dokleja kolejne deseczki *
*i śmieci, żeby nie ciekło... *
*w marzeniach jest architektem, *
ale na codzień łata dziury, żeby innym na łeb nie padało,
*bo go inaczej pogonią, a oni chcą mieć względnie sucho dziś, *
a nie w jakiejść dalekiej przyszłości, w jakiej możnaby od nowa zbudować porządny dom...
m.

0

Programista jest niczym artysta malarz, tworzacy piekne obrazy, ktoremu kazali pomalowac sciany w mieszkaniu... gownem.

0

Wyobraź sobie grupę architektów, która poprawia czyiś sknocony projekt.
Taddaaa...

4

Artysta? Doktor? Buahahah taaaaaa... zwłaszcza w robocie :D

SZAMBELAN to chyba najlepsze określenie, bo najczesciej robota programisty to pompowanie szamba jak sie przelewa, ewentualnie rzezbienie w gownie jak klient nowy ficzer sobie zarzyczy :P

2

Co do debugowania - budowlaniec jak najbardziej ma cos takiego, poprzednia ekipa robi w ten sposob, albo gorzej: http://mieszkanicznikodpodszewki.pl/2014/09/strzezcie-sie-takich-ekip-remontowych.html i trzeba sytuacje prostowac.

A zmiana modulow? Np. burzenie badz przesuwanie scianek (i tu moga wchodzic: rurki od gazu, wody, ogrzewania, prąd etc.)

Informatyk przynajmiej ma VCS (przewaznie) i moze sie cofnac jak cos sknoci:)

3

Programista podobny jest do skarbu ukrytego w ziemi.

0
datdata napisał(a):

Programista podobny jest do skarbu ukrytego w ziemi.

Tia, na codzień nikt go nie widzi w tej ziemi i traktuje jak robaka, a jak trzeba znaleźć kogoś winnego znaleźć i mu dupę skopać, to go spod tej ziemi szybko wygrzebią :]

0

programista jest jak dziecko:

  • Patrzy się w kolorowe literki, przesuwa je po ekranie, pisze własne - a potem odpala i cieszy się, że mu się coś tam wyświetliło. Przypomina to jakąś zabawkę edukacyjną dla dzieci.

  • czasami pisze słowa bez sensu, takie jak "lorem ipsum", "asddddsdssa", czy "dupa". Twierdzi, że "to tylko tak testowo"

  • jak korzysta z jakiegoś programu, to myśli o tym "jak go zrobiono", próbuje go rozkręcić. Jak wchodzi na jakąkolwiek stronę, to od razu patrzy w źródło, czy otwiera narzędzia dla programistów i próbuje ją albo zhakować, albo skrytykować kod, albo dowiedzieć się jak ktoś zrobił taki i taki efekt. Trochę jak dziecko, które rozkręca i psuje zabawki.

  • nie umie do końca pisać i nie wie wielu rzeczy, więc lubi takie ficzery w IDE jak autocomplete, dzięki którym może napisać literkę G, i się samo napisze "getSomething" i nauczyciel-IDE przypomni mu jakie są parametry. Nauczyciel-IDE też podkreśli mu na czerwono wszystkie błędy jakie popełnił w programie. Także ma przykazane pisanie testów, które służą temu, żeby jakiś inny programista niczego nie zepsuł w przyszłości. Bo przecież inny programista też jest dzieckiem, więc też coś zepsuje, jak będzie mógł. Stąd potrzeba testów jednostkowych. Stąd też potrzeba kontroli wersji, żeby można było przywrócić zepsutą przez kogoś wersję.

  • ma problem z planowaniem większych rzeczy, więc często robi coś, co go przerasta, czego wynikiem jest później ciągłe zmienianie ("refaktoryzacja") kodu, bo przecież programista nie jest w stanie zrobić czegoś raz a dobrze, tylko to wszystko taki eksperyment i każdy programista w zasadzie "dopiero się uczy". Trochę jak dziecko biorące się za zrobienie reaktora jądrowego.

  • powyższe to raczej tryb Agile - ale jest też druga szkoła, czyli waterfall z mnóstwem kolorowych obrazków i strzałeczek (podobno nazywa się to UML, ale w zasadzie wymyślono to tylko po to, żeby programista/analityk/itp. mógł sobie porysować ;)

Podsumując - aż dziwne, że programowanie jeszcze jakoś się trzyma, bo wszystko jest oparte na jakimś tam wielkim eksperymencie i zabawie.

0

Myślę, że porównanie programisty do budowlańca jest najlepszym porównaniem. Czasem trzeba wprowadzić jakieś poprawki - gdzieś domalować, coś rozebrać i przerobić. Można nazwać to takim debugowaniem. Po jakimś czasie może pojawić się potrzeba przesunięcia ścianki działowej, wymiany podłogi lub przemalowania. Testowanie też jest obecne gdy sprawdza się różnego rodzaju instalacje. Elektryk sprawdzi czy światło się świeci, zanim zwinie sprzęt i pójdzie do domu (taką mam nadzieję ;)).
BTW: Poznań City Center przy dworcu głównym zaliczył produkcyjny crash. Połowa podwieszanego sufitu spadła na jednym piętrze ;)

2

Ale czemu takie porównanie miałoby służyć?

3
Azarien napisał(a):

Ale czemu takie porównanie miałoby służyć?

Podniesieniu sobie samopoczucia, że nie jest się zwykłym biurowym stukaczem w klawiaturę :]

0
Azarien napisał(a):

Ale czemu takie porównanie miałoby służyć?

Niektórzy po prostu lubią sobie porównywać różne rzeczy.

10

Programista jest zwykłym korpoludkiem, który siedzi na ołpenspejsie, performuje taski, ribejsuje i komituje kod, ale zawsze brakuje mu czasu na jego refaktoring. Jego monotonny workfloł przerywają kofi brejki, lancz tajmy oraz brify podczas których lider kołczuje tim, stawia targety, dedlajny i majlstołny. Poza tym programista podobnie jak inne korpoludki forłarduje mejle do pi emów, zapobiega fakapom, robiąc wszystko na asap i siedząc w owertajm co niektórzy nazywają krancztajmem.

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