Depuis des années j’en entends parler de cette conférence mais jamais en négatif. Cette année j’ai décidé de vérifier par moi même. J’ai donc acheté les billets, réservé l’hôtel et suis parti à la découverte. Je ne suis jamais allé en Norvège donc en même temps cette visite me permet d’avoir un aperçu de ce pays et de revenir une autre fois pour le visiter. En attendant la cible principale est la conférence NDC 2011.
J’embarque donc dans l’avion (retard 2h) et j’arrive à l’aéroport de Oslo vers minuit. Bien qu’à Paris on ait plein de moyens de transport différents pour se rendre de l’aéroport à la capitale et vice-versa, à Oslo la gare ferroviaire est directement dans l’aéroport. C’est agréable de ne pas se demander où aller ou de trimbaler très loin là valise. Les taxis sont à éviter car vu les prix en Norvège et la distance à parcourir (50km) vous pouvez facilement exploser votre budget. Les prix des taxis à Paris c’est rien à côté ! La première impression qui vous frappe quand vous montez dans le train c’est la propreté (qui d’ailleurs se retrouve également dans les rues) ! De plus la finition bois, alu ajoute un effet supplémentaire de standing, cool ! De plus je ne vois aucune dégradation (tags, etc.) laissée par des passagers comme ce qu’on peut voir très souvent ici. Enfin, à l’arrivée du train, je continue mon chemin à l’hôtel qui n’est qu’à 10 min de la gare.
Mais bon, je suis là pour vous parler des mes impressions quant à la conférence et non ma visite de Oslo.
Premier jour – mercredi
C’est le début de la conférence. En arrivant un petit déj scandinave inclus dans le prix du billet et le départ pour la Keynote de Scott Guthrie. Pour cette journée je privilégie les conférences autour de l’architecture, tests unitaires et de l’agile.
9h – 10h Cloud Computing and Azure
Keynote de Scott Guthrie. A vrai dire la partie la moins intéressante et la plus ennuyeuse de toute la conférence. Des petites solides pour promouvoir Azure faire un peu de promo et voilà. Rien de génial donc je ne vais pas en dire davantage. Cela ressemble énormément à certaines sessions TechDays en France
C’est normal en même temps, il fait parti de MS.
Après le keynote j’ai enfin pu me balader un peu entre les stands et taper quelques discussion avec les gens que j’ai d’abord suivi sur twitter. Il y avait des stands de sponsors de NDC principalement, mais également des stands pour vous servir de la glace, des hotdogs et du café (nespresso bien sûr).
Il est temps de se rendre à la première conférence mais j’ai juste trop de mal à me décider où aller. Il y a plein de speakers et conférences intéressantes entre Uncle bob et Kevlin Henney il est très difficile de choisir.
10h20 – 11h20 - Things You Can Learn from 101 Things I Learned in Architecture School : Kevlin Henney
J’ai donc choisi d’aller voir la conférence de Kevlin Henney sur l’architecture. Il faut avouer que l’homme a l’habitude de donner des conférences car il est très à l’aise et gère magnifiquement bien son timing. De plus ce qu’il raconte est très captivant et intéressant.
Le but de cette session et de faire le parallèle entre ce qu’il a apprit en lisant un livre sur l’architecture des bâtiments et l’architecture de logiciels. Il voulait remettre en cause la manière de penser et de révéler quelques vérités intéressantes (désolé si elles sont sorties du contexte) :
“Les limites encouragent la créativité” – plus il y aura de limites, plus on sera créatif.
“Gérez votre ego ! L’architecte logiciel est uniquement un titre attractif pour les recruteurs” – Il expliquent que la hiérarchie entre les architectes logiciels et les développeurs est trop importante. Chaque architecte logiciel devrait être à l’écoute des développeurs des leurs idées car tout seul il fera moins bien que lorsqu’il travaille collectivement. Il n’a pas la science infuse et ni le monopole sur la créativité.
“Scrum est une collection des règles très ennuyeuses que tu dois changer en les inspectant continuellement et adaptant” – Il ne faut jamais adapter l’équipe aux règles Scrum, mais adapter Scrum à la manière de travailler de l’équipe et du business.
“La beauté des logicielles réside dans la harmonie entre les composants et non dans les composants eux-mêmes” – Oui, il faut voir la beauté en regardant l’ensemble et non juste les briques qui composent le logiciel. Car justement la beauté réside dans la manière les briques s’assemblent et travaillent ensemble.
“Chaque décision d’architecture doit au moins être justifiée par deux raisons différentes” – Il ne faut pas prendre de décisions à la légère. Si on arrive à justifier notre décision de deux manières différentes alors il y a beaucoup de chances que nous avons pris la bonne décision.
“Nous somme au 21ème siècle et tout le monde se fout de savoir qui étaient/sont vos parents alors appliquons la même chose aux classes. N’utilisez pas l’héritage” – Beaucoup de développeurs utilise l’héritage à outrance, il vaut mieux privilégier la composition.
Toute cette session était bien entendu basée sur des exemples concrets de la vraie vie. Il y’en avait beaucoup d’autres !
14h40 – 12h40 - Designing Software with SOLID principles : Daniel González García
Un autre choix difficile à faire vue les sessions qui se tiennent en parallèle. Mais au final c’est une session également très intéressante concernant les principes de développement SOLID avec des exemples concrets. Quoi dire de plus ? Il n’y a pas eu de nouveauté pour ceux qui connaissent très bien ces principes mais un petit rafraichissement n’est pas de trop. J’ai fait une petite introduction là dessus, que je n’ai pas pu terminer d’ailleurs, mais ceux qui ne connaissent pas pourront avoir une idée de quoi il s’agit : http://blogs.developpeur.org/tja/archive/2009/10/25/architecture-est-ce-que-votre-code-est-s-o-l-i-d-e-introduction.aspx.
Deux phrases important à se rappeler :
“Non respect de la loi LOD, casse l’encapsulation”
“Séparation de concepts. Agissez que sur vos données propres” – Il s’agit de ne pas agir ou prendre des décisions par rapport aux données des objets avec lesquels on collabore.
Et voilà, c’est la pause déjeuner. Bien sûr on ne peut pas dire que c’est un déj 4 étoiles mais cela est suffisant pour se sustenter correctement et être prêt pour la suite qui s’annonce pas très mal. J’ai pu discuter avec des gens intéressant, avoir une petite discussion avec Uncle Bob au stand des glaces ou avec des développeurs norvégiens. D’ailleurs quand vous parler avec les norvégiens vous vous vite apercevez que l’anglais c’est leur deuxième langue, car ils parlent tous très très bien cette lanque. Cela ne m’étonne pas que NDC et les conférences en anglais ont été vite adoptées dans ce pays.
Il faut choisir une autre conférence pour commencer l’après midi. Potentiellement il y a deux conférences qui m’intéressent. Une sur le DDD (Domain Driven Design) et une autre sur les tests unitaires avec BDD (Behaviour Driven Development). Il y a également celle de Douglas Crockford sur EcmaScripts qui peut être intéressante mais n’y connaissant rien je préfère de laisser tomber. La conférence de ScottGu’ sur ASP.NET MVC 3 et EF Code First me parait trop basique donc finalement je choisi d’aller voir l’équipe de SpecFlow et le BDD.
15h – 16h - Building .NET applications with BDD : Gaspar Nagy et Jonas Bandi
Quoi dire de plus ? SpecFlow présenté par leurs créateurs ! Génial ! Je ne vais pas me répéter car assistant à la même conférence que Rui, il a déjà fait le boulot de décrire ce qu’on a vu et entendu pendant cette conférence. Voici le lien : http://www.rui.fr/event/nec-2011-day-1-specflow-pragmatic-bdd-for-net/2011/06/08/.
Si vous voulez voir les slides de cette conférence, voici le lien : http://blog.jonasbandi.net/2011/06/our-ndc-2011-slides-specflow-bdd.html.
Et voilà, il est temps de choisir une conférence suivante. A vrai dire c’est le créneaux où le choix à faire est le plus difficile. Entre Rob Ashton et “Document databases with ASP.NET MVC” ou Ian Robinson et “Business Architecture Foundations of IT” ou encore par exemple Hadi Hariri (JetBrains) “Dynamic in a Static World” j’ai finalement choisi :
16h20 – 17h20 - Introducing The FLUID Principles : Kevlin Henney Anders Norås
Titre provocateur ! Excellent Kevlin de la sessions précédente accompagné cette fois ci par Aders Noras que je ne connais pas bien. Ils commencent par faire quelques blagues (qui d’ailleurs ne s’arrêtent pas pendant la durée de la sessions) et déroulent le sujet pour introduire les principes FLUID ! C’est une première mondiale
De quoi s’agit t-il ? C’est une contradiction de SOLID
En fait les principes FLUID c’est :
Functional
Loose
Unit Testable
Introspective
‘Dempotent (d’ailleurs beaucoup de rire dans la salle comment il ont faire rentrer le mot Idempotent)
En gros, à travers les exemples dans divers langages de programmation il démontrent chaque principe afin de fabriquer le software à l’épreuve du temps.
Vous trouverez plus d’informations dans les slides de la conférence qui sont disponibles ici : http://www.slideshare.net/anoras/ndc-2011-the-fluid-principles.
Une dernière conférence de la journée à venir. Hadi Hariri présente “Refactoring Legacy Code Bases” qui m’intéresse, Shay Friedman “ASP.NET MVC 3 Vs. Ruby on Rails 3” ou Uncle Bob sur “The Transformation Priority Premise”. Finalement je décide d’accompagner Rui à la conférence de Jon Skeet
17h40 – 18h40 – Async 101 : Jon Skeet
A vrai dire cette conférence m’a tué
L’auteur de C# in Depth sait de quoi il parle ! Ca a commencé doucement en présentant les différentes façons d’utilisation de async dans le code C# mais à vrai dire je me suis un peu perdu vers la fin lorsqu’il a abordé l’exécution de plusieurs méthodes async en parallèle ce qui d’ailleurs n’est pas supporté out of the box par le framework. Il a du pour cela écrire une extension de Linq qui marche très bien mais qui n’était pas si facile à comprendre à ce stade de la journée
. Voilà j’en dirai pas plus à ce sujet. Je vous invite à consulter son blog où vous trouverez beaucoup d’informations à ce sujet
: http://msmvps.com/blogs/jon_skeet/.
Bilan de la première journée
Après cette première journée, je suis très content de constater que la conférence est très intéressant et traite des sujet pointus avec des gens qui savent de quoi ils parlent. J’ai eu quelques regrets de ne pas pouvoir me cloner et assister à plusieurs conférences en même temps, mais heureusement bientôt il y aura des webcasts disponibles en téléchargement. Ce qui m’a plu également est le fait de pouvoir choisir les conférences au dernier moment. Il y avait des places pour tout le monde donc on pouvait facilement changer d’avis au dernier moment. La disponibilité des intervenants et leur envie de rencontrer des gens pour discuter était également un plus non négligeable car il était possible des les questionner sur d’autres sujets intéressant.
Il est maintenant temps de rentrer à l’hôtel et de se préparer pour la journée suivante.
// Thomas
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :