Quels sont les livres incontournables pour les ingénieurs logiciels?

Meilleure réponse

Chacun a évidemment ses propres préférences. Moi-même inclus. Le chevauchement étant limité, il faut se demander à quel point les livres sont «à lire». 🙂 Cependant, il est toujours amusant de produire une liste.

  1. Le mois de lhomme mythique
  2. Codage sécurisé en C et C ++, deuxième édition (applicable uniquement aux développeurs C et C ++, bien quil existe une version pour Java – avec Ada, vous navez généralement besoin que de John Manuel de Barnes: Amazon.fr: John Barnes: 9781107424814: Livres )
  3. Logiques de programme pour les compilateurs certifiés: Andrew W.Appel, Robert Dockins, Aquinas Hobor, Lennart Beringer, Josiah Dodds, Gordon Stewart, Sandrine Blazy, Xavier Leroy: 9781107048010: Amazon.com: Livres
  4. Lart de la programmation informatique, Vol. 1: Fundamental Algorithms, 3e édition: 9780201896831: Computer Science Books @ Amazon.com
  5. Art of Computer Programming, Volume 2: Seminumerical Algorithms (3e édition): Donald E. Knuth: 0785342896848: Amazon.com: Livres
  6. The Art of Computer Programming: Volume 3: Sorting and Searching (2nd Edition): Donald E. Knuth: 9780201896855: Amazon.com: Books
  7. Colored Petri Nets – Modélisation et validation de Concurrent | Kurt Jensen | Springer
  8. TCP / IP illustré, volume 1: les protocoles
  9. Unix Network Programming, Volume 1: The Sockets Networking API (3e édition): W. Richard Stevens, Bill Fenner, Andrew M. Rudoff: 9780131411555: Amazon.com: Livres
  10. Programmation avec POSIX Threads: David R. Butenhof: 0785342633924: Amazon.com: Livres

De toute évidence, tous ces livres ne sappliquent pas à tout le monde. Je suis assez fou pour aborder le terrain dans son ensemble, alors j’ai tout cela et bien d’autres encore. Cependant, cette sélection est suffisante pour acquérir une solide compréhension de la programmation robuste, des algorithmes, du réseautage, de la modélisation de systèmes et de divers modèles de développement de logiciels. Les domaines qui sont suffisamment importants pour que les ingénieurs en logiciel devraient y prêter attention.

Réponse

Je suppose ici que nous parlons dun ingénieur logiciel qui a acquis des compétences techniques à lécole, bootcamp ou toute autre opportunité dapprentissage.

Les algorithmes sont en effet importants et le livre «  Introduction aux algorithmes  » est une lecture incontournable. Je crois quavoir une solide compréhension de la conception de logiciels et de la conception orientée objet est également essentiel, et ma bible est toujours le livre « Design Patterns: Elements of Reusable Object-Oriented Software . » Ses exemples en Smalltalk ne le rendent pas le plus facile à lire de nos jours, mais je ne connais aucun autre livre avec une telle profondeur et une telle ampleur sur le sujet.

Jai rencontré de nombreux ingénieurs débutant sur le lieu de travail. , et jai remarqué quelques lacunes au fil des ans, je voudrais donc suggérer des livres pour chacun de ces domaines.

Les nouveaux ingénieurs ont tendance à ne pas comprendre la concurrence, quelle que soit la langue. Le concept dexécuter plusieurs threads en parallèle tout en fournissant le bon niveau de synchronisation entre eux nest pas facile à comprendre. Jai personnellement beaucoup appris en lisant «  Concurrence Java en pratique  » provenant dun fond Java. Il y a aussi une bonne section sur la concurrence dans «  Effective Java , » la lecture incontournable sur la façon de coder de manière appropriée en Java.

Cyber -la sécurité est enfin un sujet brûlant de nos jours. Hélas, les ingénieurs juniors ont tendance à ne pas être conscients des concepts de sécurité applicables à leur code. Un bon point de départ consiste à lire la liste des 10 meilleurs OWASP et à explorer chaque vulnérabilité dapplication. Je suis un grand fan de «  24 péchés capitaux de la sécurité logicielle: les failles de programmation et comment les corriger .

Les nouveaux ingénieurs ont tendance à se concentrer sur le codage. Ils croient que le codage est ce qui compte, et ils veulent produire rapidement du bon code, en sappuyant parfois sur du code difficile à lire car ils peuvent le taper de manière plus concise. Il ny a que deux problèmes avec cette réflexion: chaque ingénieur logiciel crée des bogues, et les ingénieurs logiciel travaillent mieux en équipe! La qualité est importante et la maintenabilité est également importante. Personnellement, jaime les livres «Travailler efficacement avec le code hérité» qui parlent de tests et de la nécessité de tester pour améliorer le code. «  Clean Code: A Handbook of Agile Software Craftsmanship  » aborde le sujet de la maintenabilité, parfois avec un point de vue extrême, ce qui en fait un excellent livre à lire et discuter en équipe.

Les nouveaux ingénieurs, en particulier en dehors de luniversité, peuvent avoir du mal à sadapter à leur milieu de travail et à leur nouvel emploi. Cest en fait vrai pour tout ingénieur, en fait nimporte qui, qui commence également un nouvel emploi. Il y a cet excellent livre « Les 90 premiers jours: stratégies éprouvées pour accélérer et accélérer la vitesse » qui ma appris plusieurs concepts sur la façon de démarrer nouveau travail, et en particulier le besoin de structure. La structure est excellente. Cest réconfortant, surtout dans un nouvel environnement. Jobtiens des résultats cohérents en appliquant la même recette comme lorsque je prépare un gâteau avec ma fille. Quand jai commencé chez Wayfair il y a onze mois au sein de léquipe Native App, jai choisi de poser des questions assez génériques mais cohérentes à mon arrivée pour avoir un aperçu du terrain. Ces questions mont non seulement donné une idée de ce qui se passait, mais mont aussi beaucoup appris sur les personnes que je rencontrais. Jai mené ma mission denquête pendant environ un mois en utilisant le même questionnaire tous les 1: 1, et jai commencé à lister mes domaines dintervention dès le premier jour.

Je travaille dans le développement de logiciels depuis plus de vingt ans ans, à lire des livres sur le leadership depuis dix ans, alors nhésitez pas à me poser des questions sur les livres sur le leadership si vous préférez des lectures plus récentes!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *