Dans cet article, je vais vous raconter comment je suis passé de quelqu’un qui n’aimait pas les livres de programmation à quelqu’un qui conseille vivement de lire des livres de développement de logiciel.
Quand on est programmeur, la veille fait partie intégrante du travail. Elle est même indispensable pour se tenir à jour des dernières évolutions et progresser. C’est pourquoi il est important d’être avant tout un lecteur ! Unlecteur de blog, mais aussi et surtout de livre.
Comment débuter en programmation ? Une mauvaise compréhension du medium
Lorsque j’ai terminé mes études, j’avais une mauvaise perception des livres de programmation, et ce pendant près d’une décennie. Cependant, au fil des ans et de ma veille, je me suis mis à me renseigner et à consulter des communautés de développeurs, ce qui m’a donné l’occasion de découvrir des recommandations de livres. À mesure que je lisais ces livres, j’ai réalisé qu’ils n’étaient pas du tout ce que je pensais. C’est pourquoi je fais une distinction entre les “livres de programmation”, au sens où je l’entendais, et les livres de développement de logiciels, avec ma nouvelle perception.
Dans mon esprit, un livre de programmation était un livre pour apprendre à coder. Cependant, sans ordinateur à proximité, il est difficile d’essayer les exemples de code. D’un autre côté, si je disposais d’un ordinateur, je ne voyais pas l’intérêt d’un livre, car il existe de bonnes ressources en ligne où il est possible de copier et coller les exemples de code.
En réalité, les livres que j’ai lus, comme Working effectively with legacy code, ne sont pas seulement des livres de code. Bien qu’ils contiennent des exemples de code, ces derniers ne servent qu’à illustrer un propos, comme une image ou un graphique peuvent le faire. C’est pourquoi je préfère parler de livres de développement de logiciels plutôt que de programmation.
On ne se concentre pas uniquement sur la programmation et le code, mais sur le développement web et le développement de logiciels en général, et sur les attitudes à adopter envers le code et l’organisation. En somme, ils permettent de comprendre pourquoi une manière de faire est plus appropriée qu’une autre, et pas seulement une prescription.
[Concours dev. et non dev.]
Code On Time revient du 23 Janvier au 3 février 2025 !
- 500€ en chèque cadeau pour le meilleur score et d’autres lots à gagner par tirage au sort ! 🎁
- 2 modes de jeu : tout le monde peut participer ! 👨👩👧👦
- 100% online à ton rythme, pendant la pause, le soir, ou ce weekend ! ⌨️
- Première édition de lancement de Codeontime.fr 💻 !
Envie de découvrir le métier de développeur full stack ?
👉 Découvrez « La fiche métier du développeur full stack, vue par des Développeurs Full Stack eux-même ! »
Le déclic : les livres sur la programmation informatique comme supports de veille
Après avoir passé cinq ans au même poste sans évoluer, j’étais dans ma zone de confort et j’avais une certaine confiance de la part de mon équipe quant à mon niveau technique. Cette confiance était probablement justifiée dans notre environnement. Mais un jour, j’ai souhaité changer, d’employeur notamment, et j’ai compris lors de mes premiers entretiens d’embauche et de différents tests techniques que je m’étais un peu trop reposé sur mes lauriers. C’est ce qui m’a donné l’impulsion pour revoir ma veille professionnelle.
J’avais déjà quelques habitudes de veille. Notamment regarder régulièrement les questions posées sur le site https://softwareengineering.stackexchange.com/. Cependant, à force de voir des personnes parler de tel ou tel livre dans les commentaires, comme Clean Code de Robert C. Martin, ou de voir dans la communauté de dévs que j’avais rejointe des personnes ouvertement fières de finalement avoir obtenu ou lu tel ou tel livre, j’ai sauté le pas. J’avais envie et, soyons honnêtes, aussi besoin de progresser. Si mes pairs recommandent ces lectures, c’est qu’il y a une raison.
Je citais plus haut Working effectively with legacy code : il s’agit du premier livre que j’ai lu. Et j’ai vraiment aimé et appris des choses avec ce livre. J’y retourne d’ailleurs occasionnellement, m’en servant comme « boîte à outils ».
Pourquoi j’aime ce genre de livre
Je ne vais pas faire une comparaison des différents médias : blog, vidéo, etc. Je vais en revanche me concentrer sur les livres. Si vous êtes programmeur, ce que je trouve intéressant avec les livres, c’est qu’ils regroupent toutes les connaissances sur un sujet donné – tout du moins, autant que possible -, et donc bien plus qu’un article ou une vidéo qui sont plus limités par leurs formats.
De plus, ils sont accessibles facilement, que ce soit dans une bibliothèque proche ou sur une liseuse. Si vous avez des temps de transport en commun assez importants, c’est également un bon moyen de les occuper de manière productive, et vous êtes à l’abri des coupures de réseau dans le métro.
Un autre point, davantage lié au format physique, est qu’ils se voient. C’est un peu trop rare à mon goût, mais il peut arriver qu’un collègue vous aborde pour discuter d’un sujet ou d’un livre car il l’a vu sur votre bureau. Ces discussions sont toujours très intéressantes et n’auraient peut-être pas lieu sans cela. J’ai d’ailleurs un collègue qui est venu me poser des questions sur le Domain Driven Design parce qu’il avait vu que je lisais Implementing domain-driven design.
Besoin d’une boîte à outil complète du développeur Full Stack ?
👉Téléchargez dès maintenant la « Boîte à outil du Développeur Full Stack », faite par des Développeurs Full Stack eux-mêmes !
Quel livre pour apprendre la programmation ?
On n’a jamais fini d’apprendre quand on est programmeur. Et même d’apprendre comment apprendre. J’ai eu la chance de pouvoir m’ouvrir à une nouvelle forme d’apprentissage qui me plaît et me convient, mais surtout qui m’a clairement aidé dans mon développement professionnel. Je ne saurais que vous conseiller de tenter l’expérience si ce n’est déjà fait.
Pour cela voici une liste de recommandations :
1.
FEATHERS, M. I. C. H. A. E. L. (2020). Working effectively with legacy code. PRENTICE HALL : un indispensable si vous travaillez sur de gros legacy, un excellent ouvrage pour la grande majorité des développeurs travaillant dans des environnements loin des standards les plus modernes comme le clean code, l’architecture hexagonale ou le Domain-driven design (DDD).
2.
Evans, E. (2019). Domain-driven design tackling complexity in the heart of software. Addison-Wesley : une piere angulaire de ce qu’est aujourd’hui la pratique du DDD. Certes, la pratique a quelque peu évolué depuis, mais il reste très intéressant.
3.
Vernon, V. (2013). Implementing domain-driven design. Addison-Wesley : plus récent que DDD, il est donc plus à jour sur les techniques, même si lui aussi commence à soufrir de son âge dans un milieu qui évolue et apprend constament. Il inclut de nombreuses références au DDD mais il peut se comprendre sans. Si vous pouvez vous le permettre, procurez-vous les deux, commencez par IDDD et consultez ensuite DDD pour les références.
4.
Langr, J. (2013). Modern C++ programming with test-driven development : Code better, sleep better. Pragmatic Bookshelf. Bien mal nommé, le titre aurait dû être dans l’autre sens. Mais c’est un très bon livre sur le TDD avec des exemple en C++.
Envie de découvrir une fonctionnalité récente de React ?
👉Découvrez notre article : « Démarrer avec les hooks de React : un aperçu du hook useState »
Vous avez aimé cet article ?
Abonnez-vous à notre newsletter pour ne rien rater de l’actualité Tech et Finance.
Pas encore de commentaires