Dugoročni uticaj programiranja na svakodnevni način razmišljanja

3 min

Svakako da ono čime se bavimo utiče na način kako razmišljamo. Samouvid je alatka kojom prepoznajemo obrasce mentalnog modela kojim se služimo, da bi razumeli kako ga koristimo. Kao kakav utabani puteljak kroz šumu, ovi obrasci nas usmeravaju u sigurnom, isprobanom pravcu, ali nam sakrivaju sve ono što nije nadomak puta.

Dugoročno mešetarenje programerskim veštinama nepovratno utabava i oblikuje naše umove i razmišljanja. Uočio sam dva modela razmišljanja; jedan je očigledan, drugi manje.

Raščlanavanje

Prirodno svojstvo rešavanja softverskog problema je njegovo raščlanjavanje na delove, te rešavanje svakog zasebno. Postoje čak i softverske prakse koje isključivo naglašavaju razvoj kratkim koracima napred, kao što je TDD. Zdravo je pristupiti putu od hiljadu koraka jednim, pa još jednim, kao što poslovica kaže.

No kratki koraci mogu da prouzrokuju kratkovidost. Ukoliko je sve šta vidimo samo delić, gubimo privilegiju da razumemo i upijemo celinu. Raščlanjavanje ne sme da bude lišeno konačnog ishoda, neprestano otvoreni da do skretanja može doći u bilo kom trenutku.

Spoznaja

Drugi mentalni model je izazov; tako ga zovem ne da bih se dodvorio neopravdanom optimizmu, već da naglasim važnost - neprestanu potrebu za razumevanjem ovog modela razmišljanja. Nikada ne može da se potpuno prevaziđe; ali je zato bitno, pa i neophodno, da ne prestanemo sa pokušajima. Evo u čemu je izazov, kako to već g. Tyson kaže:

Dovoljno poznavanja o subjektu, da misliš da si u pravu - ali nedovoljno znanja o subjektu da znaš da nisi u pravu.

Progamerske veštine često stvaraju iluziju izjednačavanja mišljenja da si u pravu sa time da jesi u pravu. Direktna posledica je eksponencijalni rast svega u vezi sa programiranjem: novi frejmvorci, nove biblioteke, novi jezici… teže je da razumemo staro, nego da napravimo novo, čime posredno smatramo da samo mi i jesmo u pravu. Ovaj model razmišljanja teži da se prelije na ostale životne sfere; naterani da hitro sudimo o stvarima koje ne poznajemo, ističemo više ono šta znamo, a metemo pod tepih šta ne razumemo i ne poznajemo. (Zamisli kakav bi to bio jalov svet u kome bi živeli samo programeri!)

Da se vratimo na temu: kako idu stvari u softverskom razvoju, sve je niža lestvica znanja, dok srazmerno raste lestvica poznavanja. To je u redu, jer programiranje bi trebalo da je mahom primena. Opasnost nastaje onda kada pomešamo “poznavanje” i “znanje”. Strada prepoznavanje vrednosti.

Šala

“Optimizam je opijum za narod!”, Kunderin junak Ludvik započinje svoju šalu na razglednici. Treće zapažanje - bonus, dakle, jer obećana su dva - se odnosi na duhovitost. Programeri često znaju da budu duhoviti; ili bar cene dobru šalu. Ima smisla: svaka šala sadrži zrno intelektualne zagonetke koju treba odgonetnuti; te prirodno je u skladu sa veštinama razvoja. No ako nam sve pored razvoja bude šala, šta preostaje?

🧧
Nisam definisan svojim stavovima. Stavove usvajamo, menjamo, nadograđujemo, ali oni ne čine nas same. Manje je važno da li se slažemo, koliko da se razumemo.