Skip to content

Ce dépôt contient des guides pour vous aider à progresser en tant que développeur.

Notifications You must be signed in to change notification settings

Tan-Software/Guide-de-Progression-vers-le-Software-Craftsmanship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Guide de Progression vers le Software Craftsmanship

Ce guide vous propose un parcours structuré pour devenir un Software Craftsman. Vous apprendrez à écrire du code de qualité, à concevoir des architectures robustes, et à adopter une approche DevOps pour le déploiement et la maintenance de vos applications. L'idée est d'aborder chaque compétence de manière séquentielle et progressive, tout en explorant les liens entre les différents domaines.


1. Approfondissement des Fondamentaux du Développement

Livres Clés

  1. The Pragmatic Programmer: Votre Guide vers la Maîtrise
    Une excellente introduction aux bonnes pratiques du développement, abordant les bases et les stratégies pragmatiques pour résoudre les problèmes quotidiens.

  2. Clean Code: Un guide pour développer de l'Agilité
    Apprenez à écrire du code propre, lisible et maintenable, essentiel pour tout développeur soucieux de la qualité.

  3. The Clean Coder: Un guide de conduite professionnelle pour les programmeurs
    Ce livre vous guide à travers les aspects professionnels du développement, y compris la gestion du temps, la communication, et la gestion des attentes.

Ressources en Ligne

  • Exercism.io : Pratiquez vos compétences dans différents langages de programmation avec des feedbacks détaillés.

2. Pratique Avancée et Qualité du Code

Livres Clés

  1. Growing Object-Oriented Software, Guided by Tests (G.O.O.S.)
    Un classique sur le TDD (Test-Driven Development), ce livre vous montre comment développer un logiciel guidé par les tests, tout en adoptant des pratiques orientées objet.

  2. Refactoring: Améliorer le design du code existant (2ème Édition)
    Découvrez comment améliorer la structure de votre code sans en modifier son comportement, une compétence clé pour tout développeur.

  3. Working Effectively with Legacy Code
    Apprenez à travailler avec du code hérité, souvent inévitable dans le développement logiciel, tout en le rendant plus maintenable.

Ressources en Ligne

  • Codewars : Entraînez-vous à résoudre des défis de programmation tout en appliquant les principes du clean code.

3. Conception et Architecture Logicielle

Livres Clés

  1. Domain-Driven Design: Tackling Complexity in the Heart of Software (Le Livre Rouge)
    Le classique de Eric Evans qui explore le Domain-Driven Design (DDD) et comment structurer vos logiciels autour des besoins métier.

  2. Implementing Domain-Driven Design (Le Livre Jaune)
    Un guide pratique pour appliquer les concepts du DDD de manière concrète dans vos projets.

  3. Designing Data-Intensive Applications
    Apprenez à concevoir des applications évolutives, résilientes et performantes en comprenant les architectures des systèmes de données.

  4. Building Evolutionary Architectures: Support Constant Change
    Ce livre vous guide dans la conception d'architectures capables de s'adapter aux changements constants, un aspect crucial dans les environnements modernes.

Ressources en Ligne

  • System Design Primer : Une ressource complète pour comprendre la conception de systèmes à grande échelle.

4. Déploiement et Maintenance avec DevOps

Livres Clés

  1. The Phoenix Project: Un roman sur l'IT, DevOps et la réussite de votre entreprise
    Un roman qui illustre les principes DevOps à travers une histoire engageante, idéale pour comprendre les enjeux et la mise en œuvre des pratiques DevOps.

  2. Accelerate: The Science of Lean Software and DevOps
    Basé sur des recherches approfondies, ce livre présente les pratiques qui mènent à une meilleure performance dans les équipes de développement.

  3. Continuous Delivery: Livraisons fiables de logiciels via l'automatisation de build, test et déploiement
    Ce livre vous montre comment automatiser le processus de livraison de logiciels, réduisant ainsi les risques et augmentant la fréquence des déploiements.

Ressources en Ligne

  • Kubernetes Documentation : Une ressource incontournable pour comprendre l'orchestration de conteneurs dans les environnements DevOps.

Contributeurs et Participation

Si vous souhaitez contribuer, que ce soit pour ajouter de nouvelles ressources, corriger des informations, ou partager vos propres expériences, n'hésitez pas à proposer vos modifications.

Vous pouvez soumettre vos contributions via des pull requests sur le dépôt GitHub associé à ce guide. Toute aide est la bienvenue pour faire de ce guide une ressource encore plus précieuse pour la communauté des développeurs.