Komentáře k článku

Programátor není umělecký kovář!

Je programování víc umění, nebo spíš dělnická profese? Nebo má programátor nejblíž ke zručnému řemeslníkovi? Lehce provokativním pohledem komentuje Dan North „Software Craftmanship Manifesto“, polemizuje s jeho závěry a cíli a vyzývá: Pojďme vymyslet „programátorské řemeslo“, s učením, mistry a s žebříčkem dovedností.

Zpět na článek

153 komentářů k článku Programátor není umělecký kovář!:

  1. alancox

    Nedočetl jsem

    Právě tyto názory jsou důsledkem toho, proč dnešní sw je padavý, pomalý, chybový a proč se z uživatelů dělají betatesteři.

    On je totiž „užitek na první pohled“ při předváděčce – to je to co preferuje článek.

    A pak užitek při dlouhodobém používání.

    To druhé chce jistý druh umění a trefení.

    Ale prosím, když chce někdo naštvaný druhým mluvit do programátorského řemesla jako tento článek – pak dobře udělá ten, kdo se na článek vykašle.

    Ostatně názor autora mě neudivuje – Dan North neprogramuje, dělá školitele a jako takový těžko může zaměřen jinak, než na vnější stránku. V zásadě je přesně v pozici uživatele a jako takový už dávno ztratil náhled o čem programování skutečně je (podle jeho údajů 8 let neprogramuje i když kdysi dávno ano). Já mohu stejně dobře psát o tom, jak by měli lidé stavět atomové elektrárny (neumím to a jsem pouhý člověk zvenčí), nebo mohu radit třeba kosmickým inženýrům (to taky neumím, vidím to jenom zvenčí). V zásadě se to nijak neliší od pohledu 4. cenové skupiny, kde příslušní návštěvníci také vyřeší všechny problémy světa a do všeho vidí.

    1. Martin MalýAutor příspěvku

      Re: Nedočetl jsem

      Upřímně řečeno na konci překladu mě napadlo, že bych to možná sám napsal přesnější, kratší, ostřejší a naštval bych víc lidí :), ale to nechme stranou.

      Zaujala mě jedna věc ve vašem komentáři, a to „dlouhodobé užívání“. Já z článku neměl dojem, že na něj zapomíná, naopak ho v metaforách připomíná neustále. Dokonce že celý článek vyzdvihuje právě „benefit z užívání“ proti „krásnému vnitřnímu zpracování“

      1. Aleš Roubíček

        Re: Nedočetl jsem

        Jenže Software Craftmanship není o vnitřní kráse. Když zvolím metafory užité v článku. Dobrý stavař ví, že z panelů katedrálu ani most nepostaví. Co si pomyslíte o instalatérovi, co místo 1,5 m dlouhé trubky pospojuje 10cm kousky a když mu v půlce odejde svařovačka, tak to dolepí kanagonem…

        Umělečtí kováři dělaj fakt pěkný řetězy, ale ruku na srdce, kdo z vás by si ho vzal s sebou do lesa na tahání 150 letého buku? Já tedy ne.

        1. Martin MalýAutor příspěvku

          Re: Nedočetl jsem

          Aleši, ono nejde o to, že ty chápeš „Software Craftsmanship“ realisticky. Výhrady v článku směřovaly trošku jinam – na lidi, co se stali „minulý týden“ programátory, dnes „podepsali manifest Craftsmanship“ a to slovo si vyložili tak, že jsou téměř umělci a že jejich výtvory jsou v první řadě umělecká díla, kde je uživatel až ten poslední, co do toho má co mluvit. Ruku na srdce – myslím, že jsme všichni takové lidi potkali a že jsme jimi v určitou část života byli.

    2. Opravdový odborník :-)

      Re: Nedočetl jsem

      Souhlasím, taky jsem neměl sílu to dočíst. Tradiční páteční žvásty, tentokrát dokonce překlad od přespoklního autora. Nebylo by možné se zde vrátit k odborným článkům a tato témata přenechat např. pro tlachání ve firemních kuchyňkách, kavárnách či hospodách?

      1. neodbornik

        Re: Nedočetl jsem

        Ja tedy opravdovy odbornik nejsem, ale souhlasim. Uz v pulce clanku jsem si rikal, ze tohle jsou kecy tak do hospody k pivu. A ke konci clanku jsem si rikal, ze autor je grafoman. A jestli tady nekdo nahore tvrdi, ze autor ani neprogramuje (tj. obecne netvori), ale pouze skoli (tj. zivi ho mluveni), tak to docela sedi.

      2. Martin MalýAutor příspěvku

        Re: Nedočetl jsem

        „Vrátit se k odborným článkům“? Koukám, že jste nějak přehlédl článek o vláknech v Javě. Docela mě to zarazilo, jistě byste měl se svými třiceti lety zkušeností v Javě co k tématu říct. ;)

        Ale vážně – číst odborné články je jako číst recepty: lepšího kuchaře to z vás neudělá. Ano, dozvíte se nějaký nový konkrétní postup, ale kuchař není mechanický odvažovač surovin, stejně jako programátor, chce-li být dobrý, nemůže zůstat omezený pouze na technicistní pohled. Proto tu takovéhle články „z jiného úhlu“ („tradiční páteční žvásty“, když chcete) jsou.

        1. biggringo

          Re: Nedočetl jsem

          Já bych naopak byl pro rozšíření tradičních pátečních žvástů i na jiné dny v týdnu.

        2. backup

          Re: Nedočetl jsem

          moje manzelka je take umelkyne (stredni umelecka skola+architektura) a poslednich 20 let prevazne (kdyz trovna nekoncipuje vystavy) se mnou programuje podnikove informacni systemy. (zejmena tu oblast rizeni vyroby). Tim dlouhym vztahem jsem smozrejme poznamenan a ‚vidim veci v sirsim zaberu‘ nez bych patrne jako inzenyr cinil. Proto mam take pochopeni pro takove ‚patecni zvasty‘.

          Nyni nekolik kritickych poznamek:

          – zavadejici priklady
          Pouzivani prikladu je problematicke. Vetsinou je pak diskutovana vhodnost prikladu nez samotna problematika – jak diskuze zde opet dokazuje. Na nejvetsim nemeckem IT-portalu ‚heise.de‘ se rika, ze v kazdem patecnim flejmu musi byt minimalne jeden priklad s automobily, automobilovym prumyslem :-)

          – koncepce clanku
          uvital bych, kdyby bylo nejak na zacatku clanku receno, co je cilem (dokazat, ukazat, vyvratit), jake jsou predpoklady , vstupni hodnoty. Potom metoda, kterou pouziji. Dale seznam literatury. To je pro me dulezite, abych mohl videt, zda autor cerpa pouz z vlastni hlavy a nebo se informoval jinde. Proste neco mezi ‚zvasty‘ a ‚odbornym clankem‘

          – inzenyrstvi
          V jednom prispevku rika muf, ze programator by mel inzenyrsky myslet. Opet, a to je casty ukaz v podobnych clancich a diskuzich, ze je jaksi nejasne, kdo to ten inzenyr je a cim se to mysleni vyznacuje. POvazuji to za zakladni, nez se zacne pozadovat inzenyrske mysleni, aby bylo jasne o co se jedna a jaky by to melo dopad na vyrobu software.

          – softwarove krize
          v clanku probirana tematika je vlastne jiz stara 40 let, zaclo to tim pamatnym kongresem v Garmisch-Partenkirchenu, kde se projednavala vyse uvedena problematika. Do dnesnich dnu se na toto tema napsalo stovky clanku a byla provedena rada studii a take se za ta leta vyzkouselo leccos. Kritizuji, ze jak puvodni autor, tak zdejsi autor nestavi na techto zakladech, ale opet a znova se zacina u cisteho stolu. To podle me neni profesionalni a musim souhlasit s temi, kteri hovori o hospodskych kecech. Vlastne bych to ani nechtel rici, ale mam pocit, ze se to stale vice rozmaha. Prosim, v parlamente, na univerzitach humantinich zamereni, na pravech v Plzni jsem ochoten to akceptovat, ne ale na IT servru. My mame prece nasi dustojnost?

          1. Martin MalýAutor příspěvku

            Re: Nedočetl jsem

            „Zdejší autor“ je „pouhý překladatel“ a jeho – ehm, mým – úmyslem bylo tímto provokativním textem otevřít diskusi. Článek není „odborný článek“, je to, řekněme, esej (doporučená literatura ke studiu: http://cs.wikipedia.org/wiki/Esej)

          2. muf

            inženýrské myšlení

            Na netu se válí jeden vtip, který pár slovy vyjádřuje podstatu:

            Inženýr, kněz a doktor stojí na golfovém hřišti a čekají až se uvolní jamka před nimi… Inženýr povídá: co to tam tak dlouho dělají?! Doktor: Nevím, ale nikoho tak pomalého jsem ještě neviděl! Kněz: Nevím, ale támhle je maitel hřiště.. zeptám se ho.. Georgi, co to jsou prosímtě za lidi, že tak zdržují? Ale to je skupina hasičů co oslepli když nám hasili klubovnu, tak je tu kdykoli necháváme hrát zadarmo..Kněz na to: To je smutné.. večer jim věnuju speciální motlitbu. Doktor: Zeptám se, jestli pro ně nejde něco udělat. Inženýr: Ale proč sakra nehrajou v noci?!


            Střízlivá věcnost, racionalita, logika, solidní matematické zázemí, solidní rozhled v přírodních vědách, schopnost vědu aplikovat v praxi, technický cit. A když se k tomu přidá i určitý nadhled a schopnost vnímat lidi z jiných oborů, které se vyskytují kolem řešeného problému, máme to oč tu běží.
            Bohužel takto můžeme jen stěží charakterizovat většinu absoloventů dnešního školství.

            Třeba takový Wozniak bez kterého by nejspíš neexistovala firma Apple, to je typický inženýr. Bez inženýrů by nejspíš nebyl ani Unix a jeho klony a koneckonců ani třeba takové jádro Windows NT a jejich následovníků. Skvělým inženýrem byl také třeba Gary Killdal atd… A když se podíváme mimo IT, nikdo jiný než inženýři nenavrhl mosty po kterých jezdíme (nemyslím malý můstek přes potok), letadla, techniku v autech,……….
            Horší je, že s hrůzou pozoruji, jak se toto ze Západu pomalu vytrácí a jak naopak roste v Číně a Indii. Jestli s tím něco neuděláme, Bůh s námi :-(

            1. backup

              Re: inženýrské myšlení

              ne, ta ultimativni humorna definice inzenyra je:

              Matematik, fyzik a inzenyr maji za ukol zjistit objem cerveneho mice.

              Matematik zmeri prumer cerveneho mice a vypocita objem podle vzorecku na 2 desettina mista.

              Fyzik ponori mic do kapaliny a zjisti vytlacene mnozstvi. Toto mereni opakuje 10 x a po zohledneni moznych chyb mereni oznami objem cerveneho mice na 4 desetinna mista.

              Inzenyr odecte pozadovanou hodnotu z normy definujici vlastnosti cervenych micu.

              Tento vtip ukazuje na tu zasadni vlastnost, ktera odlisuje ostatni zde jmenovana povolani od inzenyrskeho.

              Jeste bych dodal, ze jsem rad, ze se zde vubec najde nekdo, kdo ma alespon trochu matnou predstavu o co jde. Ale jiste se mnou budete souhlasit, ze s Vasimi nazory narazite vesmes na nepochopeni. Ty Vami jmenovane vlastnosti sice charakterizuji _take_ inzenyrskou praxi, ale to zasadni v ni chybi. Zde odkazuji na definici prof. Honzika z brnenske VUT, co to inzenyrstvi je. (je mozno dohledat na netu).

              Jiste , Wozniak je inzenyr. Ale i Thompson a Ritchie jsou inzenyri, i kdyz vlastne studovali matematiku. Kdyz se ale Wozniaka zeptate, jak inzenyrsky navrhoval ten Apple, tak vam rekne, ze nevi. Zrovna tak to nevi Thompson, proc ho napadlo navrhnout operacni system , ktery visi na open, close, read, write a select. To je na tom to zaludne, ze dostat ten napad smrdi po kreativite a umeni.

              Souhlasim s Vami, ze to inzenyrstvi nejak upada. Ale to jen tak vypada. Stale nas spolecnost potrebuje. Momentalne sice honoruje vice blafaly v kravate, ale ani zde v Evrope to bez nas nepujde. Co nam chybi, je vetsi odmena, abychom si mohli bez starosti koupit nejnovejsi merici pristroje, aby kdyz ti kravataci srkaji nekde sampus, my mohli v klidu provest dalsi vzrusujici merici radu.

              To s tou softwarovou krizi je velmi dulezite. Jako reakce na tuto problematiku se totiz objevil ten zasadni clanek, ktery ukazuje, ze i ve strojirenstvi vse nebylo odjakziva bezvadne. Na prikladu problematiky vybuchu parnich kotlu u parniku na Misissipi se ukazuje, jak se na to tenkrat slo a ze software neceka nic jineho.

              1. muf

                Re: inženýrské myšlení

                Našel jsem co praví profesor Honzík. Možná jsem nenašel to co máte přesně na mysli vy, ale zhruba to odpovídá i mé představě, jen do toho netahám ty tržní vztahy(i když něco na tom asi je). Honzík velmi správně poukazuje na 2 stránky inženýrství – neopomíjí tu tvůrčí řekněme Wozniakovskou :-) (když vidíte Wozovy konstrukce především v Apple II, je to fakt síla). U nás byli podobně schopní třeba bratři Smutní – jejich některé nápady byly geniální…
                Blafalové v kravatě se nám na Západě silně přemnožili a výsledky vidíte ihned jak se podíváte kamkoliv do Zpráv nebo pustíte rádio…Přepadá mě pesimismus, když to vidím. Poraďte prosím zdroje informací, kde bych načerpal radostnější pohled, že není až tak zle…

                1. backup

                  Re: inženýrské myšlení

                  N. G. Leveson, High-Pressure Steam Engines and Computer Software, Computer, October 1994, page 65 – 73

              2. takeinzenyr

                Re: inženýrské myšlení

                Pánové, opatrně prosím s přejímáním definic — tedy těch neformálních. Obzvlášť v IT musíte počítat s pojmem životnost definice (než se najde nějaký, jak říkáte „blafal v kravatě“, který definici překroutí). O čem tady pravděpodobně polemizujete, je souvislost mezi inženýrstvím a technickým pokrokem. Praví inženýři (tedy asi včetně vás) ji vidí implicitně.

    3. devnull

      Re: Nedočetl jsem

      Ja jsem si precetl prvni odstavec, pak jsem scrolloval a hledal nejakou anketu – a nic. Alespon prvni titulek v diskuzi me zaujal :)

    4. talpa

      Re: Nedočetl jsem

      Souhlasim ze je to blbost, pripad od pripadu je to jine, zda byt ci nebyt umeleckym programatorem, nekdy je to dokonce efektivnejsi a soft je vykonejsi, blabolit nadtim je opravdu zbytecne, kdyz to nic neresi a k nicemu to nepomuze, hezci by tu byla basnicka. Teda chceme basnicku, jupiii napad:))

      Matlam tady kod,
      jako negramot,

      chyby delam z ostra,
      jsem koderu postrach.

      1. Umělec

        Re: Nedočetl jsem

        Že by definice prototypu programátora, co hledí jenom na to, „aby to sakra fugovalo“, popisovaného v článku?

        Matlám tady kód,
        jako negramot.

        Chyby dělám z ostra,
        jsem kodérů postrach

        (kdo to po mně převezme,
        může se třeba posrat).

        Ale na tom nezáleží,
        já vám řeknu, oč tu běží:

        „Hlavně že to funguje
        a pěkně se to rýmuje.“

        Tak matlejte klidně taky,
        umění je pro č*****.

    5. Linuxový otaku.

      Re: Nedočetl jsem

      A pak užitek při dlouhodobém používání.

      ten může být z hlediska manažerů kteří se softwarem nepracují stejný bez ohledu na to, jak je ten software zaměstnancům-uživatelům nepříjemný. Takže je lepší dodat nějakou slátaninu rychle a levně, aby se mohl plnit úkol pro který je určena, a to že uživatelé budou nadávat, a programátoři taky nebyli elita, je nevzrušuje. Proč by práce měla být zábava pro obě strany? Dokud jezdí produkt z linky a je dodáván na trh, tak ať si zaměstnanci nějakou tu podpůrnou aplikaci restartují třeba 10x denně a v duchu proklínají programátory, ale pokud to neovlivňuje samotný mega proces výroby, tak je to jedno. To je manažerská logika…

  2. muf

    Na jednu věc se dnes zapomíná

    Programátor by měl být především inženýr a technik. Ne zcela nutně formálním vzděláním, ale hlavně myšlením.
    Dnes tomu tak často není a podle toho to mnohdy vypadá. Člověk by zaplakal, když vidí ty bastly, dnes vydávané za software, uklohněné lidmi, kteří vlastně ani ve skutečnosti nevědí, co to je počítač a „computer science“ jsou pro ně sprostá slova….
    Čest a sláva té menšině skutečných programátorů…. ať už tvoří v čemkoliv pro cokoliv od mikrokontroléru po třeba aplikaci pro banku. To oni dělají řemeslu dobré jméno.

    1. Martin MalýAutor příspěvku

      Re: Na jednu věc se dnes zapomíná

      Velmi správně. A článek dodává (mnoha slovy) jednu podstatnou věc: že inženýr či technik ví, že staví most ne jako svůj památník ani ne proto, aby ukázal, jak úžasný je, ale v první řadě proto, aby se po něm chodilo, a že jeho úkolem je použít všechny své znalosti a schopnosti k tomu, aby to byl skvělý most, po kterém se bude chodit i za 200 let. A když bude i elegantní, je to bonus navíc.

      1. muf

        Re: Na jednu věc se dnes zapomíná

        Elegance řešení nebo samotného kódu není s opravdovým inženýrem v rozporu. Nebo myslíte, že takový člověk má rád rychlobastly, kterými se dnešní trh jen hemží? Ne – dobře totiž ví, že elegantní řešení zpravidla řeší zdroje, bývá spolehlivé a snadno se udržuje. Ano, někdy je třeba na nalezení elegantně jednoduché cesty více času – to není na škodu a snad to momentálně bláznící svět opět pochopí.
        Neštěstím dnešního světa je mimo jiné nezdravě vysoká míra vměšování kšeftu a marketingu do práce inženýrů.

        1. Inkvizitor

          Re: Na jednu věc se dnes zapomíná

          Souhlasím, „krása“ programu podle mě spočívá v tom, že je logický a přehledný. Takový program se pak snadno optimalizuje a případně i opravuje, pokud se v něm objeví nějaký problém. Vzpomínám si, jak jsem někdy v 80. letech narazil na článek, kde citovali nějakou „programátorskou moudrost“, která zněla „pokud program nefunguje správně, přidej další proměnnou“. To je příznak katastrofy, špatného návrhu a dost možná i špatně zvoleného programovacího paradigmatu. Pak existuje ještě měkčí verze takové katastrofy a to napsání „dokonalého“ programu, který dělá přesně co má a je výpočetně optimální, ale v němž se nikdo nevyzná, snad kromě (v lepším případě) samotného autora. Takový „génius“ je v byznysu většinou nepoužitelný, protože jeho díla prakticky nelze škálovat a rozvíjet. Z tohoto pohledu je rozdíl mezi „krásou geniální – esoterní“ a „praktickou krásou“.

          Na druhou stranu je ale potřeba chápat tu obchodní stránku. Pokud znamená napsání korektního a „krásného“ programu to, že Tě konkurence zašlape do země, je třeba prostě udělat kompromis. Zákony ekonomie jsou neúprosné – dostupné zdroje jsou omezené vždycky. Někdy je prostě lepší program „naprasit“ než léta brousit diamant, o který v době vydání nikdo nebude mít zájem nebo rok před vydáním sledovat, jak firma zavírá krám, protože už nemá na výplaty a nájem kanceláří.

  3. dfsagdfgdsg

    a neni to stejne jako jinde

    trochu bych zapolemizoval, ze se programatorstvi lisi treba od doktoriny.
    i clovek bez vzdelani by s trochou skoleni byl schopen lehcich
    lekarskych ukonu (sam jsem si suchym ledem vypalil bradavice), ale bez
    skoleni a treninku z nej nebude dobry chirurg.
    a neni to stejne s programovanim, bez treninku clovek udela programek, ale
    jak to bude vypadat. teprve zkusenejsi a lepsi borec (no nemusi mit
    k tomu titul z vysky) muze psat jadro systemu.

  4. Aleš Roubíček

    Vývojařina je řemeslo, ale ne umělecké

    Už originál je jaksi mimo a Craftmanship movement nějak nepochopil, ale překlad to posouvá ještě absurdnějším směrem. Sorry Martine.

    1. Martin MalýAutor příspěvku

      Re: Vývojařina je řemeslo, ale ne umělecké

      Sorry, Aleši, ale „řemeslo“ není v češtině neutrální slovo, má hodně odlišné konotace. Jednak „řemeslná práce“ jako dobře udělaná práce, jednak „řemeslo“ jako manuální práce, pak taky „řemeslo“ jako hanlivé vyjádření pro mechanickou práci atd. „Craftmanship“ odpovídá konotací tomu řemeslu ve středověkém významu – s cechem, mistrem atd. a nejblíž tomu je dneska opravdu „umělecké řemeslo“.

      1. Program

        Re: Vývojařina je řemeslo, ale ne umělecké

        Jenže přesně to programování možná je, ne? Programování není sbastlit co nejrychleji řešení, které vypadá funkční. K čemu jsou podle Vás např. návrhové vzory, code style a různá doporučení, jak se to má psát? Už jste někdy programoval? Už jste někdy musel rozšířovat rychlobastlený kód? Evidentně ne…

        1. Aleš Roubíček

          Re: Vývojařina je řemeslo, ale ne umělecké

          Pozor, Martin je autorem překladu. Můj komentář je směřován na překlad „umělecké řemeslo“ a „umělecké programování“ ne na obsah článku.

          1. Martin MalýAutor příspěvku

            Re: Vývojařina je řemeslo, ale ne umělecké

            Víš, tam šlo o to odlišit „craftsman“, „craftsmanship“ od „člověka co staví most nebo montuje trubky“. Obojí je česky „řemeslník“, ale ten rozdíl je právě v emotivním zabarvení. V originálu používal autor „craftsman“ právě pro kameníky tesající chrlič nebo šperkaře (a to programátoři nejsou). Programátory autor přirovnával k instalatérům apod., což jsou česky taky „řemeslníci“. A překlad „Programátoři nejsou řemeslníci, ale jsou řemeslníci“ by zněl, jistě uznáš, blbě. Proto jsem sáhl po odlišujícím „uměleckém řemesle“, které asi nejlépe popisuje významový rozdíl mezi „řemeslem, v němž jde především o užitečnost výrobku“ a „řemeslem, v němž jde hlavně o krásu výrobku“. Čímž samozřejmě neříkám, že užitečná věc nemůže být hezká, ale pouze naznačuju priority.

            1. Aleš Roubíček

              Re: Vývojařina je řemeslo, ale ne umělecké

              Ok, to chápu. Problém je v tom, že už originál je mimo. A pak už jen ztraceno v překladu… :)

              Z českého překladu pak můžu chápat, že článek bojuje proti „SW metrosexuálům“, což Craftmaship movement rozhodně není. Nebo pokud jsem v obraze, tak krásně vyleze ven, jak utor bujuje pouze s vlastním nepochopením.

              Doporučuji přečíst Uncle Bobovi reakce na tento a podobné články:
              http://cleancoder.posterous.com/software-craftsmanship-things-wars-commandmen a http://cleancoder.posterous.com/individuals-and-interactions

              1. Martin MalýAutor příspěvku

                Re: Vývojařina je řemeslo, ale ne umělecké

                Originál má ještě „dovysvětlující pokračování“, ale to už by se nevešlo. Dáme ho na příští pátek… :)

                1. arron

                  Re: Vývojařina je řemeslo, ale ne umělecké

                  Nejake dovysvetleni smyslu tohoto clanku by se jiste hodilo :-D Sam jsem v prubehu cteni stale menil nazor na to, o cem ten clanek vlastne je. A na konci jsem zjistil, ze si vubec nejsem jisty, co tim autor chtel rict a co si z toho mam vzit. Az po precteni komentaru zacinam mit pocit, ze tusim:-)

                  Nicmene opet vyborny vyber tematu, diky moc :-)

                  1. Martin MalýAutor příspěvku

                    Dovysvětlující článek

                    … přeložím příště, teď jen ocituju část, kde autor sumarizuje komentáře, které na původní článek obdržel:


                    How dare you! You obviously know nothing of which you speak. (Well, you decide)
                    You obviously don’t / have never / no longer code / care about programming. (Not true)
                    You’re using a pretty crappy definition of “craft” to put forward a bogus argument. Here’s mine / Wikipedia’s / my dad’s / a selective entry from a dictionary’s. (That’s not the point)
                    You shouldn’t/can’t compare programming to building / plumbing / fine art / martial arts. (See “On metaphors” below)
                    I’m angry and important so I’m just going to poke you with a stick rather than do any actual thinking. (Meh)
                    Where’s your evidence? I say “craft,” you say “trade,” show me evidence it’s a trade. (My next few posts)


                    Takže když se tak dívám okolo, bude ta odpověď poměrně přesně sedět i na zdejší prostředí, co? :)

            2. Opravdový odborník :-)

              Re: Vývojařina je řemeslo, ale ne umělecké

              od „člověka co staví most nebo montuje trubky“

              I to montování trubek se dá dělat elegantně, hezky, aby tím nejen tekla správně voda, ale aby to i nějak vypadalo. Stejně tak i při tak primitivní činnosti, jako je vození kolečka nebo házení lopatou, je potřeba přemýšlet – kdo nepřemýšlí, ten se zbytečně nadře a výsledek jeho práce nebude takový, jaký by měl být (a to už jsme dokonce u dělnických profesí, ne u řemesla). Tohle je prokletí dnešní doby – myslet si, že manuální práce je fuj, a „řemeslo“ je hanlivé označení.

            3. vikr

              Re: Vývojařina je řemeslo, ale ne umělecké

              U nás (ve středních čechách) máme pro řemeslník a řemeslník rozlišení „fachman“ a „fušer“ přeneseno do IT asi odhadnete kterej to umí a kterej ne :-))

      2. Aleš Roubíček

        Re: Vývojařina je řemeslo, ale ne umělecké

        Já to chápu tak jako s tím instalatérem. Chceme po něm, aby byl kohoutek, tam kde má a mohli si občas naštelovat boiler. Ale nechceme, aby nám za chvíli neprosakovala voda ze zdi, aby nám neupadával kohoutek nebo nezůstávala páka v ruce, když se zrovna sprchujeme a voda je moc horká… :)

        1. Martin MalýAutor příspěvku

          Re: Vývojařina je řemeslo, ale ne umělecké

          Jo, přesně tak. Zkrátka programátor je řemeslník-fachman, který udělá dobré dveře, bytelnou postel nebo řádnou židli. Tedy profík, co chápe, že se jeho výtvoru nechtějí lidi obdivovat (jako třeba u šperkařů), ale chtějí ho používat, a své estetické cítění dá najevo v detailech zpracování, ne v tom, že vytvoří „postel z kopce“.

          1. Aleš Roubíček

            Re: Vývojařina je řemeslo, ale ne umělecké

            Ano, a tom je software craftmanship, v ověřených postupech, řemeslné preciznosti a zdravém rozumu. :) Musíme brát v potaz taky kontext manifestu. Vznikl jako reakce na vytrácející se důraz na technickou stránku věci v Agilním hnutí, které sklouzlo k čistě projektovému vedení, které samo o sobě není zárukou dobrých výsledků.

            1. Martin MalýAutor příspěvku

              Re: Vývojařina je řemeslo, ale ne umělecké

              Tohle je dobrá poznámka a dal bych ji do článku, jestli souhlasíš. Každopádně já ten originál četl trochu jinak.

              Všimni si: hovoří o tom, jak programátorem může být „kdokoli“, není nutné projít nějakým dlouhým učením pod dohledem „mistra“, skládat tovaryšské zkoušky atd. Prostě si sedneš, otevřeš knížku „Harry Potter a Klikání ve Visual Basicu“ a po týdnu dokážeš zbastlit program.

              Pak hovoří o tom, že chybí srovnání mezi programátory. Že neexistuje nic, žádný „benchmark“, kde by se ukázalo, jak to programátorovi „pálí“ a jak chápe principy řemesla.

              A pak teprve se pouští do Manifestu – ovšem ne z pozice „je to celé nesmysl“, ale z naznačeného směru: „Stačí se podepsat a jste Craftsman! To je ironie!“ Varuje před tím, že si tohle prohlášení mohou „romantiční programátoři s velkým egem“ vykládat ve stylu „My jsme programátoři, vysoce kvalifikovaní odborníci“ – jak už jsem psal výš. A dál ostatně sám hovoří ve smyslu „Ano, buďme tedy řemeslníci – ale řekněme si na rovinu, co to znamená: řemeslná poctivost, zdravý rozum a pokora, ne že bychom byli umělci a primadony“.

              1. Ales Roubicek

                Re: Vývojařina je řemeslo, ale ne umělecké

                Podepsat se je snadne, protoze jde o manifest, nikoli o certifikat. Muzem to brat jako smlouvu se sebou samym, jako commitment.

                1. Justas

                  Re: Vývojařina je řemeslo, ale ne umělecké

                  Jenomže, pokud jsem článek pochopil dobře, o to právě jde. Pokud to někdo vezme jako svůj osobní závazek, je na cestě k tomu, stát se tím „uměleckým řemeslníkem“ neboli „fachmanem“. Ale je spousta těch, kdo napíší své jméno do formuláře a domívají se, že tím se stali odborníky. A pak často pohrdají těmi opravdovými programátory.

                  Asi všichni známe článek „Vývoj programátora“ (např. http://mcu.cz/plugins/tcpdf/tcpdf.php?news.408), který přesně popisuje vývoj fušera. Místo aby směřoval k maximální efektivitě směřuje k maximální efektnosti.

          2. Opravdový odborník :-)

            Re: Vývojařina je řemeslo, ale ne umělecké

            Vývoj softwaru je jak řemeslo (z největší části), tak i umění a věda (oboje z menší části). Rezignovat ale úplně na tu uměleckou případně vědeckou stránku je stejně tak chyba, jako odvést špatné řemeslo. Je to podobné jako v jiných oborech. Koupil byste si např. reproduktorovou soustavu, která sice hraje dobře, ale vypadá naprosto odporně, do vašeho bytu se nehodí a její autor je nedouk, který nemá ani základy fysiky, což se mimo jiné projevuje chybným značením na štítcích a konektorech?

      3. titanik

        Re: Vývojařina je řemeslo, ale ne umělecké

        Mezi remeslnou praci a kvalitni praci nelze davat rovnitko! Remeslnik – istalater (vyuziji vyse zmineny priklad) udela vodovod z 1.5m dlouhe souvisle trubky, jiny instalater – remeslnik ji udela spojenou z peti kusu, oba odvedli remeslnou praci a jejich dilo bude dlouho slouzit. Ale v prvnim pripade mohu bez komplikaci pripojit dalsi potrubi, coz se u druheho neobejde bez nutnosti vyhodit cast potrubi a spojek, aby napojeni spolehlive fungovalo…

      4. neodbornik

        Re: Vývojařina je řemeslo, ale ne umělecké

        „Remeslo“ neni vubec spatne slovo, nebal bych se ho pouzivat. Programatori, doktori, elektrikari, instalateri – vsichni jsme v podstate remeslnici. Akorat nekdy je potreba u toho vic myslet, vic vedet nebo byt vic sikovnejsi. Je radost spolupracovat s elektrikarem nebo instalaterem, ktery u prace premysli. Mnohem vetsi hruzu mam prave z „umeleckych remeslniku“, podle me to jsou spis takovi, kteri dokazou zakaznika presvedcit, ze jejich dilo je krasne a proto drazsi. To je obvykle jejich nejvetsi umeni. To uz radsi ten „cech“.

        1. František Kučera

          Re: Vývojařina je řemeslo, ale ne umělecké

          Ad „Mnohem vetsi hruzu mam prave z „umeleckych remeslniku““

          Všichni naštěstí nejsou stejní. Zrovna nedávno jsem mluvil s jedním umělcem o jeho soše a dalších dílech. Je skvělé vědět, že je za tím nějaká myšlenka, že se tím snaží něco sdělit a že to není jen „samoúčelná úchylárna“ (což bohužel velká část dnešního „umění“ je).

          1. Sten

            Re: Vývojařina je řemeslo, ale ne umělecké

            Sochy jsou něco jiného. To je umění. Těžko budou sochy plnit nějaký jiný účel než estetický. Stejně tak třeba Boost je umění. Ale užitečné je to teprve, když postavíte budovu se sochami (napíšete aplikaci používající Boost).

      5. povinna prezdivka

        Re: Vývojařina je řemeslo, ale ne umělecké

        craft mapuje na remeslo velice dobre, a craftsmanship je proste fortel. takze ja jsem se pri cteni nedostal ani pres „Pozn. prekl.“.

  5. Program

    Jako houby po dešti

    se v poslední době rojí takovéto názory. Není asi divu. Dřív, když jste sbastlili kód, tak se Vám sám brzy zhroutil nebo alespoň vyžral paměť kvůli špatnému memory managmentu nebo plýtvání zdroji. Dneska VM spoustu věcí vyřeší za vás, takže šílený bastl vypadá, že funguje. Možná si akorát někde zlomíte nohu, až Vás bude Váš prokleje ubožák, který s tím kódem bude muset dál pracovat.

    Když si třeba koupím auto, taky mě nezajímá, jak přehledně jej konstruktér navrh. Ani managenent to nezajímá. Ale znamená to, že ten konstruktér to může načrtnout, aby se v tom vyznal jen on?

    1. Stanley

      Re: Jako houby po dešti

      Souhlas. Ten článek je blábol člověka, který neprogramuje, ale kafrat se do toho snaží. Dočíst se to nedalo…

      1. Sten

        Re: Jako houby po dešti

        Doporučuji ten článek přečíst, než budete kafrat. I když autor údajně neprogramuje (neověřoval jsem), tak píše o něčem úplně jiném, než s čím nesouhlasíte.

          1. Sten

            Re: Jako houby po dešti

            Dobře, konkrétně: Program by měl být elegantní, snadno udržovatelný i jednoduše pochopitelný. To nikdo nepopírá. Ale cílem programování by nemělo být, aby program byl elegantní, snadno udržovatelný a jednoduše pochopitelný. To zákazníka nezajímá, to by měla být samozřejmost (na druhou stranu, pokud to program nebude splňovat, nic vážného se většinou nestane). Stejně jako most bývá elegantní, snadno udržovatelný a jednoduše pochopitelný (pro stavaře). Hlavním cílem by ale mělo být, aby ten program dělal to, co se od něj očekává, tak, jak se od něj očekává, použil ta rozhraní, která zákazník má, a vůbec aby co nejméně dával najevo, že tam je.

            Pokud bych měl být úplně konkrétní: teď pracuji s jedním programem, který se jmenuje Hyparchiv. Vůbec není elegantní (běží na Windows Serveru ☺), pravděpodobně není snadno udržovatelný (je to komerční program ☺) a už vůbec není jednoduše pochopitelný (instalace na nový server zabere vždycky několik dní a používá to spoustu různých adresářů a úložných systémů). Ale když jej nainstalujete a spustíte (resp. když to za vás udělá odborník), dělá potom přesně to, co se od něj očekává: archivuje dokumenty. Miliony dokumentů, terabajty dat, mnoho let a bez ztráty jediného bitu. A dělá to tak, že o něm málokdo ví. Když někde chtějí archivovat dokument, vloží jej do skeneru a zmáčknou jedno tlačítko (přímo na skeneru). Hned po naskenování jej najdou ve svém IS, stejně jako jej najdou i jejich zákazníci (tedy pokud je to jejich dokument, cizí samozřejmě nenajdou). A najdou jej kdykoliv, podle jakékoliv identifikace včetně fulltextového hledání a ať už ten server ty dokumenty přesouvá kamkoliv od zápisové vyrovnávací paměti po write-once Fibre Channel disková pole.

            Bohužel naprostá většina komerčních i open source programů se tak nechová a IMO právě kvůli tomu se začalo tak dbát na eleganci, udržovatelnost a pochopitelnost. Na funkčnost se tak nějak zapomnělo.

            1. Mard

              Re: Jako houby po dešti

              Dovoluji si nesouhlasit. Estetika je také důležitá. Obecně vzato bychom mohli bydlet ve vyřazených kontejnerech, zateplených polystyrenem. Případně v zemljankách. Program to nejsou jen střeva ale i vnějšek. Pokud udělám dobrá střeva, tak vnějšek reaguje rychle a efektivně. Rovně je důležité jak vypadá vnějšek. Není to tak dávno, kdy bylo dost aplikací se žlutými tlačítky na červeném pozadí s blikajícím nadpisem.
              S čím bych mohl souhlasit je vaše poznámka o funkčnosti. Ano, sebelepší a sebe krásnější program, co nefunguje správně je k ničemu. Ale proč má linux obecně tak malé rozšíření? Funguje dobře, střeva jsou správně napsané, ale běžný uživatel dá přednost něčemu jinému. Bohužel :-(

    2. Clock

      Re: Jako houby po dešti

      Ja kdyz si koupim auto, tak me zajima, aby fungovalo, a jakmile se objevi, ze je v nem od vyroby zavada, budu ho reklamovat.

      1. Nox

        Re: Jako houby po dešti

        Jenže právě stylem prezentovaným v článku by pak oprava po reklamaci trvala rok a firmu by to stálo jako nové auto…

      2. megahafo

        Re: Jako houby po dešti

        Problem je v tom, ze ked je v aute problem tak musi byt dizajnovane tak aby servisak nemusel rozobrat cele auto koli vymene nepr. sviecky. To iste je i s programovanim. Tak sa pozna profik od bastlica.

    3. PrymekM

      Re: Jako houby po dešti

      Přijde mi, že tohle je časté nedorozumění: jakmile někdo někde zdůrazní, že jde o výsledek a ne o provedení, někdo jiný oponuje, že pokud je to blbě provedené, nedá se to udržovat.

      Ale udržovatelnost je přeci taky výsledek!

      A pokud je to údajně „blbě provedené“, ale nemá to žádné podstatné vnější důsledky (rychlost, náročnost, použitelnost, udržovatelnost, …), v čem je to vlastně „blbé“?

      1. Program

        Re: Jako houby po dešti

        Když automobil se na tohle docela hodí, ale můžete si za to domyslet cokoli, co je dostatčně složité a čehož pořizovací náklady jsou dostatečně vysoké na to, aby se vyplatila údržba a opravy.

  6. balik

    Majstri a ucni

    Pri tvorbe softveru by „majstri“ a „ucni“ nefungovali. Pri umeni, murarcine atd… , je to jasne. Pozriem sa na obraz / stenu a vidim, ze je vyborne zvladnuta. Ten, kto zrucnost ovlada, je majster. Zrucnost sa ziskava vdaka talentu a dlhodobej praxi.

    Ale co by mal taky „majster“ ovladat, aby mohol nieco dat ucnom v IT? Poziadavky sa menia, dnes neplati, to co platilo vcera. Majster moze byt kazdy a zaroven nikto.

    Clanok som nedocital. Som za to aby v IT pracovali iba kvalifikovani ludia, ale tento clanok je blabol.

    1. ales roubicek

      Re: Majstri a ucni

      Ani nevite jak moc daleko jste od pravdy. Softwarovy vyvoj stavi na principech ltere se nemeni cela desetileti i staleti. Mentoring je jednou z podcenovanych praktik a casto absentujici. Podle toho to pak vypada. Craftmanship se snazi mentoring, vdelavani a cviceni zanest do bezneho vyvpjarskeho zivota.

      1. balki

        Re: Majstri a ucni

        „Softwarovy vyvoj stavi na principech ltere se nemeni cela Desetileti i staleti.“

        Mozno su sucasti, ktore su nemenne, ale inac dovolim si nesuhlasit.

        Uz len modely vyvoja. Najprv bol vodopadovy model, potom sa zacalo pristupovat iterativne, a teraz mame agilne techniky, ktore zasa prinasaju nieco ine.

        Techniky modelovania a analyzy sa neustale menia. Boli vyvojaky , DFD, teraz mame UML, pomaly sa zacinaju presadzovat aspektovo-orientovane techniky.(Nielen rozdiely v obrazkoch, ale aj v mysleni)

        Mame strojove programovanie, proceduralne, funkcionalne , objektovo-orientovane, aspektovo-orientovane. Kazdy den sa puziva iny framework s inymi principmi. Iny jazyk, s inymi zaludnostami.

        Pristupy testovania sa tiez stale menia a zdokonaluju.

        Taky „majster“ by mohol byt majstrom len velmi kratko (alebo by ucil len velmi vseobecne principy, co sa robi aj teraz a ludia na to aj tak nadavaju.)

        1. kverulant

          Re: Majstri a ucni

          Jenže tyhle změny probíhají ve všech oborech. Např. i mistr na pásu v továrně dělá dnes něco jiného než mistr před 20 lety. Přitom tam v mnoha případech je pořád ten samý člověk. To že se člověk musí celý život učit, aby mu neujel vlak, je normální součást života lidí. Rozhodně to není specifické pro IT obor. Lidi co si prošli více metodikami vývoje mají lepší náhled na celou problematiku a nováčkům rozhodně mají co říct.

        2. Aleš Roubíček

          Re: Majstri a ucni

          Přečtěte si prosím nejprve něco o historii vývoje a doplňte si zmiňované pojmy. Kdybyste měl dobrého „mistra“, neudělal byste v jednom komentáři tolik faktických chyb. :)

          Mistr zná metodiky vývoje, jejich historii a souvislosti. Mistr ví, že UML není nástrojem analýzy a modelování, ale jiný způsob „zápisu.“ O dost horší než kód, se zjistilo. Ale na skicování některých nápadů je to dobrý.

          Mistr zná paradigmata (funkcionální tu je od 50. let, objektové od let šedesátých a strokturované programování je kupodivu o dost mladší. Aspekty jsou poměrně mladé, ale to je spíš dáno technologickýmy možnostmi než, že by na to do tý doby nikdo nepřišel.) a ví v jaké situaci, které použít. Ale v každém systém mu se najde příležitost ke každému, protože každé řeší jiné problémy a navíc se dají dobře kombinovat.

          1. balki

            Re: Majstri a ucni

            Dobre teraz slovickarme. S uml su spojene techniky ooans a UML nie su len tie obrazteky. Ak sa to tak pouziva, je to nanic.

    2. Martin MalýAutor příspěvku

      Re: Majstri a ucni

      „Být mistrem“ znamená nejen „postavit dobrou zeď“. Mistr musí umět mnohem víc než to, musí chápat přesahy mezi jeho prací a okolním světem, musí rozumět spoustě dalších věcí, co s jeho prací ani nesouvisí, a hlavně musí dokázat tohle vše předat svým žákům.

      A stejně tak to je s programováním. Mistrem není ten, kdo umí šestnáct jazyků; opravdový mistr navíc chápe, jakou roli má programování ve světě, přistupuje k němu s pokorou, dokáže si své snažení zasadit do kontextu, nahlédnout z pozice uživatele, rozumí trochu psychologii a trochu obchodu, umí smysluplně rozdělit práci a umí ji zhodnotit, umí svoje znalosti předat, … Má tedy navíc ony vysmívané „soft skills“!

      Ale nemluvme o mistrech. Bohatě stačí, když budou programátoři dobrými řemeslníky, jak píše Aleš Roubíček – soustředěnými na to, aby udělali kvalitní práci.

      1. balki

        Re: Majstri a ucni

        Taketo veci nas ucili na skole. Ale to je len jedna cast majstrovstva.

        Darmo ma clovek presahy do inych disciplin, ked nevie spravit tu spinavu robotu a vytvorit kvalitne dielo, tiez nemoze byt majstrom.

        1. Martin MalýAutor příspěvku

          Re: Majstri a ucni

          Ach, ty podmínky nutné a postačující… :) Vezměme si to jako pravdivostní hodnoty, kde SR = špinavá robota a PD = přesahy do jiných disciplín. Pak platí, že:

          SR – , PD – = nádeník
          SR – , PD + = kibic
          SR + , PD – = průměrný řemeslník
          SR + , PD + = mistr

          Když má člověk jen ty přesahy a nedokáže sám vytvořit kvalitní program, má v programování roli poradní. Ovšem pozor – to neznamená, že je dotyčný „nanic“: co když to je člověk, jehož schopnosti programovat jsou průměrné, ale má přesahy do ekonomie, do řízení, do psychologie, zná trh – myslím, že každý programátor bude rád, když někdo takový bude šéfovat jeho firmě. :)

          1. balki

            Re: Majstri a ucni

            Co sa usilujem povedat, ze „majstrovstvo“ v IT je tazko uchopitelne a definovatelne. Mohlo by to viest ku skostnatelosti, co tiez nie je dobre.

            Dotycny prime koder s presahmi moze byt uzitocny vo firme, ale ako majster by bol mozno zatrateny.

            Ospravedlnujem sa za ten blabol :D

            1. Martin MalýAutor příspěvku

              Re: Majstri a ucni

              On totéž říká i autor na konci – že je mistrovství těžce definovatelné a uchopitelné, a že by se právě tam mělo napřít úsilí.

    3. maio

      Re: Majstri a ucni

      Pekne to je popisane v knihe „Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman“. Existuje aj free online verzia.

      Majster/Ucen dava zmysel v kazdom obore, ktory je netrivialny na zvladnutie a vzhladom k tomu, ze vyvoj softwaru je komplexna cinnost tak dava samozrejme zmysel aj tu.

      V zahranici existuju firmy ako napriklad Obtiva, ktore tento system uspesne pouzivaju (google obtiva apprenticeship).

    4. mm-marek

      Re: Majstri a ucni

      nedávno zemřel profesor Vaníček, skutečný mistr svého řemesla. Ve svém věku samozřejmě nestihal všechny novinky, programovací jazyky a frameworky, ale právě diky svému přesahu a chápání matematického základu programování (které do nás tlačil horem dolem) byl mistrem. V tom se mi líbí článek nejvíc – rozdělení na mistry a učně. Všeobecně v informatice si o sobě kdekdo může myslet že je mistr a je zatim třeba jen špatný učeň.

      požadavky se mění? chyba lávky, požadavek je stále stejný, mění se jen prostředky.

  7. Tomas Z.

    OT: Nage no kata - citation needed

    Tuší někdo co myslí autor tou částí s nage ne katou? Já znám jen nage no katu vytvořenou koncem 19 století Jigorem Kanem pro judo, která má strukturu podobnou, ale rozhodně ani náhodou nehrála uvedenou roli, a mé zdroje i Google mlčí.

    Pokud si vymýšlí nepřesné analogie pro svůj článek, tak to není dobrá známka.

    1. Clock

      Re: OT: Nage no kata - citation needed

      Obavam se take, ze tvrzeni v clanku o nage no kata nejsou pravdiva:

      Nage-no-kata is a throwing kata in judo. The kata is composed of 3 techniques from each of the five throw groups in judo: hand techniques (te waza), hip techniques (goshi waza), foot techniques (ashi waza), rear sacrifice techniques (ma sutemi waza) and side sacrifice techniques (yoko sutemi waza).

      http://en.wikipedia.org/wiki/Nage_no_kata

  8. cleb

    Tvorba malých firemních prezentací samozřejmě řemeslo je...

    Tvorba obrovských systémů ne. Je otázka jestli by se všichni ti webkodéři (teď včetně mě, nějak si člověk při studiu vydělat musí) měli nazývat programátory. Podle mě skoro ani ne.

    (z článku jsem četl pouze TL;DR a tímto redakci děkuji za jeho umístění do článku – škiovná věc)

  9. none

    Hezký článek

    Pěkný článek. S programátorstvím je to zcela stejné jako se všemi ostatními
    „povoláními“. Vždy je důležité, aby výrobek splňoval účel, ke kterému byl
    vytvořen (a je jedno, zda je tím účelem ozdobit nemovitost, nebo unést auto, či
    zpracovat data). Tento primární účel je nejdůležitější. To co je nad tím, jaksi
    nad rámec toho základního účelu, může být uměleckým dílem, ale neovlivňuje to
    primární účel. Podívejme se na dlážděné cesty „kočícími hlavami“. Pro to aby
    splnily svůj primární účel stačí, aby se po nich dalo chodit a jezdit. Na
    většině z nich je však ještě určitý vzor a mozaika. Kromě základního účelu jsou
    ještě pěkné.

    Článek jsem pochopil tak, že programátoři vytváří kód se základním účelem. Do
    tohoto účelu počítám například čitelnost kódu, dokumentaci, ošetření chyb a
    samozřejmě dlouhodobou očekávanou funkčnost. O těchto vlastnostech není pochyb,
    že se nejedná o umění, ale o dovednost. Tím je splněn základní účel. Když je
    navíc kód mnohonásobně efektivnější, kratší elegantnější, při zachování
    základního účelu, může to být projev umělecké dovednosti autora. Tak jako je to
    například u hraní na hudební nástroj – hrát na klavír se víceméně naučí každý,
    ale aby to byla hudba, umění, na to je třeba mít talent, být umělec.
    Programování je běžná práce a hranice, kde začíná být uměním je mnohem dál, než
    si signatáři pravděpodobně představují.

    1. kverulant

      Re: Hezký článek

      Podle mě programování jednoznačně není umění ať už na jakékoliv úrovni. Přijde mi to podobné, jako kdyby někdo tvrdil, že pěkně provedený matematický důkaz je umění (ano jsou zvrácení lidé, co si to myslí :-). V umění je nejdůležitější nějakým osobitým způsobem vyjádřit nějakou myšlenku a působí spíše na emoce. Programování je typická inženýrská disciplína, kde se dá práce hodnotit objektivně a jednoznačně nejdůležitější je sebekázeň (nepsat osobitý kód, ale dívat se na to co nejvíce objektivně). Pokud už by něco mělo být umění, tak jedině výstup programu.

  10. ferren

    prestiz

    programovani je vubec takova podezrela cinnost. za sebe reknu uprimne,jedine co me u ni drzi jsou hodne nadstandardni penize. ani uz me to nebavi, v podstate tak trochu obtezuje. zaroven myslim ze nejsem spatny programator,mam pomerne dobrou povest. sam sebe se ptam, jak dlouho bude takhle nevyvazena era s vysokymi prijmy trvat, ono opravdu na tom neni nic sloziteho, je to velice jednoducha nenarocna prace. kdy se to narovna s podobnyma kancelarskymi cinnostmi, napr. s ucetni?
    nebo opravdu si myslite ze si z nejakeho duvodu zaslouzite x-nasobek platu ucetni? ja si ho nezaslouzim,urcite ne, presto tak nejak je. jsem z toho trochu nesvuj:-)

    1. muf

      Re: prestiz

      No, tak ono jde hlavně o to, co a jak programujete.
      Pokud děláte třeba řídící systém pro elektrárnu, motor, letadlo nebo třeba nějaký operační systém (dokonce i pro řídící jednotky v autech se dnes dělají malé speciální OS) atd… jsou vaše příjmy nejspíš oprávněné – na funkčnosti záleží mnohdy bezpečnost atd…
      Pokud ale třeba taháte myší a bastlíte např. webové, ekonomické a podobné aplikace, vůbec se vašemu černému svědomí a znuděnosti nedivím.
      Prostě jsou programátoři a programátoři.

      1. ferren

        Re: prestiz

        no prave delal jsem pomerne prestizni a narocne hi-end CPU vytezujici algoritmicke veci, takze urcite ne vylozene kancelarske bussiness reseni,natoz webovou nudu, presto kdyz nekomu rikam ze sem programator se tak trochu stydim. neznam moc jinych profesi s tolika protiklady (prijem vs prestiz) to i pravnikum se asi rika lepe ostatnim ze jsou pravnici:-)
        cely ten IT svet je nejakej divnej….ale ty penize…:-)

        1. muf

          Re: prestiz

          Pokud děláte, jak píšete, něco náročného, nechápu vaše pocity. Stydět by se měl spíš ten typický dnešní právník, který mnohdy jen parazituje….
          Já se teď mimo jiné živím na psaní kódu pro zmíněné řídící jednotky. Rozhodně si nepřipadám jako flákající se vyžírka. Krize mě z IT zavála k této práci, ale doufám, že se časem vrátím k milovanému Unixu….ani tam jsem si jako vyžírka nepřipadal. Hlavu vzhůru :-)

      2. nick

        Re: prestiz

        „Pokud ale třeba taháte myší a bastlíte např. webové, ekonomické a podobné aplikace, vůbec se vašemu černému svědomí a znuděnosti nedivím.“

        Kristova noho! Co je podle vás tak podřadného na vývoji webových aplikací? Dokonale zvládnout práci s grafikou, typologií, návrhem UI a vlastních komponent, značkovacími jazyky, styly, JavaScriptem, PHP/Javou/Ruby/… a všechno to skloubit dohromady v perfektně funkční celek zabere několik let praxe. Měl jsem několik možností vidět pokusy vytvořit webovou aplikaci od podobných elitářů, jako jste vy a pokaždé to stálo za velký kulový – vypadalo to odpudivě(design a barevné provedení ála 1995), stránky byly odporně statické, user experience nulová, většinou to fungovalo jenom v jednom prohlížeči nebo se rovnou rozpadal layout a v nesémantickém napraseném kódu stránek s inline styly a podobnými lahůdkami se nejspíš nevyznal ani autor. Webdesign je z velké části o tom umění a estetice, kterých se podobným namachrovaným technokratům nedostává. Nejspíš máte zkreslené představy, co to vlastně ten webdesign je. Mimo to spousta lidí včetně mě zároveň programuje i v „nepodřadných“ jazycích – taky bych měl mít černé svědomí nebo stačí cítit se rozpolceně?

        1. Nox

          Re: prestiz

          Co jste popsal není 100% už „programátořina“, i tak ale máte pravdu že je rozdíl zda se chápe programování – a spousta lidí toto bere jako jediný pohled (a z toho pak asi pramení i různé rozkoly) – jako především matematika + hardware, horkotěžko se tam snaží protlačit alespoň nějaká algoritmizace (trochu přeháním, vím, je to trochu narážka)

    2. neodbornik

      Re: prestiz

      Asi delam neco spatne, ale mam pocit, ze nemam x-nasobek platu nasi ucetni. Treba to bude tim, ze nespim s nasim sefem? :)

    3. František Kučera

      Re: prestiz

      Výše platu je výsledkem nabídky a poptávky. Jestli máš slušný plat, tak buď rád a užívej si to. ;-) Rozhodně si nemáš co vyčítat nebo z čeho být nesvůj – dávají ti ho dobrovolně, tak v čem je problém?

      1. Heron

        Re: prestiz

        Tuhle poučku jsem slyšel mnohokrát. Ty tomu fakt věříš? Výše platu je taková, jakou si člověk vybojuje. Je tedy závislá na osobnostech zaměstnance a zaměstnavatele. Znám mnoho lidí, kteří jsou pro firmu hluboko v mínuse, přesto berou slušné platy. Ucekacali nadřízené (případně je drží za koule) o své potřebnosti. Na proti tomu znám mnoho pracujících lidí, kteří bohužel nemají odvahu si říci o více. Plat prostě není funkcí potřebnosti práce, ani nabídky a poptávky. Stejně jako cena zboží.

        1. Sten

          Re: prestiz

          Plat (stejně jako ceny zboží) v tržním prostředí je vždycky výsledkem nabídky a poptávky, ale to není matematická funkce s pevně daným výsledkem, existuje tam určitý (občas i značně velký) rozsah, ve kterém se lze pohybovat a se kterm lze manipulovat (na obou stranách). Někteří zaměstnanci se nabízejí lacino, tak dostanou málo. Jiní se nabízejí draze, ale nabízejí něco, co nikdo jiný (a může to být i to, že „drží nadřízené za koule“). Pokud by ale chtěli víc, než je někdo ochoten za jejich nabídku zaplatit, tak o tu práci prostě přijdou.

    4. uf

      Re: prestiz

      Ty nadstandardní peníze porovnáváte s prodavačkou v malém krámku, kde dělají za minimální plat? Pak jo. Já se honím jako blbec, kolega taky, ale peníze a benefity nikde. Pak jsou takoví, co se umí předvádět, jezdí na školení, přiživují na rozjetých projektech a ted už dělají šéfa jinde.

  11. Clock

    Citim se clankem nerespektovany

    Temer u kazde vety v clanku se citim nerespektovany. Kdyz se prezentuje jako fakt neco, na co bych mohl mit jiny nazor, citim se vetsinou nerespektovany.

    Pokud by autor mluvil o svych pocitech nebo nazoerch, necitil bych se nerespektovany. Pokud by jako fakt prezentoval neco, co je vseobecne prijimano, tedy i mnou, take bych se ebncitil nerespektovany. Pokud by sva tvrzeni prezentovana jako fakt podlozil odkazy, take bych se necitil nerespektovany.

    1. Nox

      Re: Citim se clankem nerespektovany

      Souhlasil bych, na druhé straně kdyby do každé věty musel napsat „myslím že“ nebo ekvivalent, článek by byl nataženější delší než už je teď…

    2. Martin MalýAutor příspěvku

      Re: Citim se clankem nerespektovany

      Platí to, co psal kolega komentátor výš: kdyby všude mělo být „podle mého názoru…“, tak je článek dvakrát tak dlouhý; obvykle se považuje za dostatečné, když je jednou zmíněno, že jde o vlastní názor, nebo dokonce když to vyplývá třeba jen z dikce článku („já, připadá mi, nechtěl bych, aby…“)

      Pocit „nerespektovanosti“ z tohoto důvodu tedy není na místě. Pokud i přesto trvá, stálo by zato zamyslet se nad tím, zda nepramení z malé sebejistoty a/nebo přerostlého ega. Zdravě sebejistý člověk nemá po přečtení protivných názorů pocit „nerespektování“…

      1. Clock

        Re: Citim se clankem nerespektovany

        Ted se citim nerespektovan kdyz mi nekdo rika, ze muj pocit neni na miste. Z erci o male sebejistote a prerosteleho ega se citim urazen. A z posledni vety opet nerespektovan a nepravem kritizovan.

  12. Nox

    Částečný nesouhlas

    Kromě toho, že myslím že zrovna u programátorů je těch co si IT vybrali, protože ho mají rádi, celkem dost

    Sice souhlasím že mít na paměti užitek je extrémně důležité, pravděpodobně nejdůležitější, ale…
    Na druhé straně mi přijde že autor nějak pozapomněl že vývoj taky něco stojí, že vodopádový model není to pravé, že vývoj nekončí vypuštěním softwaru a že požadavky nejsou rigidní … proto přístup „zprasím to a nějak to bude fungovat“ není úplně skvělý, byť je to hezky blýskající se protipól vypiplávání kódu a overengineeringu

    A jsme opět u toho že svět není černobílý

  13. Karel

    Příliš vysoká úroveň generalizace

    Článek je to pěkný a i s ním do jisté míry souhlasím. Ovšem nevyhnul se tomu, co osobně kritizuji už 15 let – mluví se o „programátorech“ a přirovnávají se k zedníkům atd. Podle mně je to hodně vysoká úroveň abstrakce. Něco jako „doktor“. Stejně tak jako nechcete aby vám koleno spravoval patolog a děsíte se toho, že by vám slepé střevo operoval psychiatr (byť špička v oboru), stejně tak je zrádné obecné označení „programátor“. Je to tak všeobjímající pojem jako zedník, stavební dělník, architekt, technolog, logistik a ekonom dohromady. Nechci aby mi dlaždičky pokládal architekt a děsím se toho, že by mi most počítal logistik (nebo nedej bože stavební dělník). U programátorů je to stejné – někteří jsou tam na nekreativní práci podle technických specifikací, jiní tam jsou od toho, aby psali technické specifikace podle funkčních specifikací, jiní jsou tam od toho, aby podle přání zákazníka psali funkční specifikace, jiní tam jsou na testování, jiní tam jsou na technologii, specikem jsou programátoři, kteří píší nástroje pro další programátory, stejně tam je tam malá skupinka lidí, kteří by se dali označit za „R&D“ nebo za „strategické plánování“ atd. Osobně za programátora považuji i sebe byť mou prací je práce se zákazníkem na zlepšování firemních a obchodních procesů a specifikace odpovídajících požadavků na technologii a IS (byť sám nepíšu ani řádek kódu, čeká se odemně výborná znalost IT technologií abych dokázal správně odhadnout co je a co není technicky možné a kudy vlastně jít). Spíš než přirovnání s doktory, přeci jen je u nich středem pozornosti člověk, takže se vše beztak točí jen kolem anatomie, se hodí přirovnání s tím „kdo všechno se jak podílí na tom, že na louce vyroste dům“.

    Osobně za „mor programátorského řemesla“ považuji fakt, že je to nehorázně levná oblast s naprosto minimálním rizikem. Prostě jednou koupíte PC a software a pak platíte mzdu programátorovi bez ohledu na to co dělá. Oproti tomu kovář musí kupovat materiál a dost se rozmyslí než ho jen tak nějakým pokusem zkazí. Stejně tak je obvykle přijatelné, že se používá polofunkční program, zatímco u „obvyklého výrobku“ typu zámek nebo kolo by to byl problém. Zatím nikdy v historii takový obor v takovém rozsahu neexistoval (kde jediná investice je čas) a nejspíš i proto se nám doposud nepodařilo postavit ho do nějakých mezí.

    1. phr

      Re: Příliš vysoká úroveň generalizace

      Tak tohle nemusí být zdaleka pravda. Ono převedení dat z jednoho systému na jiný, vyškolení obsluhy, atd. obvykle nebývá úplně triviální a dík tomu se může dost prodražit. A to už je srovnatelné s tím zkaženým materiálem

  14. D.A.Tiger

    Já se obávám, že...

    …jsou to tak trochu kecy. V jakémkoliv oboru lidské činnosti ať už je to obyčejná dělnická profese, nebo programování, či třeba řízení podniku se dá práce odbýt, udělat dobře, a nebo si s ní opravdu vyhrát. Ono totiž záleží na člověku, který danou práci vykonává – na jeho přístupu a motivaci, a na podmínkách v níž danou práci vykonává.

    Instalatér, který svou práci z nějakých důvodů nedělá moc rád, ale jen proto, že musí – ji udělá, ale… Pokud má do zdi zavést vodovodní potrubí, parkrát látne kladivem do zdi, nějak tam ty trubky napasauje, lehounce to zafixuje pár lžicemi sádry a jde od toho. Na ostatní si pořiďte zedníka a uklízečku. V opačném případě hezky majzlem a kladivem udělá drážku pro potrubí (dovolí-li to podmínky tak flexou), trubky ve zdi srovná, pečlivě vyrovná jednotlivé armatůry… Je-li to potřeba udělá i další práce.

    Je to sice trochu přehnaný příklad (pro instalatéra rozhoduje co bude dělat zadání zakázky, takže nemůže od ní odejít, kdy se mu zachce) ale dobře ilustruje myšlenku. Podobně je to i s programátory. Pokud analitik se nebude s tím moc párat, prostě se to „nějak“ slátá a ono to „nějak“ bude fungovat a když ne, tak se to zas nějak zpraví. A co potom výkonnost takové aplikace. Možné vedlejší interakce s okolím (dneska je už málo aplikací, které běží na strojích samostatně) atpd…

    Sice svou práci odvede, ale jaký je výsledek? To je často (až moc) hezky vidět třeba na widlích (nebo i na mnohých webech). Nemá smysl se moc rozepisovat o tom jak to dopadne, když to svou práci dělá kodér pouze… tak jak musí. Číst pak takové zdrojáky je podobné jak luštit šifru.

  15. flv

    nerekl bych ze prohramovani se da prirovna i instalaterstvi

    Tedy prvne trochu jsem se musel smat kdyz tu nekdo poznamenal ze kdyz uz musi rict cim se zivi tak je mu lehce blbe :) kdyz rekne ze programovanim. Priznam se ze sam mam nekdy stejny pocit.

    Nicmene to prirovnani ke klasickym remeslum (kovar, instalater), nevim nevim.

    Oboji ma nejake, dejme tomu, predepsane postupy, nicmene mira abstracke uvazovani je rekl bych trochu jinde. Nemyslim ze instalater se
    normalne potyka s tak komplikovanymi systemy jako programator.

    Proste kdyz nekde praskne voda, fajn, instalater se podiva na trubky, vezme hasak a muze opravovat. Na druhou stranu kdyz se neco podela ve vetsim IS tak je to nekdy opravdu hodne detektivni prace a casto musite i vymslet nove postupy jak vubec chybu analyzovat.

    Rozhodne je mi sympaticky ten pristup splasknuti ega (jsem vic nez instalater) ale obecne, nikdo mi nenamluvi ze se to bude moci kdy skutecne vecne stotoznovat s klasickym remeslem.

    Proste IS systemy jsou neskutecne komplikovane (a ted mluvimd o IS sytemech na kterych jede wall street, letecky prumysl, banky), na jejich vyvoj, udrzbu, zmeny, upravy jsou potreba zatracene schopny lidi, casto vykazujici schopnost hledat reseni problemu hodne neotrelou cestou.

    Takovych lidi zase tolik neni (coz bohuzel potom muze vest k tomu nabubrelemu egu, bohuzel.

    1. titanik

      Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

      „jen vezme hasak“ tak se prosim o napodobeni teto cinnosti NIKDY nepokousej!!

    2. jehovista

      Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

      „Proste IS systemy jsou neskutecne komplikovane (a ted mluvimd o IS sytemech na kterych jede wall street, letecky prumysl, banky), na jejich vyvoj, udrzbu, zmeny, upravy jsou potreba zatracene schopny lidi, casto vykazujici schopnost hledat reseni problemu hodne neotrelou cestou.“

      Tak tohle me rozsekalo:) Az budes na nejakem podobnem critical systemu delat, tak se ti asi zborti svet. Schopnost programatora podle me moc nekoreluje s tim na jak „dulezitem“ systemu dela.

      1. flv

        Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

        Ehm, ja prave na podobnych systemech delam, to co jsem vyjmenoval.

        Asi takhle, kolem se motaji i neschopny lidi, ale ti moc velkou vahu nemaji a postupem casu se vetsinou i samy vyselektuji (tedy pokud se nejedna o nejakeho hodne social skill cloveka).

        Sorry ale tohle je moje zkusenost, vim ze lidi casto nadavaji jak moc neschopny clovek vede to nebo to, ano, zazil jsem, ale vic prevladali lidi co se hodily.

        Co se tyce programovani, mel jsem schopne a mel jsem neschopne kolegy, ti schopni byli vzdy ti na kterych zalazi. Kdyz je pruser a banka ma dole dulezitou cast jeji infrastruktry diky chybe v dodanem IS tak budete zatracene rad za nekoho kdo to bude umet rychle vyresit.

        To je konec koncu jeden z duvodu proc delam to co delam, vetsinou je to opravdu o tom co umite, nastesti (samozrejme vyjimky se najdou ale projekt s neschopnyma progr. se odepise sam).

        1. l.

          Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

          „Kdyz je pruser a banka ma dole dulezitou cast jeji infrastruktry diky chybe v dodanem IS tak budete zatracene rad za nekoho kdo to bude umet rychle vyresit.“

          typicky se to ma tak, ze IS je zavisle na infrastrukture a nikoli opacne.

          1. flv

            Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

            Jiste, tedy pokud pod IS neni myslen system ktery zajistuje beh ostatnich IS systemu v bance, coz je to co mam na mysli v mem pripade. Omlouvam se ale nechci byt konkretnejsi o jaky system se presne jedna (ne, neni to zadny VMWare apodb, je to opravdu IS ktery „ridi“ ostatni IS).

            Ovsem normalne to byva tak jak jste uvedl.

        2. jehovista

          Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

          Vsak ja na podobnych systemech taky delam(nefinancni, ovsem blize upresnovat nebudu, protoze pak by se ma anonymita smrskla tak na pet lidi) a nemam pocit, ze by se jednalo o nejake programatorske perly. Akorat se leje hromada(nekolikrat vic, nez do samotneho vyvoje) penez do testovani, procesnich dokumentu a podobnych serepeticek. Hackeri a enthusiasti se(imho) pohybuji v uplne jinych oblastech.
          P.S. Jedna se o muj omezeny nazor a muzu se plest, do krve se hadat nebudu.

    3. Sten

      Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

      Ale vždyť ten instalatér na tom není moc odlišně. Když se na stropu objeví mokrá skvrna, protože někde protékají trubky, nemůže rozmlátit celé patro (nebo rovnou několik, klidně to může téct ve stěnách i ze střechy), aby našel, kde to protéká. Stejně tak nemůže fungující systém (domovní vodovod) odpojit na moc dlouho, protože se používá. Musí přijít na způsob, jak najít, kde to teče (a to je stejně jako u software 9 dílů rutiny a 1 díl improvizace podle aktuální situace), a přitom to udělat rychle a měl by při tom rozkopat co nejméně podlah (samozřejmě, i když jich rozkope hodně a bude mu to trvat dva týdny, zaplatí to zadavatel, u software je tohle stejné, ale dobrý instalatér to neudělá, protože jinak by to byla jeho poslední zakázka). U tohoto přirovnání mají navíc ajťáci jednu velkou výhodu: hodně problémů v IT lze dočasně řešit redundancí, čímž se prodlužuje čas na nalezení a odstranění problému. Zato vodovod bývá v domě jeden.

      1. Sten

        Re: nerekl bych ze prohramovani se da prirovna i instalaterstvi

        Jinak co se týče těch critical systémů: teď v nich dělám taky, ale předchozích šest let jsem dělal v systémech s menší náročností. Ty jsou hodně podobné tomu vodovodu a jsou taky mnohem mnohem častější (a článek se IMO týká hlavně jich). Critical systémů moc není a tam se samozřejmě uplatňují jiné metody. Stejně tak opravu vodovodního řádu zásobujícího celé město nedělá instalatér.

  16. maio

    Zmateni

    Uvest Software Craftsmanship (Manifesto) tady tim clankem bez predchoziho predstaveni mi prijde jemne receno nevhodne. O to vic, ze tam neni zadna zminka o tom jak na ten kontroverzni blog zareagovali lide, kteri iniciovali vznik toho manifestu/hnuti.

    Kazdopadne me prijemne prekvapili reakce v komentarich. Budu doufat, ze jednou zvnikne SC grupa i tady v CR.

    PS: s prekladem „umelecke remeslo“ nesouhlasim. Osobne bych slovem craftsman nazval kazdeho, kdo ma ve svem oboru urcitou miru dovednosti. A muze to byt klidne instalater, chirurg nebo vyvojar.

  17. Biktop

    Jsou lidé, kteří to zase vidí jinak

    Například se zde píše o tom, jaký je programování rozdíl oproti lékařství. Okamžitě jsem si vzpomněl na knihu The Mythical Man Month od Freda Brookse, který tvrdí naprostý opak – píše, že k projektu by se mělo přistupovat stejně, jako lékař přistupuje k operaci: jeden ji vede, druhý mu asistuje a kolem sebe mají tým lidí, kteří vědí, co mají dělat, co kdy podat, ale v principu je tam celý ten tým „pouze“ k ruce operatérovi. Přičemž než se člověk dostane na posici toho operatéra, měl by si nejdřív projít tím ostatním, aby získal představu, co která etapa obnáší; navíc by měl mít operatér volnou ruku při výběru toho týmu k sobě, protože to bude on, kdo bude v důsledku zodpovědný za zdar celé operace.
    Jen dodávám, že Fred Brooks se podílel na vývoji operačního systému Multics v 60. letech a knihu napsal na základě svých celoživotních zkušeností s takovýmto typem projektů.
    Řekl bych, že i po 40 letech je to velmi trefná analogie, jejíž implementace do praxe se stále neprosazuje – spíše ovšem kvůli tomu, že u spousty lidí by se ukázalo, že na svou stávající pozici ve skutečnosti nemají schopnosti.

    1. phr

      Re: Jsou lidé, kteří to zase vidí jinak

      No jo, ale kdo je v tomto případě ten operatér ? Vedoucí projektu ? Vedoucí analytik ? Investor ? Programátor ? Mám dojem, že programátor to tady rozhodně není, ten jenom sedí a „buší“ kód.

      1. Biktop

        Re: Jsou lidé, kteří to zase vidí jinak

        No v současné praxi právě nikdo. Brooks navrhuje opustit ten zažitý model „vedoucí projektu, analytik, programátor“.

    2. ferren

      Re: Jsou lidé, kteří to zase vidí jinak

      obavam se ze v IT to je presne naopak. operuje novacek a seniori kolem ho dozoruji ;-) aby se clovek dostal na pozici prisediciho,musi si to vetsinou napred oddrit na place

  18. Aminux

    Připadá mi, že článek si protiřečí.

    Připadá mi, že článek si protiřečí.
    Na jedné straně píše
    „například právníci musí studovat a pak získávat praxi, stejně jako lékaři začínají po škole jako „doktorská embrya“ a náročnou praxí „od píky“ se propracovávají k atestacím…“

    A v zápětí píše
    „Pokud chcete být programátorem, nic takového nepotřebujete.“
    „někdo se naučí programovat z knih, “ – a to jako nejni studium? I ti právníci i lékaři studují z knih.
    A dále
    „další se propracovávají metodou pokus-omyl k funkčnímu výsledku“ – jestli tohle nejni praxe, tak už vážně nevím co. Takovéto protiřečení se jen tak nevidí.

    Pravda je, že lékař to má těžší, omyl může být smrtelný. Na druhou stranu špatně fungující program může ohrozit mnohem víc životů než jeden lékař. Vemte si, co všechno závisí na počítačích – letadla, elektrárny i ty přístroje v nemocnicích které pomáhaji lékařům.

    Je taky pravdou, že programátor nemusí mít vejšku. Stačí když prokáže schopnosti. Ale učit se musí taky a praxi mít musí taky a ne jak se píše v článku, že nic takového nepotřebuje.

    1. Aminux

      Re: Připadá mi, že článek si protiřečí.

      No a vymýšlet nějaké složité algoritmy taky nejni pro blbce. Tohle lékaři dělat nemusí. Většinou. Mají dané postupy co jak léčit, jak oživovat atd. Tím nijak nechci snižovat náročnost lékařské profese. Jen chci říct, že každá profese má svoje pro a proti.

      1. Aminux

        Re: Připadá mi, že článek si protiřečí.

        „Softwarový řemeslník by měl být bez ega, pokorný, zaměřený na výsledek, ne na samotný kód či na proces.“
        A co udržovatelnost a rozšiřitelnost takového kódu?

  19. Ivan Nový

    Volný trh je lepší než cechovní systém,

    vede k rychlejší produkci inovací a lepší adaptaci na změny. Mistr může mít své učedníky, ale ne tak, aby z toho vznikla nějaká komora programátorů.

  20. bpbp

    Jestli programátor je zedník, tak User Experience "člověk" je architekt.

    Zde výslovně vyjímám lidi od User Experience. Ti se pohybují ve světě estetiky a chápání lidí. Oni ve skutečnosti, když použiju zednickou terminologii, pracují na fasádě domu, na tom, co lidé nakonec uvidí.

    Jasně, to srovnání User Experience a práce na fasádě je spisovatelská zkratka.
    Ale kulhá to – jestli programátor je zedník, tak User Experience „člověk“ je spíš architekt celé stavby.
    User Experience vklad je (krom vzhledu) spojený hlavně se samotnými funkcemi – toho jak a kde jsou nabízeny a nad jak strukturovanými daty (informační architektura) uživatelé pracují a spolupracují.

    Chápu kam článek míří a souhlasím. Jen je dle mého názoru třeba zdůraznit, že se nevzdáváme svobody kreativně řešit problémy. Jsme lidi, ne stroje.
    Ale jen ty problémy jenž softwarovému řemeslu přísluší.

  21. to je jedno

    divali ste se na sebe, vy mistri sveta?

    ty komenty tady jsou masakr. v clanku pisou o prebujelem egu a o nadenicich. dve tretiny komentaru tady pak sou presne ty potrefeny husy. programatori, pani tvorstva, pohrdaji „zvanilama v kvadrech“, „manazerama“, „obchodnikama“ a dalsima neinzinyrama. hold mentalita delnasu z kolbenky, fakt ze jo. ty sou taky presvedceny, ze by mohli od minuty ridit fabriku, dopravu, delat soudce nebo aspon piskat fotbal. klepete se tu akorat po ramenech jak ste dobry a nedoceneny. kdekdo pise jak dela bankovni a kriticke aplikace a mysli si, ze tim je programatorska extraliga. osobne delam bankovni aplikace taky, takze se tomu jen smeju. kdo z vas, co si tu trepite hubu kritickejma aplikacema, je opravdu navrhuje, analyzuje nebo testuje, co? vy ste totiz nejspis presne stejny nadenici jako ja, co si jich firma najme sto zamenitelnych. rek bych, ze sedite na prdelich a pisete denne sto radku objektoveho kodu, co vam nekdo predepsal. koho tim chcete ohromit? a jestli ne, tak prove it or it didn’t happen! kecy o tom, ze by vas nekdo poznal vykladejte holubum, sorry.

  22. Michal Vallo

    Manifest Řemeslného Programování a Motivace

    Trochu zložitý článok o dôležitej veci. Konečne sa niekto začína zaoberať aj kvalitou programátorov.

    Manifest je zaujímavý. Je to identický koncept ako Manifesto for Agile Software Development (http://www.agilemanifesto.org). Škoda, že sa vymedzuje voči Agilnému manifestu. Skôr by som očakával z podstaty veci, že sa bude vymedzovať voči nekvalitnej práci vývojárov, nízkej až žiadnej vzdelanostnej úrovni a minimálnym zručnostiam. Takto je to paľba na nesprávny cieľ.

    Myslím, že je dobré rozprúdiť diskusiu na toto téma. Vývojár sa dá plne zrovnávať s umeleckým remeselníkom. Okrem remesla musí mať zvládnuté aj dosť veľa vecí okolo, aby jeho práca neskončila „měď-driven instalatérštinou“. Hodnota pre zákazníka je v komplexnej znalosti. Tú získa časom, prácou na projektoch, osobnou angažovanosťou, … ale s aspoň desiatimi rokmi by počítať mal.

    Otázkou zostáva ako organizovať učňov a majstrov. Podľa môjho názoru majstrov by mali mať firmy, ktoré mladých „učňov“ naberajú, pracujú s nimi a rozvíjajú. Dobrá firma sa pozná podľa toho, že v podstate učňovský systém v organizácii svojich vývojových oddelení implementovaný má. Potom sa dá rozhodnúť, kam nastúpiť, ak sa niekto chce stať profesionál. Na druhú stranu asi je zrejmé, že freelancer stredoškolák (a bez disciplíny)ťažko túto pro úroveň niekedy dosiahne.

    Horšie je to s motiváciou. Odmena za prácu vývojára je na trhu takmer identická pre totálneho amatéra ako aj profesionála. Dokonca amatér v korporácii zarobí viac než profesionál v strednej firme. Kvalitu musí rozlišovať zákazník. A ako dosiahnuť, aby sa zákazník o kvalitu zaujímal, netuším.

    1. backup

      Re: Manifest Řemeslného Programování a Motivace

      […] Vývojár sa dá plne zrovnávať s umeleckým remeselníkom. […]

      Tato veta neni uplna. Spravne zni:

      Sice pro to nemam nejmensi dukazy, ale neco mi tak intuitivne naseptava, ze by bylo mozno rici, ze …Vývojár sa dá plne zrovnávať s umeleckým remeselníkom. …
      Teda abych to jeste upresnil, mluvil jsem o tom s Karlem v hospode, a ten je taky toho nazoru.

    2. Ondra

      Re: Manifest Řemeslného Programování a Motivace

      Houby, ten manifest není zajímavý, je to bezduchý blábol toho typu, jaký si vyvěšují některé firmy v kancelářích (a samozřejmě velkým písmem na recepci, aby každý viděl, jak jsme úžasní) jako svůj „kodex“ nebo „krédo“. Všechny tyhle kecy mají jedno společné – nikomu nevadí, většina s nimi dokonce i víceméně souhlasí, ale málokdo se jimi cíleně řídí, protože většinou řeší podstatnější věci. Právě ve srovnání s hodnotou Agilního manifestu, který přímo dává návod, jak vyvíjet efektivně, mi tenhle výplod připadá velmi ubohý a jalový.

      1. Aleš Roubíček

        Re: Manifest Řemeslného Programování a Motivace

        Můžete mi v agilním manifestu ukázat ten návod prosím?

        Tady je Agilní manifest:

        We are uncovering better ways of developing
        software by doing it and helping others do it.
        Through this work we have come to value:
        
        Individuals and interactions over processes and tools
        Working software over comprehensive documentation
        Customer collaboration over contract negotiation
        Responding to change over following a plan
        
        That is, while there is value in the items on
        the right, we value the items on the left more. 

        a tady Software Craftmanship manifest:

        As aspiring Software Craftsmen we are raising
        the bar of professional software development
        by practicing it and helping others learn the craft.
        Through this work we have come to value:
        
        Not only working software,
           but also well-crafted software
        Not only responding to change,
           but also steadily adding value
        Not only individuals and interactions,
           but also a community of professionals
        Not only customer collaboration,
           but also productive partnerships
        
        That is, in pursuit of the items on the left we have
        found the items on the right to be indispensable. 

        Já tam vidím pouze zvýšení **laťky výš**.

        1. Ondra

          Re: Manifest Řemeslného Programování a Motivace

          Pardon, jste si jistý, že tomu Agilnímu manifestu rozumíte? Říká se v něm explicitně, jaký způsob přístupu jeho autoři považují za podstatný ve srovnání s jinými způsoby. Všechny ty body jsou přímo a jasně aplikovatelné v praxi (a v tomto smyslu tedy fungují jako návod). Např. ten první bod říká (aplikováno na jednoduchý praktický případ), že je lepší, když si lidi sednou dohromady a průběžně spolu mluví o tom, co a jak je potřeba udělat, než aby si donekonečna přehazovali tickety v nějakém workflow systému. V Agilním manifestu se nemluví o pozvednutí nějaké nehmatatelné úrovně, ale o tom, jak zefektivnit vývoj změnou přístupu k němu.

          SW Craftmanship Manifest naopak nic takového nepřináší, protože ty výrazy na pravé straně jsou prostě významově jalové – ta úroveň, na kterou chtějí v tomhle manifestu „pozvednout laťku“, je imaginární, prakticky neměřitelná a každý si ji může vyložit nějak jinak. Navíc ho jeho autoři dokonce v té poslední větě sami shazují. Podle nich „pro dosažení levé strany je NEZBYTNÁ pravá strana“ – pak ovšem ta pravá strana nepřináší vůbec žádnou hodnotu, protože pro její splnění stačí, aby byla splněna levá (pokud by to tak nebylo, pak není pravá strana pro levou nezbytná). Když tihle „SW craftsmeni“ zřejmě nezvládají ani základy výrokové logiky, tak si o nich stěží můžu myslet, že za něco stojí…

          1. Aleš Roubíček

            Re: Manifest Řemeslného Programování a Motivace

            Stejně stále v „hodnotách“ nevidím žádný návod. V jednom manifestu čtete mezi řádky a v druhém ani ty řádky… Zajímavý přístup.

    3. Aleš Roubíček

      Re: Manifest Řemeslného Programování a Motivace

      Jenže Software craftmanship manifesto se nevymezuje vůči Agile Manifesto. Obě tyto manifesta inicioval Robert Martin, každé v jiné době. SCM se snaží vrátit k původnímu ducho Agile (XP), které zahrnovalo jak PM tak technickou stránku věci. Ale Agile se postupem času zvrhlo k certifikací scrum masterů a v mašinerii sprintů se zapomnělo i na technickou stránku věci. Že čistý kód nám umožňuje udržet výkon ve sprintech, že TDD umožňuje snížit počet defektů, že pair-programming zlepšuje design a pomáhá šířit znalosti, že vývojář by měl trénovat a vzdělávat se, aby dosahoval skvělých výkonů apod.

      1. Michal Vallo

        Re: Manifest Řemeslného Programování a Motivace

        Nakopíroval ste to tam – Craftsmanship Manifesto – na pravej strane je všetko to, čo Agilné manifesto a jeho princípy obsahujú, nie je tam nič nové alebo odlišné. Preto si myslím, že je to také vymedzenie sa. Napriek tomu sa domnievam, že zámer bol dobrý, a to je kritizovať alebo odlíšiť sa od priemernej a veľmi nízkej úrovne znalostí a skúseností bežných programátorov. Forma podľa mňa nie je dobrá.

        Agilné manifesto je z časti zamerané na vývojárov, z časti na management. Na jeho aktuálnosti sa rokmi nič nezmenilo. Aby bolo správne pochopené, vyžaduje zaškolenie. Asi najlepší tím školiteľov má Scrum Alliance a ich certifikačný program, preto možno oprávnený tlak na certifikáciu. Píšem o tom v článku tu: http://www.agilia.cz/2011/06/potrebujeme-certifikovany-vodicsky.html V porovnaní s „vodopádovými“ a byrokratickými metodikami je týchto ľudí stále príliš málo. Preto sa Vám možno zdá, že sa Agile zvrhol na certifikáciu a sprinty. Z môjho pohľadu zatiaľ stále chýba schopnosť a záujem riešiť problémy holisticky. Vývojári sa snažia naskočiť na proces, pretože je to nateraz cool, management chce ostať bokom, pretože sleduje svoju vlastnú agendu, zákazník svoju nízku kompetenciu kompenzuje dodávkou softéru a procesu a presunutím rizika na dodávateľa. Nikto ale nechce spolupracovať, a na kvalitnú prácu potom nezostáva čas ale hlavne ju ani nikto nepožaduje. A tak je dobré a záslužné, že niekto ďalší začína hovoriť aj o potrebe tej kvality – ktorá nás oslobodí od množstva času nad opravami starých chýb a umožní venovať sa novým veciam. Agile je o kvalite, o znalostiach, o spolupráci a o komunikácii, bez toho to nejde.

        1. Aleš Roubíček

          Re: Manifest Řemeslného Programování a Motivace

          „Nejen, ale i…“ přece není vymezování. A ještě jednou zopakuji, že vznik obou manifestů inicioval jeden a ten samý člověk. Takže to není „někdo další.“ ;)

          Ad druhý odstavec. To ale není jen můj pocit. Pokud sleduje dění okolo desátého výročí Agilního manifestu, nebo vlnu Kanbanu a Lean development, tak jistě víte, že Scrum prostě selhává nebo lépe stává se z něj nový vodopád (vč. certifikací a birokratizace). SCM je pouze jednou z mnoha reakcí na tento stav.

          1. Michal Vallo

            Re: Manifest Řemeslného Programování a Motivace

            Nuž, ja tam nevidím nič čo by už v Agilnom Manifeste nebolo obsiahnuté. Preto mi uniká pridaná hodnota :)

            Agilných techník je pomerne veľa. Scrum je iba jednou z nich. Kanban je veľmi stará technika. Avšak aj dosť riziková. Myslím, že jej nesprávne nasadenie je ako položiť bombu. Naproti tomu LEAN je síce tiež stará technika, ale zaoberá sa organizáciou procesu vývoja a jeho optimalizáciou. Nepochádza z IT a trvalo pár desaťročí, kým si v IT všimli, že by to k niečomu mohlo byť. Teraz je také druhé uvedomenie, prvé bolo asi pred 10 rokmi. Ak Vás LEAN zaujíma, prídite na túto akciu a môžete tento názor prediskutovať priamo s Guru: http://www.aguarra.cz/Agilni-Snidane-LEAN-Mary-Poppendieck.html Zaujímalo by ma, čo povie.

            SCRUM selhává? To ste ma dostal :) Za posledných 5 rokov som nevidel ani jeden projekt, kde by Scrum selhal. Ani som o takom nepočul. Videl som ale niekoľko projektov, kde „selhali“ ľudia, ktorí sa ho pokúšali implementovať bez potrebnej znalosti. Scrum je na implementáciu náročný, pretože po ľuďoch vyžaduje aktivitu. A hlavne je to manažérska technika, na to sa často zabúda :) Certifikácia je spôsob, ako prekonať problém chybnej implementácie. Agilné techniky nemajú zásadnú byrokratickú zložku. Teda, pokiaľ to nechcete naimplementovať na ISO ale ani tak to nie je taká vražda ako Prince II alebo iný vodopád. Pozývam Vás na ukážku implementácie Scrumu, môžeme tam o tom pohovoriť: http://www.scrumalliance.org/events/388-agilia-in-prague

            1. Aleš Roubíček

              Re: Manifest Řemeslného Programování a Motivace

              Nikde jsem nepsal, že Kanban nebo LEAN jsou něco nového. :)

              Certifikace neřeší vůbec nic. Certifikát dostane každý, kdo si za něj zaplatí.

              1. Michal Vallo

                Re: Manifest Řemeslného Programování a Motivace

                V tom sa mýlite. Trochu odbočím, také zrovnanie: Vodičský preukaz tiež dostane každý kto si zaplatí. To však neznižuje jeho potrebnosť pre bezpečnosť cestnej premávky.

                1. jehovista

                  Re: Manifest Řemeslného Programování a Motivace

                  Smysl ridicaku je jenom v tom, aby bylo co sebrat, kdyz dojde k pruseru.

  23. Washington Irving

    Lide a doba

    Byl to maly clovek, ktery delal velke veci. Byl to spisovatel, architekt, ucitel nebo malir pokoju. Mel svou praci rad, premyslel o ni a venoval se ji. Byl v ni dobry, ale sam si toho nebyl prilis vedom.

    proti nemu stal

    Kreativni umelec, jez pohrdaje konkurenci povazuje sve dilo za bozke ztelesneni toho co je hodno oznaceni rajska zahrada. Jinym se vysmiva a sam se nad ne stavi.

    Mate dva poly a ke kteremu se priklonite?

    PS : Mozna, ze bych si dovolil pridat stred, jez schramstne obrovske mnozstvi lidi. Pojmenoval bych jej ponekud proste a vymluvne „lenoch“.

    1. Nox

      Re: Lide a doba

      Další ukázka jak lze slušnou myšlenku zabít podáním.

      Máte pravdu že skromnost a neprůbojnost nejsou zrovna ikonami dnešní doby…nebo alespoň se to tak s oblibou říká

      Ale názor že kreativní umělec je vždy bezpochyby i arogantní namyšlenec je sám o sobě arogantní a nenávistný a v podstatě poplivává i spoustu skromných a oddaných lidí

      Následná řečnická otázka na takto účelově postavené možnosti už pak ani nejde komentovat.

      No nic…

      P.S.: střed mezi pokorou a namyšleností je lenost?

      1. Martin MalýAutor příspěvku

        Re: Lide a doba

        Myslím, že tam je trošku stylistická chyba, že autor původního komentáře chtěl dát „kreativního umělce“ do uvozovek. Pokora je vlastnost všech kvalitních tvůrců, ať tvoří knihu nebo židli. A pak máte taky spoustu namyšlených ocásků, co si na vizitku napíšou „… kreativní ředitel …“ a jejich nejkreativnějším výkonem jsou výmluvy. Určitě jsme každý pár takových „odborníků v uvozovkách“ viděli – různí nedouci se sebevědomím, „fachidioti“ přesvědčení o své naprosté odborné nadřazenosti, „nedocenění správci sítí“ (model Roy a Moss) atd.

  24. ctverec

    Programování

    Asi můj pohled bude ve shodě s nemálo příspěvky zde. Titulek článku mě zaujal. Po přečtení několika odstavců jsem došel k závěru, že autora téma poněkud přesahuje a že ho asi nedočtu celý. Ale ten titulek je velmi dobrý. Jsem programátor a svou práci definuju jako řemeslo. A ke kovářství nemá daleko. Jsem přesvědčen, že když se začínám seznamovat se zadáním a vstupuji do procesu jeho řešení, prožívám přesně totéž, co prožívá kovář, který v ruce potěžkává kus železa a v duchu si promítá tvar, ke kterému ho chce změnit. A propos, asi největší knock-out si autor z mého pohledu uštědřil, když pohaněl Microsoft. Vždyť Microsoft přinesl C#. A to je kus dobré práce.

  25. j3nda

    docetl jsem

    docetl jsem. pekny clanek.
    a pokud autor docte diskuzi az sem. prosim, aby udelal z diskuze nejaky vycuc/vytah a zverejnil to jako 2. dil k tomuto tematu – diky! – usetri mi to cas (a imho: nejen me).

    j3.

    1. Nox

      Re: docetl jsem

      Autorem je Dan North, tento článek je překladem, tudíž si v komentářích příliš nepočte

      1. Martin MalýAutor příspěvku

        Re: docetl jsem

        Ony se ty komentáře moc neliší od těch, co mu lidé napsali u originálu. Ty si přečetl, shrnul a napsal druhý díl. Takže to zas takový problém nebude :)

  26. ctverec

    Programování II

    Tak jsem to také dočetl :). Musím poopravit své předchozí stanovisko. Ten článek je vyjádřením upřímného postoje. Docela se mi líbí například odstavec, který začíná: „Nazývat programování …“. Ale autor se možná moc soustředí na to, že existuje mnoho méně dobrých programátorů, kteří se připojují pod nějaký manifest. To samo přece neubere na pravdivosti toho, že existují i dobří programátoři. Není to podobné v každé oblasti, že je více povolaných než vyvolených?

  27. Rasto 33r.

    Suhlasím s článkom

    Dobrý programátor je zároveň užívateľ programu, alebo má rád užívateľov a komunikuje s nimi. Potom programuje tak aby bola aplikácia rýchla, funkčná, bezchybná a príjemne sa ovládala. Nevytvára len aplikácie ale aj dobrý pocit z používania týchto aplikácií. Môže to byť aj tím programátorov, analytikov a testerov ale musia byť zohraní a nesmú si zatajovať informácie. Bohužiaľ v dnešnej dobe nevytvárajú firmy aplikácie pre užívateľov ale akési „projekty“ pre manažérov ktorí ich predávajú ako mačku vo vreci nič netušiacim obetiam.

  28. Všehomír

    Udržiavateľnosť

    Podnetný článok na zamyslenie. Podľa mňa, keď programátori hovoria o pekných riešeniach – čo bolo pravdepodobne podnetom na napísanie tohto článku – myslia tým najmä udržiavateľný kód. Je to jednoduchšie a účinnejšie pri učení iných odvolávať sa na abstraktnú „krásu“ ako vždy vysvetľovať a vymenovávať dôvody prečo práve takto je to lepšie. To je všetko. Na zamyslenie podnetné, ale možno príliš „slovíčkarske“.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3526