Nejlepší odpověď
Každý má zjevně své vlastní preference. Včetně sebe. Vzhledem k tomu, že překrývání je omezené, je třeba si klást otázku, jak „knihy musíte číst“. 🙂 Je však vždy zábavné vytvořit seznam.
- The Mythical Man-Month
- Zabezpečené kódování v C a C ++, druhé vydání (platí pouze pro vývojáře v C a C ++, ačkoli existuje verze pro Javu – s Adou obecně potřebujete pouze Johna Barnesova příručka: Amazon.co.uk: John Barnes: 9781107424814: Books )
- Programová logika pro certifikované překladače: Andrew W. Appel, Robert Dockins, Aquinas Hobor, Lennart Beringer, Josiah Dodds, Gordon Stewart, Sandrine Blazy, Xavier Leroy: 9781107048010: Amazon.com: Books
- The Art of Computer Programming, roč. 1: Fundamental Algorithms, 3rd Edition: 9780201896831: Computer Science Books @ Amazon.com
- Art of Computer Programming, Volume 2: Seminumerical Algorithms (3. vydání): Donald E. Knuth: 0785342896848: Amazon.com: Books
- The Art of Computer Programming: Volume 3: Sorting and Searching (2nd Edition): Donald E. Knuth: 9780201896855: Amazon.com: Books
- Colored Petri Nets – Modeling and Validation of Souběžně | Kurt Jensen | Springer
- TCP / IP Illustrated, svazek 1: Protokoly
- Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition): W. Richard Stevens, Bill Fenner, Andrew M. Rudoff: 9780131411555: Amazon.com: Books
- Programování pomocí vláken POSIX: David R. Butenhof: 0785342633924: Amazon.com: Knihy
Je zřejmé, ne všechny tyto knihy platí pro všechny lidi. Jsem dost blázen, abych zvládl pole jako celek, takže mám všechny tyto a spoustu dalších. Tento výběr však stačí k pevnému pochopení robustního programování, algoritmů, sítí, modelování systémů a různých modelů vývoje softwaru. Oblasti, které jsou natolik významné, že by jim softwaroví inženýři měli věnovat pozornost.
Odpověď
Budu zde předpokládat, že mluvíme o softwarovém inženýrovi, který prostřednictvím školy dosáhl technických znalostí. bootcamp nebo jakákoli jiná příležitost k učení.
Algoritmy jsou skutečně důležité a kniha „ Úvod do algoritmů “ je nutností. Věřím, že mít zásadní znalosti o softwarovém designu a objektově orientovaném designu je také zásadní a moje bible je stále knihou „ Design Patterns: Elements of Reusable Object-Oriented Software . “ Jeho příklady v Smalltalku dnes neumožňují nejjednodušší čtení, ale neznám žádnou jinou knihu s takovou hloubkou a šířkou tématu.
Potkal jsem mnoho techniků začínajících na pracovišti „Během let jsem si všiml několika mezer, a proto bych chtěl navrhnout knihy pro každou z těchto oblastí.
Noví inženýři mají tendenci nerozumět souběžnosti bez ohledu na jazyk. Koncept paralelního běhu více vláken při zajištění správné úrovně synchronizace mezi nimi není snadné pochopit. Osobně jsem se hodně naučil čtením „ Java Concurrency in Practice “ pocházejícího z prostředí Java. Dobrá část o souběžnosti je také v části „ Effective Java ,“ která si musíte přečíst, jak správně kódovat v Javě.
Cyber -bezpečnost je v dnešní době konečně horkým tématem. Bohužel, mladí inženýři nemají tendenci znát bezpečnostní koncepty použitelné pro jejich kód. Dobrým začátkem je přečíst seznam 10 nejlepších OWASP a provést podrobnou analýzu každé chyby zabezpečení. Jsem velkým fanouškem „ 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them .“
Noví technici mají tendenci zaměřit se na kódování. Věří, že na kódování záleží, a chtějí rychle vytvořit dobrý kód, někdy se spoléhají na těžko čitelný kód, protože ho mohou psát stručněji. S tímto myšlením jsou jen dva problémy: každý softwarový inženýr vytváří chyby a softwaroví inženýři fungují lépe v týmech! Důležitá je kvalita a také udržovatelnost. Osobně se mi líbí knihy „Efektivní práce se staršími kódy“, které hovoří o testování a potřebě testování vylepšit kód. „ Čistý kód: Příručka agilního softwarového řemesla “ přistupuje k tématu udržovatelnosti, někdy s extrémním pohledem, což z něj dělá skvělou knihu ke čtení a diskutovat jako tým.
Noví inženýři, zejména ze vysokých škol, se mohou obtížně přizpůsobovat pracovišti a nové práci. Ve skutečnosti to platí pro každého inženýra, vlastně pro kohokoli, kdo také začíná novou práci. Existuje skvělá kniha „ Prvních 90 dní: Osvědčené strategie pro rychlejší a chytřejší uvedení do provozu „, která mě naučila několik konceptů, jak začít na nové pracovní místo, a zejména potřeba struktury. Struktura je skvělá. Je to uklidňující, zejména v novém prostředí. Konzistentní výsledky získávám používáním stejného receptu, jako když peču dort s mojí dcerou. Když jsem před jedenácti měsíci začínal v Wayfairu v týmu Native App, rozhodl jsem se po svém příjezdu položit poměrně obecné, ale důsledné otázky, abych získal půdu. Tyto otázky mi nejen poskytly určitou představu o tom, co se děje, ale hodně mi řekly o lidech, se kterými jsem se setkal. Na svoji misi pro zjišťování faktů jsem chodil asi měsíc pomocí stejného dotazníku každých 1: 1 a první den jsem začal vypisovat oblasti svého zaměření.
Ve vývoji softwaru se pohybuji více než dvacet let čtení knih o vedení za posledních deset let, takže se mě můžete zeptat na knihy o vedení, pokud dáváte přednost novějším přečtením!