Beste Antwort
Jeder hat offensichtlich seine eigenen Vorlieben. Mich eingenommen. Da die Überlappung begrenzt ist, muss man sich fragen, wie „gelesen“ die Bücher sind. 🙂 Es macht jedoch immer Spaß, eine Liste zu erstellen.
- Der Monat des mythischen Mannes
- Sichere Codierung in C und C ++, zweite Ausgabe (gilt nur für C- und C ++ – Entwickler, obwohl es eine Version für Java gibt – mit Ada benötigen Sie im Allgemeinen nur John Barnes Handbuch: Amazon.de: John Barnes: 9781107424814: Bücher )
- Programmlogik für zertifizierte Compiler: Andrew W. Appel, Robert Dockins, Hobor von Aquin, Lennart Beringer, Josiah Dodds, Gordon Stewart, Sandrine Blazy, Xavier Leroy: 9781107048010: Amazon.com: Bücher
- Kunst der Computerprogrammierung, Band 2: Seminumerische Algorithmen (3. Ausgabe): Donald E. Knuth: 0785342896848: Amazon.com: Bücher
- Die Kunst der Computerprogrammierung: Band 3: Sortieren und Suchen (2. Auflage): Donald E. Knuth: 9780201896855: Amazon.com: Bücher
- Farbige Petri-Netze – Modellierung und Validierung von Gleichzeitig | Kurt Jensen | Springer
- TCP / IP Illustrated, Band 1: Die Protokolle
- Unix-Netzwerkprogrammierung, Band 1: Die Sockets Networking-API (3. Ausgabe): W. Richard Stevens, Bill Fenner, Andrew M. Rudoff: 9780131411555: Amazon.com: Books
- Programmieren mit POSIX-Threads: David R. Butenhof: 0785342633924: Amazon.com: Bücher
Offensichtlich Nicht alle diese Bücher gelten für alle Menschen. Ich bin verrückt genug, um das Feld als Ganzes anzugehen, also habe ich all dies und noch viel mehr. Diese Auswahl reicht jedoch aus, um einen soliden Überblick über robuste Programmierung, Algorithmen, Vernetzung, Systemmodellierung und verschiedene Softwareentwicklungsmodelle zu erhalten. Bereiche, die so wichtig sind, dass Softwareentwickler ihnen Aufmerksamkeit schenken sollten.
Antwort
Ich gehe hier davon aus, dass es sich um einen Softwareentwickler handelt, der durch die Schule technische Kenntnisse erlangt hat. Bootcamp oder eine andere Lernmöglichkeit.
Algorithmen sind in der Tat wichtig und das Buch „ Einführung in Algorithmen “ ist ein Muss. Ich glaube, dass ein starkes Verständnis von Software-Design und objektorientiertem Design ebenfalls von entscheidender Bedeutung ist, und meine Bibel ist immer noch das Buch „ Design Patterns: Elemente wiederverwendbarer objektorientierter Software . ” Die Beispiele in Smalltalk machen es heutzutage nicht so einfach zu lesen, aber mir ist kein anderes Buch mit einer solchen Tiefe und Breite zu diesem Thema bekannt.
Ich habe viele Ingenieure getroffen, die am Arbeitsplatz angefangen haben und ich habe im Laufe der Jahre einige Lücken festgestellt, daher möchte ich Bücher für jeden dieser Bereiche vorschlagen.
Neue Ingenieure neigen dazu, Parallelität unabhängig von der Sprache nicht zu verstehen. Das Konzept, mehrere Threads parallel auszuführen und gleichzeitig die richtige Synchronisationsstufe zwischen ihnen bereitzustellen, ist nicht leicht zu verstehen. Ich persönlich habe viel gelernt, indem ich „ Java Concurrency in Practice “ mit Java-Hintergrund gelesen habe. Es gibt auch einen guten Abschnitt über Parallelität in „ Effektives Java , dem Muss, wie man in Java angemessen codiert.
Cyber -Sicherheit ist heutzutage endlich ein heißes Thema. Leider sind sich Nachwuchsingenieure der Sicherheitskonzepte, die für ihren Code gelten, nicht bewusst. Ein guter Anfang ist das Lesen von OWASP-Top-10-Liste und ein Drilldown zu jeder Anwendungsschwachstelle. Ich bin ein großer Fan von „ 24 Todsünden der Software-Sicherheit: Programmierfehler und deren Behebung .
Neue Ingenieure tendieren dazu Fokus auf Codierung. Sie glauben, dass es auf das Codieren ankommt, und sie möchten schnell guten Code produzieren, wobei sie sich manchmal auf schwer lesbaren Code verlassen, weil sie ihn präziser eingeben können. Es gibt nur zwei Probleme mit diesem Denken: Jeder Softwareentwickler erstellt Fehler, und Softwareentwickler arbeiten besser in Teams! Qualität ist wichtig und Wartbarkeit ist auch wichtig. Persönlich mag ich die Bücher „Effektiv mit Legacy-Code arbeiten“, in denen es um das Testen und die Notwendigkeit von Tests geht, um den Code besser zu machen. „ Clean Code: Ein Handbuch für agile Software-Handwerkskunst “ nähert sich dem Thema Wartbarkeit, manchmal mit einer extremen Sichtweise, was es zu einem großartigen Buch zum Lesen und Lesen macht als Team diskutieren.
Neue Ingenieure, insbesondere aus dem College, können es schwer haben, sich an den Arbeitsplatz und ihren neuen Job anzupassen. Dies gilt tatsächlich für jeden Ingenieur, eigentlich jeden, der ebenfalls einen neuen Job beginnt. Es gibt dieses großartige Buch „ Die ersten 90 Tage: Bewährte Strategien, um schneller und intelligenter auf den neuesten Stand zu kommen “, in dem ich verschiedene Konzepte für den Einstieg in ein Programm gelernt habe neuer Arbeitsplatz und insbesondere Strukturbedarf. Die Struktur ist großartig. Es ist beruhigend, besonders in einer neuen Umgebung. Ich erhalte konsistente Ergebnisse, wenn ich das gleiche Rezept anwende, genau wie wenn ich mit meiner Tochter einen Kuchen backe. Als ich vor elf Monaten im Native App Team bei Wayfair anfing, stellte ich bei meiner Ankunft ziemlich allgemeine, aber konsistente Fragen, um die Lage des Landes zu bestimmen. Diese Fragen gaben mir nicht nur eine Vorstellung davon, was los war, sondern erzählten mir auch viel über die Menschen, mit denen ich mich traf. Ich habe meine Informationsreise etwa einen Monat lang mit demselben Fragebogen alle 1: 1 durchgeführt und am ersten Tag begonnen, meine Schwerpunkte aufzulisten.
Ich bin seit mehr als zwanzig Jahren in der Softwareentwicklung tätig Jahre, in denen ich in den letzten zehn Jahren Führungsbücher gelesen habe. Fragen Sie mich nach Führungsbüchern, wenn Sie neuere Lesungen bevorzugen!