08 / 12 / 2017 Developers

Zrozumieć programistę

Każdy z nas kiedyś coś komuś musiał tłumaczyć i każdemu zdarzyło się też kiedyś frustrować, jak po raz 3 nie może załapać czegoś, co “dziecko już dawno by załapało”. Obalając popularny mit, programiści to też ludzie, z tym, że wielu już poddało się w tłumaczeniu innym na czym polega ich praca.

Jeśli kiedyś przypadkiem natknąłeś się na fragment programu, pewnie zadałeś sobie wtedy pytanie jak to jest, że tu jakieś dodawanie, tu jakieś klamry, tam średnik sprawia, że mogę np. pobrać ze strony pkp mój bilet. Otóż odpowiedź jest dość prosta – dekompozycja. Programiści każde zadanie starają się rozłożyć na najprostsze czynniki i z nim ostatecznie powstaje program.

Jak to działa w praktyce? Praca programisty w duży uproszeniu przypomina następującą zagadkę (odpowiedzi znajdują się poniżej).

Pytania:

1. W samolocie jest 400 cegieł, wyrzuciłaś 1. Ile zostało?
2. Jak w trzech krokach wsadzić słonia do lodówki?
3. Jak w 4 krokach wsadzić łosia do lodówki?
4. Jak w 4 krokach wsadzić sarenkę do lodówki?
5. Król lew organizuje urodziny. Zaprosił wszystkie zwierzęta. Jakiego nie było?
6. Czy babci uda się przepłynąć rzekę pełną krokodyli?
7. Jakimś dziwny cudem babcia zginęła, co się stało?

Odpowiedzi do zagadki:

1. W samolocie jest 400 cegieł, wyrzuciłaś 1. Ile zostało?
Zostało 399 cegieł.

2. Jak w trzech krokach wsadzić słonia do lodówki?
Otworzyć lodówkę, wsadzić słonia, zamknąć lodówkę.

3. Jak w 4 krokach wsadzić łosia do lodówki?
Otworzyć lodówkę, wyciągnąć słonia, wsadzić łosia, zamknąć lodówkę.

4. Jak w 4 krokach wsadzić sarenkę do lodówki?
Otworzyć lodówkę, wyciągnąć łosia, wsadzić sarenkę, zamknąć lodówkę.

5. Król lew organizuje urodziny. Zaprosił wszystkie zwierzęta. Jakiego nie było?
Sarenki, bo siedzi w lodówce.

6. Czy babci uda się przepłynąć rzekę pełną krokodyli?
Tak, bo krokodyle są na imprezie króla lwa.

7. Jakimś dziwny cudem babcia zginęła, co się stało?
Zabiła ją cegła wyrzucona z samolotu.

Aby poprawnie rozwiązać zagadkę należy przede wszystkim:

  • znać reguły gry, czyli poprzednie akcje wpływają na poprzednie
  • zwracać uwagę na rozwój gry, pamiętać wszystkie akcje od początku do końca,
  • dekomponować problem na najmniejsze części.

I te cechy są bardzo istotne w pracy programisty. Reguły gry możemy rozumieć jako język programowania, to on daje nam możliwości i ograniczenia do przekładania toku myślenia na program. Rozwój gry to nic innego jak rozwój programu – programiści muszą zwracać uwagę na pozostałe moduły, które są w systemie – inaczej wprowadzenie nowej funkcjonalności może popsuć starą (a w najgorszym przypadku kluczową funkcjonalność do działania programu). Ostatnią cechą jest umiejętność dekomponowania problemu na najmniejsze części. “Otwórz lodówkę, włóż słonia, zamknij lodówkę” – z takimi problemami programiści stykają się na co dzień. I właśnie na takie myślenie należy się przestawić, że zrozumieć programistę. Wróćmy do naszego problemu z pobraniem biletu na pociąg.

Pytanie: Jak pobrać bilet?
Odpowiedź: Wejść na stronę pkp -> zalogować się -> pobrać listę biletów -> wybrać bilet -> wysłać do serwera numer biletu -> serwer zwraca link do pobrania pliku -> pobieramy bilet.

I jeszcze jedno, jakbyście poprosili kiedyś jakiegoś programistę, żeby wam wytłumaczył jak to działa, a on zacząłby tłumaczyć poszczególne kroki w podstawowy sposób to nie obrażajcie się, bo jego mózg działa tak cały czas.

FacebookTwitterGoogle+LinkedIn