Hello, je vous propose une liste de livres essentiels pour être un développeur WEB au top pour 2020! Seront présents aussi bien des livres à l’attention de débutants, qu’aux développeurs plus expérimentés. En général et comme souvent dans le domaine de la programmation, les livres seront dans la langue de Shakespeare.
Niveau débutant
Il faut tout d’abord apprendre les bases de la programmation Java, JavaScript, et dans une moindre mesure HTML et CSS. Pour ces deux derniers, je ne pense pas qu’il soit nécessaire d’investir dans un livre, la documentation sur Internet sera suffisante, par exemple ceci.
Je vous recommande en revanche, pour Java et Javascript les deux livres suivants:
Head first Java |
Envie d’apprendre le langage JAVA et plus généralement la programmation orientée objet d’une façon très ludique et pas pompeuse, avec pleins de schémas et autres graphiques? Alors ce livre est fait pour vous! On passe en revue tous les fondamentaux du langage Java d’une façon amusante et humoristique. J’adore. Petit point négatif cependant, et non des moindres : il ne couvre pas les dernières versions de JAVA. Mais si vous débutez, il n’est pas pertinent d’apprendre toutes les dernière nouveautés et donc ce livre fait parfaitement sens. D’autant plus qu’il couvre JAVA 5, qui contient le socle du Java d’aujourd’hui (Génériques, gestion des exceptions, Collections, annotations, etc.). Acheter sur Amazon |
JavaScript The definitive guide
|
Oui je sais, le livre est un peu gros (1100 pages) mais c’est vraiment la bible du Javascript. Il vous servira longtemps. Ici aussi, on n’est pas sur la dernière version de Javascript (ES6 alors qu’on est à la date de publication de cet article à la ES9) mais pour débuter, ce sera amplement suffisant pour l’instant. Les 2 premières parties (Core et Client Side) sont les plus intéressantes. Ensuite il s’agit de la description de l’API Javascript (c’est à dire toutes les fonctions proposées nativement par Javascript). |
Niveau intermédiaire
Une fois qu’on connait les bases de la programmation Java et Javascript, on va pouvoir étudier des choses plus intéressantes, comme fournir un code de qualité en utilisant les bon patrons de programmation (les fameux design pattern, ou SOLID, par exemple). On va aussi voir des livres plus avancés sur les bons principes de conception et de programmation plus généraliste (Code Complete).
Head First Design Patterns |
J’adore les livres pas rébarbatifs, qui abordent des sujets complexes d’une façon simple et super bien expliquée, avec pleins de schémas et graphiques pour bien mémoriser et assimiler ce qu’on lit. Comme pour Head First Java, ce livre répond à tous ces critères et explique les design pattern (modèles de programmation) fondamentaux que tout développeur doit connaître. Acheter sur Amazon |
Modern Java in action |
Ces derniers temps (depuis la version 8 notamment), Java a évolué de manière fulgurante : les Lambda, les Stream, la Programmation Réactive, Fork / Join, les modules, et j’en passe! Ça commence à faire pas mal de choses à assimiler, et ce livre très bien fait, explique toutes ces nouvelles fonctionnalités. Acheter sur Amazon |
Code Complete 2nd edition |
On va prendre un peu de recul par rapport au code pur et dur, et s’intéresser à la conception. Ce livre n’est pas spécifique à un langage, et dicte les bonnes pratiques de conception orienté objet. Par exemple, comment bien concevoir notre code, en se reposant sur les bons paradigmes du développement orienté objet : abstraction et encapsulation, héritage, gestion des erreurs, comment bien créer les variables, comment bien formater son code…. De plus ce livre parle de tests avec TDD, du debugging. Bref un livre très riche sur les aspects généraux d’un code qualité, que je recommande fortement! Acheter sur Amazon |
Agile software Development Principes Patterns and practices |
Je ne pourrai clore cette liste sans le fameux livre de Robert C. Martin alias “Oncle Bob”, Agile Software Development : principe, patterns and practices. Franchement si je devais en choisir un de cette liste, ce serait celui-ci. J’adore ce livre car on parle un peu de théorie sur les grands principes de l’orienté objet, abrégés sous le terme SOLID que je reprends ici : Single Responsability Principle, Open Close Principle, Liskov Subsitution principle, Dependency Injection Principle. Il y ajoute une dose de Design Pattern, et tout cela est brillamment mis en pratique dans des exemples où on code. Et on code beaucoup, même! Une large proportion du livre c’est des lignes de codes! D’ailleurs veuillez vous référer ici pour voir un exemple du livre écrit en C++, que j’ai transformé en Java! Quoi de mieux pour se perfectionner? De plus il suit une approche Agile, si chère aux entreprises en ce moment. Acheter sur Amazon |
Niveau avancé / Architecture
Une fois qu’on est devenu développeur plus expérimenté, une voie naturelle est l’architecture logicielle. Ici, on va prendre de la hauteur, car l’architecte est le garant des choix techniques selon les besoins exprimés par l’équipé métier. Il est donc en contact avec le métier, mais aussi l’équipe de développement.
C’est donc un rôle central et de nombreux livres plus spécifiquement traitent de la mise en place d’architectures performantes, robustes et scalables. La mouvance Microservices, c’est à dire le découpage du domaine métier en des composants indépendants s’inscrit dans cette démarche. Mais comment découper ce domaine métier de la manière la plus judicieuse? Ici, le pattern DDD (Domain Driven Development) prend tout son sens. Justement dans cette partie je vais dévoiler deux livres, un sur les Microservices et l’autre sur DDD.
Microservices patterns |
Dans ce livre, on explique les principaux patterns d’une architecture Microservices : comment faire communiquer les différents Microservices (synchrone vs asynchrone); comment effectuer une transaction qui impacte plusieurs Micoservices, et la notion de Saga; le pattern Event Sourcing, le pattern CQRS, et pleins d’autres! Acheter sur Amazon |
Domain-Driven Design: Tackling Complexity in the Heart of Software
Ce livre, aussi appelé “Blue Book” a été écrit par l’auteur de l’approche DDD, Eric Evans. Il y a aussi le red book que je re commande intitulé Impelment DDD. Revenons à notre livre. Il met en lumière tous les grands principes et concepts pour modéliser un modèle métier complexe : par exemple un langage universel pour décrire le modèle (Ubiquitout language), les notions de Value Object vs Entities, les agrégats, les bounded Context qui correspondront à nos Microservices… Bref un livre très riche et complexe, qui malgré son âge est toujours d’actualité. Acheter sur AmazonBonus
Je mets un derniers livre en bonus, car il ne s’agit pas réellement d’un livre sur la programmation, mais de tout ce qui entoure le métier de développeur, et notamment les “soft skills”, ces compétences autres que techniques qui sont pourtant fondamentales dans le métier de développeur.
Soft Skills
|
L’auteur John Sonmez nous parle tout ce qui entoure le métier de développeur et je trouve ce qu’il énonce tout à fait pertinent, et important à connaître dans notre métier. Il passe en revue les différents stratus de développeur, les types d’entreprise où travailler, comment se vendre en tant que développeur, comment travailler mieux et plus efficacement, etc. Je recommande vivement. |
Et voici ma liste de livres, j’espère qu’elle vous a plue! N’hésitez pas à laisser un commentaire, et je vous dis à très vite!