11 Inspirativních knih, které by si každý vývojář měl přečíst

Často o Techloop říkáme, že je „vyvinutý vývojáři, pro vývojáře“ - vývojářů je totiž plný, ať už bývalých, současných či občasných. Proto jsme se rozhodli z nich všech vytáhnout, jaké IT knížky je nejvíc obohatily, a podělit se o náš Techloop ‚must-read‘ seznam s vývojářskou komunitou. Tady je. :)

Dej nám vědět, jestli s výběrem souhlasíš, nebo jsme na nějakou knihu zapomněli a zda jsme tě inspirovali vyrazit na knižní nákupy!

Tip: Velká část z nich vyšla i v češtině, takže pokud si s angličtinou netykáš natolik, aby se ti chtělo číst knížky v originále, jednoduše sáhni po jejich překladu (název české verze najdeš v závorkách ;) ).

books-education-school-literature-48020.jpeg

 

1. Working Effectively with Legacy Code (Údržba kódu převzatých programů) - Michael C. Feathers

Vývojáře, který se do práce s převzatým programem vrhá s nadšením, jsme ještě neviděli. Vybavujeme si spíš dlouhé litanie vulgarit a jednou dokonce klávesnici volně letící kanceláři. Její neortodoxní výlet byl ovšem rychle zakončen důvěrným seznámením se s naší zadní stěnou…

Bohužel, pracovat jen a pouze s vlastním kódem se poštěstí málokomu. Kromě hlubokého dýchání a antistresového balonku (či boxovacího pytle) je pro práci s ‚legacy code‘ skvělým pomocníkem tahle knížka. Michael Feathers v ní probírá strategie a techniky pro efektivní práci s převzatými programy a odpovídá na všechny otázky, které tě při práci s takovým softwarem mohou napadnout.

 

2. Code Complete (Dokonalý kód) - Steve McConnell

Velká část z nás považuje tuhle knihu za absolutní jedničku a v podstatě takovou ‚Bibli programování‘. Její autor, McConell, dokázal nacpat do jediného pragmatického spisu ty nejefektivnější vývojářské techniky a principy. Je úplně jedno jestli teprve začínáš nebo už si zkušený matador, pokud sáhneš po téhle knize, určitě nebudeš litovat.

Ale rozhodně doporučujeme koupit aktualizovanou verzi - přeci jen se hodí, když ukázky kódu odpovídají momentální vývojářské praxi.

P.S.: Navzdory naší chvále to není úplně spis na cesty - má totiž víc jak 900 stránek a to se celkem pronese.

 

3. The Mythical Man-Month - Fred Brooks

Tahle kniha je naprostá softwarová klasika a přestože poprvé vyšla už v 70. letech, i dneska má co nabídnout. Pokud se v IT aspoň trochu pohybuješ, určitě stojí za to si ji přečíst.

Ta část knížky, kterou považujeme za nejpřínosnější, je sekce o „plánech na vyhození prototypů“. To zní na první pohled trochu šíleně, ale v realitě je skoro pravidlem, že první verze programu, kterou vytvoříš, se musí buď úplně zahodit nebo aspoň radikálně přepracovat. Proto je důležité se na to adekvátně připravit - je pak mnohem snazší migrovat uživatele na verzi číslo 2 a mimo jiné ti to pomůže vytvořit mnohem realističtější časové plány vývoje.

 

4. Design Patterns (Návrh programů pomocí vzorů) - E. Gamma, J. Vlissides, R.h Johnson, & R. Helm

Jestli máš do budoucna v plánu stát se systémovým architektem nebo designérem, rozhodně si přihoď tuhle knihu na vršek svého seznamu „Knihy, které nutně musím přečíst“.

Návrh programů pomocí vzorů je vyzdvihována jako jedna z nejlepších knih o vývojařině. Jde do nejmenších detailů mnoha různých designových vzorů a pomůže ti tak předejít (anebo vyřešit) všechny možné problémy, na které při použití daného vzoru můžeš narazit.

 

5. Programming Pearls - Jon Bentley

Programming Pearls není klasická kniha, kde se dočteš o nových konceptech programování - místo toho tě naučí, jak celkově lépe řešit problémy. Což se ve vývojářské kariéře potkáš zatraceně hodí.

Na tuhle knížku nedáme dopustit - díky ní lépe rozumíme algoritmům a mnohem snáz se nám programuje.

pexels-photo-115001.jpeg

 

6. Refactoring (Refaktoring) - K. Beck & M. Fowler

Refaktoring od Martin Fowlera se zaměřuje na úpravy už napsaného kódu, tak, aby jeho vnější chování zůstalo stejné, ale jeho vnitřní struktura se zlepšila. Najdeš tady podrobný rozbor principů refaktoringu včetně tipů na rozpoznávání refaktoringových příležitostí a na přípravu potřebných testů.

Knížka sice používá jako svůj hlavní programovací jazyk Javu, ale obecné principy platí pro jakýkoliv OO jazyk.

 

7. Clean Code (Čistý kód) - Robert C. Martin

Nepřehledně napsaný kód může celému projektu pěkně zavařit, psaní ‚čistého‘ kódu je proto extra důležitá dovednost. Tahle knížka tě (nebo tvého kolegu, kvůli jehož kódu si neustále rveš vlasy) přesně tohle naučí. Provede tě nejenom základními principy ale obsahuje i spoustu praktických tipů a případových studiích, na kterých si nabyté znalosti můžeš hned vyzkoušet.

Tip: Čistý kód se vyplatí přečíst až potom, co se prokoušeš Code Complete, protože se věnuje některým tématům z této knihy, ale na pokročilejší úrovni.

 

8. Pragmatic Programmer (Programátor pragmatik) - A. Hunt & D. Thomas

Tohle je taky jeden ze starších titulů, ale ‚věk‘ mu na přínosnosti vůbec neubírá. Zabývá se totiž hlavně tím, jak prakticky přistupovat k vývoji komplexních systémů. A tyhle principy nikdy nevyjdou z módy.

Programátor pragmatik nás naučil spoustu užitečných triků, o kterých jsme na škole ani na žádných kurzech nikdy neslyšeli a přitom nám každý den zjednodušuje život. Takže za nás jednoznačně palec nahoru.

 

9. Coders at Work: Reflections on the Craft of Programming - Peter Seibel

Zajímají tě životní osudy úspěšných programátorů? Pak je tohle knížka něco pro tebe. Je totiž sestavená z 15ti rozhovorů s vývojáři jako jsou Joshua Bloch, Peter Norvig, Donald Knuth, Ken Thomson nebo Jamie Zawinski.

Její autor, Peter Seibel (původně programátor), od dotyčných vyzjistil první a poslední o slavných projektech, na kterých pracovali, o tom, co je motivuje, a jak přemýšlejí.

 

10. Soft Skills: The Software Developer’s Life Manual - John Z. Sonmez

Pro většinu vývojářů je kódování ta zábavná část. Průšvih nastává, když se musí bavit s klienty, kolegy nebo nedejbože manažery...

Tahle knížka se zabývá vším tím, co s kódováním souvisí, ale přitom je to pro život vývojáře životně důležité. Ať už jde o kariéru, osobní značku, blogování, vzdělávání se, finance nebo i zdraví a vztahy, autor každé téma poctivě a srozumitelně projde.

 

11. Head First Design Patterns - E. Freeman & K. Sierra

Tohle je asi ta nejméně technicky vypadající kniha o programováni, kterou známe. Je plná obrázků, nákresů a podobných vylomenin, které z ní dělají překvapivě stravitelné čtivo o naprosto zásadním programátorském tématu - návrhových vzorech.

Head First Design Patterns ti pomůže tvořit elegantní a flexibilní software, který se dá snadno znovu použít. Přehledně taky vysvětluje všechny výhody a nevýhody daných návrhových vzorů, takže víš, do čeho jdeš.

Vaše doporučení

Na Facebooku a Twitteru jsme se ptali na další knižní tipy a dostali jsme spoustu zajímavých podnětů. Tady jsou:

  • Computer Science Distilled - W. F. Filho (zejména pro vývojáře samouky)
  • Continuous Delivery - J. Humble & D. Farley
  • Growing Object-Oriented Software - S. Freeman & N. Pryce
  • Patterns of Enterprise Application Architecture - M. Fowler
  • REST in Practice - J. Webber, S. Parastatidis & I. Robinson
  • Domain-Driven Design - E. Evans
  • Meditations (Hovory k sobě) - M. Aurelius (nejen pro IT profíky ;) )
  • Succeeding with Agile - M. Cohn
  • Test Driven Development - K. Beck
  • Průvodce labyrintem algoritmů - M. Mareš & T. Valla (čtivá, čistě česká publikace!)
  • Building Microservices - S. Newman
  • The Smashing Book - V. Friedman

Napadá tě ještě nějaká super knížka, na kterou jsme zapomněli? Napiš nám na hello@techloop.io!