{"id":1203,"date":"2020-05-29T11:31:44","date_gmt":"2020-05-29T11:31:44","guid":{"rendered":"https:\/\/kalkus.dev\/?p=1203"},"modified":"2023-08-24T23:16:43","modified_gmt":"2023-08-24T23:16:43","slug":"gorycz-pracy-programisty","status":"publish","type":"post","link":"https:\/\/kalkus.dev\/blog\/2020\/05\/29\/gorycz-pracy-programisty\/","title":{"rendered":"Gorycz pracy programisty"},"content":{"rendered":"\n<h3>Programowanie jest pi\u0119knym zawodem. Jest stymuluj\u0105ce intelektualnie, pozwala na kreatywno\u015b\u0107, pomaga ludziom u\u0142atwiaj\u0105c im \u017cycie i s\u0142u\u017cy biznesowi redukuj\u0105c koszty. Czasami jednak ma smak goryczy.<\/h3>\n\n\n\n<p>W programowaniu jest duch wydajno\u015bci. Od chwili, gdy na pierwszym komputerze uda\u0142o si\u0119 policzy\u0107 co\u015b setki razy szybciej ni\u017c r\u0119cznie, jeste\u015bmy oczarowani mo\u017cliwo\u015bci\u0105 uzyskania niespotykanej wcze\u015bniej efektywno\u015bci. Pewnie dlatego programi\u015bci prze\u015bcigaj\u0105 si\u0119 w tworzeniu narz\u0119dzi usprawniaj\u0105cych prac\u0119. Ergonomiczne edytory kodu, automatyczne testy pozwalaj\u0105ce zwi\u0119kszy\u0107 niezawodno\u015b\u0107 oprogramowania, metodyki tworzenia program\u00f3w sprawniej, szybciej, wydajniej.<\/p>\n\n\n\n<p>Ka\u017cdy programista, kt\u00f3ry kiedykolwiek pisa\u0142 co\u015b co da\u0142o si\u0119 zoptymalizowa\u0107 zna to s\u0142odkie uczucie, gdy co\u015b zadzia\u0142a sprawniej. Swego czasu, gdy jeszcze studiowa\u0142em, pewien profesor zleci\u0142 nam napisanie programu kompresuj\u0105cego. Algorytm z tego co pami\u0119tam by\u0142 entropijny, czyli przypisywa\u0142 s\u0142owom u\u017cywanym w tek\u015bcie najcz\u0119\u015bciej najkr\u00f3tsze symbole, a tym mniej powszechnym d\u0142u\u017csze. Na pocz\u0105tku program po prostu dzia\u0142a\u0142, jak zwykle w optymalizacji bywa &#8211; wolno. Potem trzeba by\u0142o sprawi\u0107 by dzia\u0142a\u0142 szybko. Pami\u0119tam, \u017ce chodzi\u0142em dzie\u0144 lub dwa z problemem w g\u0142owie, a\u017c w ko\u0144cu zrozumia\u0142em, \u017ce drzewo BST b\u0119dzie odpowiednim narz\u0119dziem w tym przypadku (dekompresji tak konkretnie). Po zmianie program dzia\u0142a\u0142 b\u0142yskawicznie. Satysfakcja by\u0142a przeogromna.<\/p>\n\n\n\n<p>Tak samo jest z programowaniem poza akademi\u0105. Kiedy widzimy sens w projekcie, w produkcie, gdy wiemy, \u017ce u\u017cytkownicy b\u0119d\u0105 zadowoleni, \u017ce u\u0142atwi to ludziom \u017cycie &#8211; jest pi\u0119knie. Praca nad czym\u015b takim to czysta przyjemno\u015b\u0107.<\/p>\n\n\n\n<p>Bywa jednak gorzko. Pracujemy, nieraz w du\u017cej grupie, miesi\u0105cami, nad pewnym produktem, wk\u0142adamy w niego serce, prac\u0119 i czas, powo\u0142ujemy go do \u017cycia, a potem z powodu jakiej\u015b decyzji na szczeblach w\u0142adzy du\u017cej firmy projekt zostaje anulowany. Znam osobi\u015bcie cz\u0142owieka, kt\u00f3ry po takiej decyzji opu\u015bci\u0142 firm\u0119. Ze swojego do\u015bwiadczenia natomiast wiem, jak boli, gdy dopada nas tego rodzaju wydarzenie.<\/p>\n\n\n\n<p>I o ile zdarza si\u0119 to raz na kilka lat nie ma w tym wi\u0119kszego problemu. Jednak je\u015bli powtarza si\u0119 regularnie, je\u017celi staje si\u0119 normalno\u015bci\u0105, zaczyna rodzi\u0107 cynizm. Jak przekona\u0107 programist\u0119 do zwi\u0119kszania efektywno\u015bci albo wzmo\u017conej pracowito\u015bci, je\u015bli przez ostatnie kilka lat co drugi projekt w jakim uczestniczy\u0142 zosta\u0142 anulowany, a jego kod nigdy nie wszed\u0142 na produkcj\u0119? Nie wiem. Po prostu nie wiem. S\u0105dz\u0119, \u017ce taki pechowy programista zostaje na jaki\u015b czas, by\u0107 mo\u017ce na zawsze, zepsuty.<\/p>\n\n\n\n<p>Jest taka m\u0105dra opowie\u015b\u0107 o testach i b\u0142\u0119dach. Je\u015bli bug jest wykryty chwil\u0119 po powstaniu, jego naprawienie kosztuje niewiele, je\u015bli tydzie\u0144, ju\u017c wi\u0119cej, a je\u015bli lata p\u00f3\u017aniej, bardzo du\u017co. Podobnie jest z decyzjami projektowymi &#8211; b\u0142\u0119dne decyzje co do startu projektu albo jego kszta\u0142tu kosztuj\u0105 ogromne pieni\u0105dze. Im mniej tych b\u0142\u0119d\u00f3w tym r\u00f3wnie\u017c mniej frustracji w\u015br\u00f3d programist\u00f3w w naszym przedsi\u0119biorstwie, a wi\u0119cej motywacji, efektywno\u015bci i zysku. Dlatego warto prototypowa\u0107 i bada\u0107 rynek. Przynajmniej jednak dobrze by\u0142oby programistom wyja\u015bni\u0107 czemu ich praca posz\u0142a na \u015bmietnik. Mo\u017cliwe, \u017ce odrobin\u0119 zmniejszy to ich gorycz&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programowanie jest pi\u0119knym zawodem. Jest stymuluj\u0105ce intelektualnie, pozwala na kreatywno\u015b\u0107, pomaga ludziom u\u0142atwiaj\u0105c im \u017cycie i s\u0142u\u017cy biznesowi redukuj\u0105c koszty. Czasami jednak ma smak goryczy. W programowaniu jest duch wydajno\u015bci. Od chwili, gdy na pierwszym komputerze uda\u0142o si\u0119 policzy\u0107 co\u015b setki razy szybciej ni\u017c r\u0119cznie, jeste\u015bmy oczarowani mo\u017cliwo\u015bci\u0105 uzyskania niespotykanej wcze\u015bniej efektywno\u015bci. Pewnie dlatego programi\u015bci [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[103,204,166],"tags":[176,177,175],"_links":{"self":[{"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/posts\/1203"}],"collection":[{"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/comments?post=1203"}],"version-history":[{"count":7,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/posts\/1203\/revisions"}],"predecessor-version":[{"id":1219,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/posts\/1203\/revisions\/1219"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/media\/1220"}],"wp:attachment":[{"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/media?parent=1203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/categories?post=1203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kalkus.dev\/blog\/wp-json\/wp\/v2\/tags?post=1203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}