This journey is an attempt to centralize useful resources (code kata, workshops, talks) that can help aspiring Software Craftsperson in their Journey.
- Self-assessment
- Clean Code
- Clean Testing
- Solution Design
- Refactoring / Technical Debt Management
- CI / CD
- Collective Ownership
- Other Resources
You can drive continuous improvement within your team by using a self-assessment
tool like the one described here.
There is one category for each big craft topic I have selected.
When I start to work with a new team, I use this tool to align team members on the current situation of the team. For each card, each individual can express their point of views on the topic by:
Choosing
which color represents the most the team situationExpressing
their findings on itExploring
improvement areasDefining
experiment actions
We can design new cards with the team based on categories they want to improve in.
We then use those cards to measure the improvement of the team in time, and the impact of my agile technical coaching
.
I use those cards to categorize the below resources. I use them to teach and coach teams on those different axis.
You can download those cards here.
- Codefather: A Coding Kata on Naming
- Crappy-Driven Development
- S.O.L.I.D principles
- Programmer's Brain - What every programmer needs to know about cognition
- Design Patterns in FP
- Functional Programming made easy in Java & C#
- FP 101 on the JVM
- Kotlin for java refugees
- F# for OO Programmers
- Anatomy of Unit Tests
- Test Doubles
- Parameterized Tests
- Styles of Unit Tests
- The hunt for anti-patterns
- The hunt for 100% code coverage
- Define your Test Strategy
- A Journey to Property-Based Testing
- Bulletproof your code with "Mutation-Based Property-Driven Development"
- Type-Driven Development with PBT
T.D.D categories are inspired by Philippe Bourgau's Mind Map.
- Domain Driven Design re-Distilled
- DDD / Clean Architecture / Tell don't ask Kata
- Test your Architecture with ArchUnit
- Improve the design and testing of your micro-services through Consumer-Driven Contract Testing
- Co-designs - From high level Architecture to Solution Design by working collaboratively
- Design sessions - Collaborative Design
- How to Interview Domain Experts
- Fundamentals of Software Architecture
- Aligning Product & Software Design
- Refactoring journey
- Gilded Rose - with Approval Testing
- Refactoring by Example
- Yatzy
- Untangled Conditionals Kata
- Elections
- Ugly trivia game
- Trip service - refactoring with Seams
- Theatrical Players Kata
- Pair Programming
- Code Review Best Practices
- Mob Programming
- How to start a Community Of Practices
- Cultivate Team Learning with Xtrem Reading
Xtrem T.D.D is a kata that demonstrates a lot of craft practices:
- Mutation Testing
- T.D.D from scratch
- Fight Primitive Obsession / T.D.D on existing code
- Avoid for Loops
- Immutability
- Avoid Exceptions
- Use existing monads
- Property-Based Testing to challenge a Domain Model
- Example Mapping
- Redesign the Bank
- Acceptance Testing
- Functional Core, Imperative Shell
Toutes les instructions ici.
À travers les différentes étapes présentes dans ce kata voici les sujets couverts :
- Example Mapping
- Static Code Analysis / Linter
- Treat Warnings as Errors
- Mutation Testing
- Test Data Builders
- Approval Testing
- Automated Refactoring
- Property-Based Testing
- Tests d'Architecture
- Test-Driven Development
- Clean Architecture
- Domain Driven Design
- Tell Don't Ask
- Functional Programming
- Avoid Primitives
- Avoid Exceptions
- Architecture Decision Records
- Event Sourcing
25 challenges to learn and practice craft techniques.
More infos here.
- Agile Tech Coaching - The missing piece of your Agile Transformation
- 50 shades of Dev Practices
- Clean Code du point de vue de la Cognition
- Libérez vos entretiens d’embauche avec la gamification
- Developer Ethics
- Xanpan - a team centric agile method story
- Drive and Intrinsic motivation
All my book infographics are available from here
The Software Craftsman
by Sandro MancusoLeadership is language
by David MarquetCulture is Everything
by Tristan WhiteSamman Technical Coaching
by Emily BacheLeadership Strategy and Tactics: Field Manual
by Jocko WillinkSoftware-Design X-Rays
by Adam TornhillSucceeding with OKRs in Agile
by Allan KellyTeam Topologies
by Matthew Skelton, Manuel PaisRefactoring at Scale: Regaining Control of Your Codebase
by Maude LemaireLa Liberté du Commandement
par Loïc FinazThe programmer's brain
by Felienne HermansUnit Testing Principles, Practices, and Patterns
by Vladimir KhorikovHow to avoid a climate disaster
by Bill GatesTu fais quoi dans la vie
by Joséphine Bouchez et Mathieu DardaillonUne vie sur notre planète
by David AttenboroughCode that Fits in Your Head
by Mark SeemannSoftware craft, TDD, Clean Code et autres pratiques essentielles
par Cyrille Martraire, Arnaud Thiéfaine, Dorra Bartaguiz, Fabien Hiegel, Houssam FakihThe Good Life - Ce que nous apprend la plus longue étude scientifique sur le bonheur et la santé
par Robert Waldinger, Marc M.D. SchulzDynamic Reteaming - The Art and Wisdom of Changing Teams
by Heidi HelfandRéaliser ses rêves, ça s'apprend
par Thomas Gibot