Čo je na mojej polici so softvérovým inžinierstvom

Udržiavať aktuálne informácie a neustále sa zlepšovať je súčasťou práce softvérového inžiniera.

Existuje veľa spôsobov, ako študovať nové veci na internete, ako sú MOOC, výukové programy a články. Avšak, niekedy fyzická kniha je tou najlepšou voľbou , najmä ak sa jedná o "referencie", ktorá poskytuje znalosti, ktoré bude trvať ďalších rokoch. Môžeme si ju položiť na našu poličku a prejsť ňou vždy, keď to považujeme za potrebné.

Toto je zoznam referenčných kníh, ktoré uchovávam na svojej polici so softvérovým inžinierstvom. Dúfam, že to môže byť zdroj inšpirácie pre všetkých, ktorí hľadajú niečo zaujímavé na čítanie! ?

Čo mám na svojej polici

Dizajnové vzory: Prvky opakovane použiteľného objektovo orientovaného softvéru

Toto je klasika.

V tejto knihe predstavuje takzvaný „gang štyroch osôb“ 23 dizajnových vzorov, ktoré viedli objektovo orientovaný svet po celé desaťročia. Odvtedy sa vytvorili nové vzory, ale tie v knihe sa považujú za základy všetkých ostatných vzorov.

Nie je to ľahké čítanie, ale mali by ste sa na ňu pozrieť, len aby ste pochopili, kde nájsť, čo potrebujete, pri každej príležitosti. Nechajte to na stole a prechádzajte nimi, keď niečo staviate a máte pocit: „To, čo robím, znie povedome.“ Pravdepodobne zistíte, že sa pokúšate implementovať návrhový vzor, ​​ktorý je už popísaný v tejto knihe.

Čistý kód: Príručka agilného softvérového remeselného spracovania

Túto knihu som čítal pred mnohými rokmi, ale odvtedy sa na mňa nalepila.

Toto je skvelý zdroj osvedčených postupov na výrobu čistého a čitateľného kódu a na zabránenie zápachu kódu. Kniha je zameraná hlavne na Java / OOP, ale veľa rád možno uplatniť v každom jazyku alebo paradigme programovania.

Písanie udržovateľného a čitateľného kódu nie je luxus - je to niečo, po čom by mal každý správny softvérový inžinier túžiť . Táto kniha vám poskytne vedomosti, ako to dosiahnuť.

Strýko Bob môže byť niekedy trochu extrémny a nesúhlasím s ním vo všetkých prezentovaných technikách. Môj návrh: prečítajte si to a vezmite si so sebou iba veci, ktoré považujete za správne. V každom prípade je to kniha, ktorú sa oplatí prečítať .

Naučte sa Haskell pre dobré dobro!: Sprievodca pre začiatočníkov

Toto je kniha o programovacom jazyku Haskell, tak prečo si ju kupovať a ponechať si ju ako referenciu? Moje dôvody sú:

  • Je to veľmi dobre napísaná a ľahko čitateľná kniha na nie príliš ľahkú tému, ako je funkčné programovanie
  • Poskytne vám základ funkčného myslenia, nielen Haskellovu syntax
  • Haskell je veľmi elegantný jazyk a mám ho rád

Toto je kniha, ktorá ma uviedla do funkčného programovania. Momentálne programujem hlavne v Scale, ale prechod bol oveľa jednoduchší po tom, čo som sa naučil základy Haskella.

Funkčné programovanie nie je ľahké, ale otvorí vám to myseľ. Môže to byť veľmi teoretické a uplatnenie v praxi pomocou programu Haskell veľmi pomôže .

V knihe sú aj veľmi pekné kresby, takže sa nemusíte ospravedlňovať, aby ste ju neprelistovali. ?

Teória kategórií pre programátorov

Táto kniha sa zaoberá teóriou kategórií , ktorá je základom paradigmy funkčného programovania.

Táto téma je pre nematematikov dosť zložitá, ale autor vynaložil veľké úsilie na to, aby bola vývojárom zrozumiteľná. Priznám sa, že som mal ťažkosti s jej čítaním, ale rád by som si to ešte raz prečítal.

Táto kniha sa nemusí stať skvelým funkčným programátorom. Prečítajte si ho, ak máte radi výzvy a chcete ísť hlbšie do teoretických základov funkčného programovania.

Navrhovanie dátovo náročných aplikácií: veľké myšlienky za spoľahlivými, škálovateľnými a udržovateľnými systémami

