• Kódující architekt

    Napsal jsem a přeložil několik článků o stárnutí programátorů a změně jejich pozice. Završím to pohledem na kódujícího archi­tekta. Zatímco v článku Technický lídr si zoufám, že jednou z nejtěžších voleb technické hvězdy, ze které se stává lídr, je ztráta kontaktu s nejnovější technologií, tak kniha Software Archi­tec­ture for Develo­pers (Simon Brown) mi dává určitou naději. Podle autora je softwa­rový archi­tekt technická kariéra.

  • Aby test neselhal na první­ assert (JUnit 5)

    Už jsem psal o tom, jak v JUnit 4 dosáh­nout toho, aby test neselhal na první assert. JUnit 5 již dosáhl miles­tone 2 (podrob­nosti v článku JUnit 5 State Of The Union), tak je potřeba se podívat, jak s novou verzí API dosáh­nout téhož.

    Jsem zastáncem toho, aby jednot­livé testy byly co nejkratší a samozřejmě na sobě nezávislé. Raději napíšu deset testo­vacích metod s jedním asser­tem, než jednu metodu s deseti asserty. Výhodu spatřuji v tom, že při jediném běhu testu vidíte na jediný pohled všechny vadné případy. A ne že opravíte první assert, spustíte test a padne vám hned druhý assert v pořadí.

    Jiné je to v případě integ­rač­ních testů, například Selenium (WebD­ri­ver). Samotná příprava dat je náročná, takže je vhodné asserty sdružovat do větších celků. Ale jak z jediného běhu získat co nejvíce infor­mací, aniž byste museli test znovu a znovu opakovat?

  • Bus faktor v praxi

    Bus faktor je číslo, které říká, kolik lidí by muselo odejít, aby to vážně ohrozilo projekt. Nejhorší číslo je 1. Z pohledu manažerů, by bylo skvělé, kdyby lidé byli snadno zaměni­telní jako součástky stroje. My si někdy můžeme nafou­kaně myslet, že jsme takřka nepostra­da­telní (i když jako manažer, bych se snažil takových lidí zbavit). Pravdou je, že každý je nahra­di­telný. Otázkou je, za jakou cenu.

    Slyšel jsem příběh, u kterého jsem osobně nebyl, ale byla by škoda ho neposlat dál. Nejspíš jde o urban legend, takže jakákoliv podob­nost s vaší firmou je čistě náhodná.

  • Nečitelný příběh Marie Navarové

    Případ Marie Navarové, poslední kniha Arnošta Lustiga, vznikla na základě článku PhDr. Ericha Rennera. Je to příběh hodný Shakes­peara, ale mistr ho psal asi jen tak na okraj. Ostatně to v rozhovoru, jakkoliv žertovně, přiznává (vzal zálohu a neměl, co psát). Chtěl jsem si tedy přečíst původní článek (Neči­telný příběh Marie Navarové), který byl knize předlo­hou. Bohužel vyšel pouze v regionálním tisku. S laskavým svolením autora jsem text převedl do elekt­ro­nické podoby a tímto posky­tuji ve formátech pdf, ePub i mobi. Poděkování patří rovněž Martinu Javorkovi, který po mně sazbu četl.

  • Zpráva o stavu IT trhu

    Po třech letech jsem se rozhodl změnit práci. Oběhal jsem pár firem, máte-li zájem, tak se na násle­dujících řádcích podělím o své zkuše­nosti a podám zprávu o stavu IT trhu. Líčení je to značně subjek­tivní, zúžené na svět Javy, ale dost možná platí i pro vás.

  • Refaktorování nepatří do backlogu

    Z některého kódu se mi dělá fyzicky nevolno a mám chuť ho od začátku přepsat, což by se rozhodně dělat nemělo. Další nápad je, přidat refak­to­rování do backlogu, ale tam nepatří. Ron Jeffries to vysvět­luje v článku Refac­toring – Not on the backlog! Článek jsem s laskavým svolením autora přeložil do češtiny.

    30. července 2014

    V nedávné době se objevilo hodně otázek na konfe­ren­cích a v e-mai­lových diskusích ohledně toho, zda dávat refak­to­ro­vací story do backlogu. I kdyby technický dluh vyrostl, tak to nic nemění na tom, že je to hrozná myšlenka. Vysvět­lení proč:

    Na začátku projektu je kód čistý. Pole je posekané, život krásný a svět náš. Všechno půjde hladce.

  • Mockování a úskalí času v Javě 8

    Adaptace nových verzí Javy jde pomalu. Dodnes vídám, že programátoři neumí či nechtějí používat multi catch, try-with-resources a diamond operátor. Jak chtít složitější posun, který přináší Java 8?

    Ovšem sám nejsem bez viny. Java 8 už je tu víc jak dva roky. Při jejím uvedení jsem psal, jak obstojí v Akumulátor testu, ale na projek­tech ji naplno nevyužíváme. Rozhodl jsem se to napravit tím, že začnu používat java.time.* místo java.util.Date. Jednak kvůli API a taky proto, že jsou nové třídy immutable. Chtěl bych se podělit o to, jak jsem se při tom nachytal.

  • Clean Code

    Jeden z mých nejús­pěšnějších tweetů a přitom taková blbost. Takže asi stojí za rozepsání. Mám totiž za to, že existuje korelace mezi pořád­ku­mi­lov­ností a čistým kódem.

    Občas vídám kód, z kterého je mi fyzicky nevolno. Ale člověk nějak musí zjistit, co je špatné. Abych citoval Ilust­ro­vanou knihu argumen­tač­ních faulů:

    Číst o věcech, které bychom neměli dělat, je často užitečná a poučná zkuše­nost. Ve své knize O psaní píše Stephen King: „Nejlépe se člověk naučí, čeho se vyvaro­vat, při čtení špatné prózy.” Popisuje svou zkuše­nost se čtením obzvlášť špatného románu jako „literární ekviva­lent očkování proti nešto­vicím” [King]. Matematik George Pólya bývá citován, jak ve své přednášce o výuce matema­tiky prohlásil, že člověk musí nejen téma dobře chápat, ale také musí vědět, jak lze téma chápat špatně [Pólya].

    Na pomoc si vezmu knihu Clean Code (Robert C. Martin) a doplním o pár svých postřehů. Měl jsem si ji přečíst na začátku své kariéry, ale na druhou stranu po deseti letech praxe ji dokážu o to víc ocenit. Je smutné, že principy v ní popiso­vané jsou často opomíjené.

  • Jak jsem trénoval na maraton

    Uběhl jsem maraton. Hodně lidí uběhne maraton rychleji, spousta pomaleji a úplně nejvíc jich ho neuběhne vůbec. Je to, alespoň pro mě, především závod sám se sebou a můžu říct, že ten jsem vyhrál. Jestli vás baví běhání a nebo chcete sami maraton uběhnout, sepsal jsem pár poznámek o tréninku a samotném závodu, které by vás mohly zajímat.

  • Programátorem po čtyřicítce

    Nedávno jsem se zamýšlel na svou třicítkou a nad tím, jak naložím s násle­dujícími deseti lety. Narazil jsem na článek Being A Deloper After 40. Neodolal jsem tedy pokušení a (s laskavým svolením autora) jsem ho přeložil do češtiny. Při překladu na mě dýchla nostal­gie, jelikož dost věcí z toho pamatuju. Sice jsem byl v době, kdy autor nastu­poval do práce, ještě dítě školou povinné, ale stejně. Navíc mi přijde, že se v mnoha věcech shodne s článkem Úvod do profese.

    (Jde o přednášku z App Builders ve Švýcarsku ze dne 25. dubna 2016. Slidy jsou k dispo­zici na SpeakerDeck a na konci článku.)

    Ahoj všichni, je mi 42 let, jsem programátor samouk a tohle je můj příběh.

    Před několika týdny jsem narazil na tento tweet, který mě přinutil přemýšlet o mé kariéře a tyto myšlenky mě přivedly zpět do doby, kdy to pro mě všechno začalo.

    Začal jsem kariéru jako softwa­rový vývojář v pondělí 6. října 1997 přesně v deset hodin dopoledne, někde ve městě Olivos, na sever od Buenos Aires, v Argentině. Ten moment byla Unixová epocha 876142800. Nedávno jsem oslavil své 24. narozeniny.

subscribe via RSS