
Hannes Lowette
Head of Learning & Development @ Axxes; Microsoft MVP
Mol, Belgium
Actions
Hannes is a developer, a coach and a father of 3.
In .NET development, he has always had a passion for performance, databases, distributed systems and large scale applications. But most of all, he likes playing devil’s advocate in technical discussions by drawing the ‘it depends’ card.
As a coach, he is enthousiastic about knowledge sharing, personal growth and building careers. All this while keeping in mind that the pace needs to be sustainable.
In his free time, when he’s not building LEGO® castles with his kids, he likes to spend time building guitars, playing chess or poker, tasting whisky and doing all round geeky stuff.
You can occasionally find him on an afterparty stage at PubConf or with Dylan Beattie & the Linebreakers.
Links
Area of Expertise
Topics
Your developer’s intelligence isn’t artificial
“Hire someone with the right skills, pay the price for their immediate productivity and deal with the rest later.” It feels like Big Tech has been using that approach for years, gradually driving up wages for senior profiles in the process.
Is there even another path? Or are we doomed to pay top dollar if we want top talent in our organization? I'm happy to say that there is another approach, and I've been lucky enough to find myself in an organization that lives and breathes the exact opposite of what big tech is doing. Through hard work, experimentation and constant improvement, we have managed to create a culture where we no longer struggle to attract, grow and retain the talent we so desperately need.
A lot of this culture is being driven by regular developers. You can take away some of our learnings, and start implementing them in your company, whatever your role is. That's what makes it so powerful. Doing so can shift the mentality from "us vs. them" to "together we grow".
In this talk, I’ll talk about the journey we’ve gone through the last decade, as well as other companies in the field with similar philosophies. I’ll touch on learning culture, retention, wage policies, coaching and growth. I’ll warn you in advance: none of this is going to be easy. But at the other end of it lies a future where developers and the company grow together. And that is worth fighting for…
Event Sourcing: dealing with an eventful past
"At a certain level of abstraction, all complex systems are message passing systems." - Grady Booch. In software, we are often passing messages around between components, services and even systems. We do so in synchronous and asynchronous ways. The second half of Grady's tweet talks about how societies use memes to pass information across time. In software, we use the state of our system to do the same: everything we write to storage is, in essence, a message for our future system.
If we use Event Sourcing as our persistence pattern, we are making this message passing in time much more explicit in our software. And there are other benefits too! For instance, we are sacrificing a lot less information compared to classical relational databases. We also enable point-in-time capabilities for our entities. And we are much more likely to be able to fulfill future business requests based on old data.
Does that sound complex? It doesn't have to be. In this talk, I will given an introduction to what Event Sourcing is, how to fit it into a CQRS architecture, and what design patterns you can use to unlock its full potential.
10 things you didn't know EF Core can do
You won't believe number 7!
I know, the clickbait joke is rather lame, but I can assure you that this session is not! In this session, I'll take you on a journey in some lesser known features of EF Core and how they can benefit your projects.
In the .NET 8 era, EF Core has far surpassed what Entity Framework used to be, and has become an ORM powerhouse with features that are useful in many different scenarios. But unless you are constantly keeping up with the latest evolutions, chances are you are missing some opportunities to improve your EF Core usage in your projects.
And as the audience, you will have a say in some of the content of this session!
Celebrity Deathmatch: Akka.NET vs Orleans
I grew up in the MTV generation, and that included 'Celebrity Deathmatch', a show where actors and other celebs battled out their differences in the most gruesome ways. In this talk, we also have some actors battling it out on stage. But a bit differently.
In the blue corner we have Akka.NET, a .NET port of Lightbend's Akka on the JVM. A framework that has been improving steadily since its first production release in 2014. It's a framework for distributed applications with a solid reputation and a great community around it.
Fighting from the red corner, we have Orleans, a framework that was first built and used by Microsoft to develop the online services for Halo 4. It was open sourced around the same time in 2014 and has since been used for a number of Microsoft products. Microsoft sees a bright future for Orleans in more general-purpose distributed applications too.
Time to look at these 2 frameworks side-by-side in today's light. Let the fight begin!
(Guitar) strings attached: from UTF-8 to EADGBE
EADGBE, in case you wondered, is the standard tuning for guitar strings. There are many things that pulled me into building guitars about a decade ago. And the more guitars I build, the more I realize that the reasons I like building guitars are pretty similar to what I enjoy about developing software.
Have you ever wondered what goes into building a custom electric guitar? What physics and electronics are involved? And what makes a guitar great? And what myths still float around in the guitar world? I’ll tell you all about it in this talk.
Prepare for a session with plenty of geeky topics, physics, woodworking and analogies between the worlds of luthiery and software craftsmanship.
Actors can rule your DDD world
Have you considered using an actor model to build an event based CQRS system? Why not? Actors and DDD are a match made in heaven!
When developers learn about DDD, they tend to find a way to work the principles into their codebase. After a while, they may end up with some form of event sourcing or CQRS. But often times, the possibilities of using an actor model, such as Akka.NET, are overlooked.
In this talk I will show you to all the things you need to know if you want to build such a system using .NET 6 and Akka.NET. Expect to see a lot of code!
An elementary knowledge of DDD principles is required to attend this session.
The Mario Kart™ guide to building a career
Mario Kart™ teaches us a lot of things: how to take shortcuts, how to stab your friends in the back, and most of all: how to get to the front of the pack. But have you ever stopped to wonder what lessons you can learn from it when it comes to planning for your own success?
Personally, I've had to overcome some obstacles to get to where I am today. And the things I have learned for myself, I have also applied as a coach at Axxes, where I have been involved in a lot of careers besides my own. Seeing other people grow has always been a key motivator for me in my role.
A sure-fire road to success might not exist, but there are numerous lessons I've learned from doing this over the years. Those tips have been helpful to a lot of people, and I'll gladly share them with you.
In this session, I'll dive into building a career head-first. We'll use Mario Kart™ as a guideline and there will be anecdotes from my personal experience as a developer, a consultant and a coach. You'll walk away with some new ideas on how to handle your own career.
Stop punching yourself in the face!
We developers have the tendency to punch ourselves in the face. We do so by making choices about the software we build: architecture, frameworks, libraries, cloud providers, etc. If you’ve been around for a while, you have probably felt the pain of at least a few of those choices.
And yet, if we apply simple logic, we might know in advance what might work, and what will hurt us. Want to hear more? Come to this session to learn how to make choices responsibly, with the goal of minimizing the chance that you will regret them later on.
If only there was a certification that would prove to your peers and superiors that you are good at making these choices... Well, there is! RAD Certification! I'll end my talk by telling you how to get your RAD certificate and the corresponding swag!
Drinking a river of IoT data with Akka.NET
You can’t develop a device any more without it connecting to something. These ‘smart’ devices all have one thing in common: they generate a never-ending stream of data. If you want to process all that data for 100, 1000 or 10000 devices, you can probably get by with a very simple web stack. But as soon as you want to scale to 1000000 or more devices, you’re going to need a better strategy.
Scaling software is always tricky. We all have been through this. You load balance your web farm only to find out that your database is a bottleneck. Or to find out you need to synchronize caches across your farm, etc. Akka.NET and its implementation of the actor model make scaling a bit easier. Developing stateful code becomes a breeze, as well as scaling it and making it resilient. But there are pitfalls as well.
No prior Akka.NET knowledge is required.
Build software like a bag of marbles, not a castle of LEGO®
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly coupled code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
NDC London 2025 Sessionize Event
VisugXL 2024 Sessionize Event
Build Stuff 2024 Lithuania Sessionize Event
J-Fall 2024 Sessionize Event
KanDDDinsky 2024 Sessionize Event
NDC Porto 2024 Sessionize Event
Copenhagen Developers Festival 2024 Sessionize Event
NDC Oslo 2024 Sessionize Event
DevSum 2024 Sessionize Event
Techorama 2024 Belgium Sessionize Event
NDC London 2024 Sessionize Event
VisugXL 2023 Sessionize Event
Haxx 2023 Sessionize Event
Swetugg Gothenburg 2023 Sessionize Event
NDC Porto 2023 Sessionize Event
KanDDDinsky 2023 Sessionize Event
Copenhagen Developers Festival 2023 Sessionize Event
CNUG - Meetup
User group session: Build software like a bag of marbles, not a castle of LEGO®
DevSum 2023 Sessionize Event
NDC Oslo 2023 Sessionize Event
PubConf London 2023
The Roast of Mark Rendle - winner
NDC London 2023 Sessionize Event
YOW! London 2022
Build Software Like a Bag of Marbles, Not a Castle of LEGO®
Dylan and the Line Breakers concert
PubConf Minnesota 2022
Improv round: Hell Froze Over - All Programming is JavaScript Now!
NDC Minnesota 2022
Workshop - Building a scalable backend with Akka.NET
Workshop - Building an event sourced system in C#
Build Stuff 2022 Lithuania Sessionize Event
KanDDDinsky 2022 Sessionize Event
dotnetdays Sessionize Event
Re:factor 2022 Sessionize Event
Re:factor 2022
Changing Lives with Hack Your Future
The Mario Kart™ guide to building a career
Azure Lowlands 2022 Sessionize Event
GOTO Aarhus 2022
Masterclass: building a scalable backend using Akka.NET
Talk: (Guitar) strings attached: from UTF-8 to EADGBE
Craft conference
Actors can rule your DDD world
Techorama 2022 BE Sessionize Event
DevSum 2022 Sessionize Event
DevDay Denmark
(Guitar) strings attached: from UTF-8 to EADGBE
PubConf London 2022
Brownfield round - Jason Takes Your Dev Team - winner
NDC London 2022 Sessionize Event
Haxx 2022 Sessionize Event
NDC Porto 2022 Sessionize Event
NDC Oslo 2021 Sessionize Event
VisugXL 2021 Sessionize Event
Build Stuff 2021 Lithuania Sessionize Event
GOTO Copenhagen 2021
Drinking a River of IoT Data with Akka.NET
Haxx 2021 Sessionize Event
GOTO Århus 2021
The Mario Kart™ guide to building a career
Drinking a river of IoT data with Akka.NET
Techorama 2021 Spring Edition Sessionize Event
NDC London 2021 Sessionize Event
Build Stuff 2020 Lithuania Sessionize Event
NDC Sydney 2020 Sessionize Event
NDC Melbourne 2020 - Online Workshop Event Sessionize Event
NDC Oslo 2020 Sessionize Event
DevSum2020 Sessionize Event
NDC Porto 2020 Sessionize Event
GOTO Oslo 2020
Don't get blamed for your choices
Build software like a bag of marbles, not a castle of LEGO®
PubConf London 2020
HOWTO: Making Enemies Using Classic Games
Build Stuff 2019 Ukraine
Drinking a river of IoT data with Akka.NET
Build Stuff 2019
Drinking a river of IoT data with Akka.NET
Haxx 2019
Closing Keynote
PubConf Amsterdam 2019
So, You Just Landed That Recruiter Job
PubConf Kansas City 2019
Parks & Code Creation
KCDC 2019 Sessionize Event
Techorama Belgium 2019 Sessionize Event
NDC Porto 2019 Sessionize Event
Build Stuff 2018
Build software like a bag of marbles, not a castle of LEGO®

Hannes Lowette
Head of Learning & Development @ Axxes; Microsoft MVP
Mol, Belgium
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top