Paul Karam
.NET Consultant and Mentor
Brussels, Belgium
Actions
I've been developing software for nearly 20 years, both professionally and as a lifelong passion. Throughout that time, I've built a career around solving complex business and technical challenges through pragmatic software engineering, architecture, and consulting.
Today, as a .NET Consultant at AllPhi Belgium, I work closely with organizations to design and deliver business-critical systems, modernize software platforms, and make technical decisions that balance immediate business needs with long-term sustainability. My areas of expertise include software architecture, cloud-native solutions, microservices, system design, performance optimization, and engineering best practices.
Over the course of my career, I've contributed to large-scale, mission-critical platforms where reliability, scalability, and maintainability are essential. I've helped shape technical strategies, guided architectural decisions, led technical workshops and reviews, established development standards, and supported organizations in navigating complex engineering challenges with confidence.
Beyond project delivery, I'm passionate about helping developers grow. I actively mentor colleagues, deliver technical training sessions and workshops, and continuously share lessons learned from real-world projects. I believe that great software engineering goes beyond writing code. It is about making thoughtful decisions, enabling teams, and creating solutions that deliver lasting value.
The talks I deliver are influenced by a combination of real-world experience and a continuous drive to explore the latest developments in the .NET ecosystem. Some sessions draw directly from challenges I've encountered while designing and delivering production systems, while others explore emerging concepts, new technologies, and evolving best practices. Regardless of the topic, my goal is always the same: to connect theory with practice, present ideas in a pragmatic way, and equip attendees with knowledge they can confidently apply in their everyday work.
Area of Expertise
Topics
I let an AI touch my legacy code!
Migrating a 20+ year-old PHP 5 application to .NET 10 sounds risky enough, and adding AI into the mix sounds downright irresponsible.
In this talk, I’ll share how GitHub Copilot actually made the migration faster, safer, and more enjoyable (yes, really, enjoyable). From translating business logic to suggesting modern .NET patterns, we’ll look at concrete examples of Copilot’s impact, the trust boundaries I set, and the lessons learned when AI meets legacy code. This session is perfect for developers curious about using AI beyond toy examples, or developers still reluctant about it!
SSE vs SignalR: Choosing the Right Real-Time Tool in .NET 10
Real-time communication in .NET is no longer “one size fits all.”
With .NET 10 introducing first-class Server-Sent Events (SSE), developers now have two powerful but fundamentally different approaches to pushing data from server to client:
- lightweight HTTP streaming with SSE
- bidirectional, hub-based messaging with SignalR.
In this session, we will dive into the architectural and technical differences between SSE and SignalR,
exploring how they work, characteristics, tradeoffs, and typical use cases.
Through practical examples, we will compare one-way streaming versus two-way communication, connection management, reconnection behavior, browser and client support.
Attendees will leave with a clear decision framework for choosing the right tool for the job,
whether they are building live dashboards, chat systems, event-driven UI updates, or large-scale real-time systems.
By the end of the talk, you will not just know what SSE and SignalR are, but when and why to use each in modern .NET applications.
Estimates: Science, Art, or Educated Guess?
Software estimates are everywhere, yet they are often misunderstood, misused, or treated as commitments rather than forecasts. In this session, we will explore why teams estimate, what they are really estimating, and why translating “complexity” into time can be so problematic.
Drawing from past experiences, this presentation looks at common estimation approaches such as Planning Poker, story points, as well as practical best practices. We will also discuss how teams can try to improve their estimation skills over time.
Whether you are a developer, product owner, or manager, this talk will help you better understand the purpose of estimates, their limitations, and how to make them more meaningful and useful for your team.
Tackling Real-World Performance Issues
This presentation explores real-world performance and reliability challenges encountered in production systems and how they were solved through practical code optimization and architectural improvements.
Using two concrete case studies, it walks through diagnosing hard-to-explain failures and long-running processes in distributed, event-driven environments (including Kubernetes, AWS S3, and multi-process systems). The talk focuses on how issues were investigated, decisions were made, and solutions were designed-highlighting trade-offs, constraints, and measurable results.
Beyond the technical fixes, the presentation emphasizes a problem-solving mindset: deeply understanding the code, identifying bottlenecks, communicating with stakeholders, and thoughtfully designing solutions before implementing them. Ultimately, it frames code optimization as delivering efficient, resilient solutions that solve real problems while minimizing risk and operational impact.
Bridging the gap - Harmony between front-end and back-end development
This presentation explores the shared concepts and patterns between front-end and back-end development, showing how the two worlds are far more aligned than they often appear.
Drawing from hands-on experience, the talk highlights common building blocks such as component-based architecture, dependency injection, routing, configuration, asynchronous operations, logging, and testing. By comparing familiar backend workflows (like .NET Web APIs) with modern front-end frameworks, it demonstrates how many abstractions and design principles translate seamlessly across the stack.
Through a short demo and practical examples, the presentation aims to demystify front-end development for backend engineers, reduce reluctance to work on UI-driven projects, and encourage developers to confidently bridge the gap between front-end and back-end work while acknowledging that UI design is still its own special challenge.
Union types in C#: Bringing type safety to the next Level
C# is evolving to include union types, a long-awaited feature that enables developers to model data more precisely and eliminate entire classes of runtime errors. This talk explores what union types are, how they compare to existing patterns like inheritance and pattern matching, and how they can simplify real-world code. We’ll look at practical examples, design trade-offs, and how to adopt them effectively in modern C# applications.
Office Talk - December 2025
Estimates: Science, Art, or Educated Guess?
Lightning Talk
Bridging the gap - Harmony between front-end and back-end development
Office Talk - December 2024
Tackling Real-World Performance Issues
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