Être "Software Craftsman" ou artisan logiciel, c'est avant tout s'intéresser au métier. Face à des besoins changeants et à des désirs infinis, le découpage et la priorisation sont des tâches essentielles pour structurer le développement. L'agilité est un très bon moyen pour piloter le code par le métier (DDD) que ce soit par des méthodes traditionnelles telles que SCRUM ou KANBAN ou plus customisées (Scrumban). L'enjeu est ici d'adapter d'adapter la méthode choisie aux fonctionnements de l'entreprise et à la maturité des équipes.
Les langages, les librairies, les frameworks et les technologies, souvent éphémères, sont bien moins importants que les méthodologies de développement. Organiser son code autour de bonnes pratiques (KISS, SOLID), de tests (BDD, TDD) est indispensable pour obtenir un logiciel de qualité et pérenne dans le temps.
Même s'il n'y a pas de Silver Bullet, je m'intéresse beaucoup aux nouvelles architectures (Onion, CQRS, EventSourcing, micro-services) qui concurrencent de plus en plus le traditionnel 3-layers.
J’ai à mon actif un grand nombre de réalisations sur les technologies .NET et mon profil est polyvalent, que ce soit Back/Front (fullstack) ou Web/Client lourd.
J'aime la technologie, mais moins que la satisfaction du client.
Mes compétences :
XAML
SQL
C# .NET
Scrum
JAVA / J2EE
LINQ
Agile Development
ASP.NET
MVVM
Entity Framework
TFS
Programmation objet
BDD
TDD
DDD
CQRS
Event sourcing