My name's Guillaume, and I'm super excited to join the Developer Relations team at Vonage as a Senior .Net Developer Advocate! From now on, I'll be focusing on the .Net SDK for our communication APIs and putting .Net developers on a path to success.
I've been in the .Net ecosystem as far as I can remember, starting from my bachelor/master's years until now. It has been quite a journey over the last 15 years or so. My passion for writing code has been driving me ever since.
For the vast majority of my career, I developed using C#, even if I remember some obscure VB.Net projects I'd rather not talk about... Working on .Net means I was able to experiment with various sets of technologies such as Desktop Applications (WinForms, WPF), Web User Interfaces (ASP.Net / Core, Silverlight), Mobile Development (Windows Phone, Xamarin) and, of course, API Development.
During all this time, I was able to witness the evolution of the framework for quite some time, and I'm always amazed by all the new features release after release.
At the moment, I'm getting my hands into another paradigm: Functional Programming. It's something we can already partially do in C#, especially with libraries like language-ext. Basically, I'm getting familiar with is F# and guess what: it's also in the .Net ecosystem. What a coincidence...
One of the most significant milestones in my career is hearing about Software Craftsmanship. It revealed itself to be the perfect match for what I consider meaningful in terms of mindset.
While it encourages us to "build the thing right", we need to remember that building software is not just about building software and being a Craftsman is as much about your soft skills as your technical skills. Indeed, quality is important, and you have to be proud of your work. But so is your own (continuous) improvement, the will to share with others, or practicing egoless programming.
Over the last few years, spreading the mindset and its values felt like a personal duty. I've been mentoring younger peers, organizing code-katas and workshops, and even being responsible to guide teams as their technical coach.
Feedback is probably one of those things I'm the most cautious about during a development process. People might tell you I'm often getting crazy talking about that.
Indeed, feedbacks are crucial to know you're going in the right direction when building something, and you want your feedback loops to be as short as possible. This is something common in various methodologies and mindsets like Agile, eXtreme Programming or Craftsmanship.
It's no surprise that I'm advocating Test-Driven Development too. My preference goes to TDD Double-loop in an outside-in fashion. As engineers, the best feedback we can get is from (automated) small bubbles which can turn red or green depending on if a feature works or not.
I believe that the difference between good code and legacy code lies in transparency and trust in the test suite & the codebase.
In my free time, I write code too! With a friend of mine, we built a workshop this year (about TDD, can you believe that!?), and I love participating in meetups, katas or challenges like AdventOfCode.
For the rest, being the father of 2-year-old horse-addict amazon changed how I spend the rest of my free time. I still try to game from time to time and commit to go to the gym at 6 am every morning.
See you soon!