Speaker: Julien LENORMAND – DevOps Engineer and Software manager @Kaizen Solutions
This talk introduces core concepts of software craftsmanship — a mindset focused on continuous improvement, code quality, and collaborative development. Framed like a survival guide, it highlights the habits and values that help developers thrive in the long term.
🧠 A – Continuous learning
- Stay curious — learn how others solve problems.
- Read foundational books like The Pragmatic Programmer, De Compagnon à Maître.
- Software is always evolving; so should your skills
- Cultivate a growth mindset: master your craft over time, not overnight.
✅ B – Best Practices
- There’s no universal solution — everything depends on context.
- Best practices are not recipes — they’re starting points for discussion.
- Share experiences and make decisions as a team.
🧼 C – Clean Code
- Ask: Who are you coding for?
- Not just for machines — for humans who read, maintain, and evolve the code.
- Clean code is harder, but worth it: it enables understanding and collaboration.
- Concepts:
- Code smells
- WTFs per minute
- Boy Scout Rule: always leave the code cleaner than you found it.
📐 D – Design Patterns
- Not mandatory knowledge — but helpful for recognizing and naming problems.
- Patterns = tools, not solutions.
- Don’t force them (“putting squares in circles”) — apply when it fits naturally.
🎯 K – KISS (Keep It Simple, Stupid)
- Strive for simplicity first.
- Deliver value before adding technical complexity.
- Simplify again, then only complexify if really needed.
- Avoid premature optimization — clarity > cleverness.
👥 P – Pair Programming
- Two brains are better than one:
- Encourages knowledge sharing, better solutions, fewer mistakes.
- Increases collective ownership (bus factor ↓).
- Tools: Dojos, Katas → start small, it’s not always easy at first.
🏗️ S – SOLID Principles
- Solid foundation for design, but not all are equally useful every time.
- Hot take: SRP (Single Responsibility Principle) and DIP (Dependency Inversion Principle) are the most valuable.
- Use them to clarify code, not over-engineer it.
🧪 T – Test Driven Development (TDD)
- Not a silver bullet, but a powerful mindset and tool:
- Forces clear thinking about design.
- Helps ensure you have a safety net of tests.
- Enables small steps and fast feedback loops.
- Encourages better code documentation through tests.
- TDD takes practice, failure, and learning — it’s a discipline.
🔁 R – Refactoring
- Essential for adapting to change.
- Helps keep control over the codebase.
- Works best in symbiosis with tests — refactor with confidence.
- Refactoring is how we prepare the code for the future.
💎 V – Values
- Software Craft = embracing values, not just techniques:
- Pride in well-crafted software
- Constant learning
- Raising the bar for ourselves and others
- Helping teammates grow
- Reference: Software Craftsmanship Manifesto
- Book recommendation: Software Craft @ Dunod
Conclusion
- Craftsmanship is about more than clean code — it’s about mindset, collaboration, and values.
- It’s not perfection — it’s progress, improvement, and intent.
- Every practice has context; adopt what works, question what doesn’t.
- As developers, we don’t just write code — we shape the product and the team.