Zazwyczaj tłumaczę, że programowanie to twórcze rozwiązywanie problemów. Masz problem - chcesz mieć funkcję w produkcie (a ja zwykle wybieram dobrze znany produkt, Amazon.com, MS Word itp.), Ale go tam nie ma. To nigdy nie zostało zrobione wcześniej, a ty jesteś pierwszy, więc jest to jak każdy projekt artystyczny - masz wizję, ale musisz znaleźć ścieżkę.
Skupiam się również na tym, że istnieje więcej niż jeden sposób rozwiązania problemu, kilka naprawdę złych sposobów i prawdopodobnie więcej niż jeden dobry sposób. Na dłuższą metę może istnieć najlepszy sposób, ale ten najlepszy sposób nie będzie oczywisty przez długi czas (rozszerzalność, możliwość ponownego użycia itp.), Więc w momencie opracowywania istnieje wiele ważnych wezwań do oceny.
Wreszcie, produkt końcowy może być kochany lub znienawidzony przez odbiorcę. Tak jak niektórzy ludzie uwielbiają Picassa, a niektórzy nie potrafią tworzyć głów ani ogonów sztuki współczesnej - niektórzy mogą pokochać jakiś element, a niektórzy go nienawidzą. Robisz, co możesz, dla większości ludzi i nie możesz zadowolić wszystkich.
Skupiając się na:
- nieznane terytorium
- nikt nie odpowiada
- podlega interpretacji
Pokazuje, że ta praca jest bardziej podobna do sztuki, a jeszcze bardziej do powtarzalnej nudnej pracy.
Rozmawiam o tym dość często z artystami (i wydaje się, że instynktownie wierzą, że praca przy komputerze jest mało kreatywna. Zazwyczaj potrafię też powiązać ją z ulubioną formą sztuki artysty. Na pewnym poziomie większość artystów to także technicy - malarstwo) , tańcząc, tworząc muzykę i prawdopodobnie każdą inną sztukę - wszystko to składa się z serii powtarzalnych czynności, które doprowadzają cię do momentu wykonania czegoś nowego, innego i kreatywnego. Mówiąc inaczej, artyści mają na ogół problemy z zaprzeczeniem, że pozornie powtarzalne działania mogą prowadzić do dzieł inspiracji i piękna.
W tym momencie zazwyczaj są skłonni przyznać, że tylko dlatego, że moja „sztuka” obejmuje zestaw dziwacznie wyglądających instrukcji składniowych i nijakie diagramy UML, nie oznacza to, że nie jest kreatywny w tych wierszach kodu i modele systemu ostatecznie tworzą coś zupełnie innego niż suma jego części.