Toto je moje obľúbené, možno preto, že milujem distribuované systémy! :-D

Martin Kleppmann v tejto knihe popisuje všetky rôzne aspekty distribuovaných systémov, od serializácie cez modely konzistencie a konsenzus, prechádzajúc rôznymi databázovými strojmi. Skúma tiež nové trendy týkajúce sa aplikácií založených na dátach.

Vo svete cloudových aplikácií založených na mikroslužbách je nevyhnutné poznať rôzne aspekty distribuovaného systému. Znalosti poskytnuté v tejto knihe nie sú viazané na konkrétnu technológiu a budú cenné pre celú vašu kariéru v softvérovom inžinierstve .

Vydajte !: Navrhnite a nasaďte softvér pripravený na výrobu

Teraz čítam tento.

Sme hotoví, keď je náš softvér odoslaný do výroby? Nie, to je iba začiatok!

Táto kniha zdôrazňuje, čo sa môže pokaziť po uvedení softvéru do výroby a musí čeliť skutočným používateľom. Opisuje vzory, ktoré môžu narušiť stabilitu nášho softvéru, ako aj riešenia týchto problémov.

Na tejto knihe sa mi najviac páči, že každá kapitola začína príkladom zo skutočného života. Potom autor analyzuje problémy, ktoré spôsobili zlyhanie softvéru pri výrobe. Myslím si, že učenie sa na konkrétnych príkladoch je veľmi efektívny prístup.

Úvod do algoritmov

Čo môžem povedať o tejto knihe? Stačí si ho kúpiť a nechať ho na stole .

Ak ste softvérový inžinier, je veľká šanca, že ste museli študovať dátové štruktúry a algoritmy. Nie je vždy ľahké zvládnuť zložitosť alebo zvoliť správnu dátovú štruktúru.

Ak sa vyskytnú pochybnosti, otvorte túto knihu a nájdete tu, čo potrebujete.

Pre väčšinu ľudí (vrátane mňa) je to veľmi ťažké čítanie. Zvyčajne si len prečítam, čo v tej chvíli potrebujem vedieť, a knihu mám stále na očiach na stole.

Hyperfokus: Ako riadiť svoju pozornosť vo svete rozptýlenia

Toto nie je technická kniha, ale je to súbor čítaní, ktoré mi lepšie zmenili život.

Naša práca ako softvéroví inžinieri spočíva v riešení problémov našej mysle. Aby sme boli v tejto úlohe efektívni, potrebujeme schopnosť úplne sa sústrediť na problém, ktorý riešime .

Tu nájdete veľa návrhov a techník na maximalizáciu času, ktorý môžete venovať práci. Autor pojednáva tiež o dôležitosti nechať svoju myseľ blúdiť, keď potrebujete byť kreatívnejší.

Osvojenie si spôsobu použitia pozornosti je niečo, čo zlepší nielen váš výkon v práci, ale aj všetky ostatné aspekty vášho života.

Čo pridám do svojej police

Pragmatický programátor

Toto je jedna z najslávnejších kníh o vývoji softvéru.

Návrhy a techniky uvedené v tejto knihe ovplyvnili kariéru mnohých vývojárov a inžinierov k lepšiemu. Kniha vyšla v roku 1999, ale teraz je k dispozícii ako nové a aktualizované vydanie k 20. výročiu.

Toto nemôže chýbať. :-)

Refaktoring: Vylepšenie koncepcie existujúceho kódu

Je ťažké vždy dodať vysokokvalitný kód. Termíny, naliehavosť, zlý deň - to všetko ovplyvňuje kvalitu vašej práce.

Preto je refaktorovanie také dôležité. Ak by sme nedokázali poskytnúť kvalitu prvýkrát, môžeme ju neskôr vylepšiť, aby sme zaistili lepšiu udržiavateľnosť. Martin Fowler (jeden z mojich idolov vo svete vývoja softvéru) popisuje najlepšie techniky efektívneho refaktoringu.

Na mojej polici bude vždy miesto pre knihy, ktoré mi pomôžu napísať lepší kód.

Záver

Toto je môj zoznam kníh, ktoré musíte mať. Nejde v žiadnom prípade o komplexný zoznam „dôležitých“ kníh v tejto oblasti a som si istý, že v ďalších rokoch budem pridávať ďalšie a ďalšie knihy.

Dúfam, že som vám dal niekoľko príjemných tipov na ďalšiu knihu, ktorú by ste si mali prečítať. ?

Maj sa!?