Joined January 2009
3 Photos and videos
Service Bus sessions are not free ordering. Under bursty load, one hot session can pin throughput for minutes while the queue looks "fine." We design around concurrency caps, partitioning, and dead-letter pressure, not the promise of sequence. Why this matters: Azure Service Bus Sessions in .NET 9 - Why Ordering Guarantees Become a Production Trap is not just a coding detail - it directly affects reliability under real production load. #AzureServiceBus #RabbitMQ #Kafka #NetherlandsTech #DutchTech #RandstadTech #BookingTech #YachtIT #CapgeminiNL
6
Most reflection bugs are not slow - they are invisible until traffic rises. In .NET 9, moving shape discovery to compile time removes metadata lookup from hot paths, cuts startup cost, and keeps steady-state latency off the reflection tax. Why this matters: .NET 9 Source Generators for Runtime Performance and Reduced Reflection Costs is not just a coding detail - it directly affects reliability under real production load. #RAG #VectorDatabase #NetherlandsTech #DutchTech #PhilipsJobs #TomTomJobs #MichaelPageNL #YachtIT
2
Event-driven microservices: not the magic bullet for scalability. Under heavy load, hidden consistency issues lead to data divergence, tough to debug in production. "Eventual consistency is fine" often ignores real operational challenges. #AzureServiceBus #RabbitMQ #UAETech #DubaiTech #NoonJobs #CareemJobs #PwCME #AccentureME
83
Cloud costs can skyrocket with AI workloads if not managed wisely. Performance metrics often overshadow cost efficiency, leading to expensive surprises. Imagine AI models consuming cloud resources erratically-this is not hypothetical. Many teams face hefty bills due to poor workload management. Effective resource allocation is crucial in cloud-native environments. Auto-scaling might seem ideal, but without proper thresholds, it leads to waste. Incorrect instance types may seem cheaper but often cause underperformance and latency, negating savings. The real game-changer is workload scheduling. Running heavy tasks during off-peak times can slash costs by up to 30%. This isn't theory; teams see these savings in action. Focus not just on tools but on practices. Implement continuous monitoring and use AI to predict usage patterns, balancing cost and performance. How are you optimizing your AI architecture for sustainable growth? #ai #MexicoTech #RemoteMexicoJobs #RemoteCSharpJobs #RemoteAzureJobs #RemoteEngineering #ToptalHiring #BraintrustTalent #AndelaTalent #NearshoreTechJobs #HRHiring
3
Navigating cloud compliance isn't just technical-it's strategic. GDPR demands embedding compliance into DevOps without losing agility. Picture this: your deployment pipeline includes continuous compliance checks to ensure every change aligns with GDPR. The solution? A DevOps strategy integrating compliance throughout the lifecycle. Here's how: - Automated Checks: Continuously monitor and report compliance status. - Infrastructure as Code (IaC): Use IaC for a compliant infrastructure, rolling back non-compliant changes. - Policy as Code: Enforce data protection rules within the pipeline. - Regular Audits: Schedule audits in the CI/CD pipeline to keep up with evolving regulations. By embedding compliance in DevOps, you meet regulatory demands and maintain agility. How have you integrated compliance into your DevOps practices? #EnterpriseEngineering #TechLeadership #fullstack #SalesforceDublin #HubSpotJobs #IntercomJobs #MorganMcKinleyTech #CPLTech #ReperioHumanCapital #SigmarTech #FreelanceRecruiterIE
3
Security lapses in CI/CD pipelines are ticking time bombs. Teams often focus on application security, overlooking the pipeline. This gap risks sensitive data and operational integrity. In .NET setups, secure every DevOps stage. Start by auditing for exposed credentials or APIs. Use .NET tools like SonarQube for static analysis to catch early issues. Apply role-based access control (RBAC) in Azure DevOps to limit who alters pipeline configurations. Protect artifacts using Azure Key Vault for secret management. Regularly conduct penetration tests, not just on apps but also on build scripts and deployment setups. Microsoft's Security Code Analysis extension for Azure DevOps can automate this. Promote a security-aware culture among your DevOps team. Train them on CI/CD risks and encourage regular security reviews. Overlooking pipeline security could lead to breaches. How do you safeguard your CI/CD pipeline against vulnerabilities? # #DotNetFullStack #FullStackDotNet #AspNetCore #BookingJobs #BookingCareers #AdyenTech #HarveyNashNL #WaltersPeopleNL #Undutchables #ExperisNL #TechRecruiter
5
Serverless promises scalability and cost-efficiency, but the reality is more nuanced. While it offloads infrastructure management, it introduces hidden complexities. The myth of serverless as "set it and forget it" crumbles with cold starts affecting latency or vendor-specific limits restricting flexibility. Consider an e-commerce platform going serverless for peak sales. They faced unexpected throttling due to underestimated execution limits. Adjusting architecture required a deep dive into concurrency management, shifting focus from business-critical features to scaling issues. Thinking serverless is cheaper can backfire. Costs spiral with high request volumes or prolonged executions. The pay-per-invocation model looks attractive until you realize optimizing execution time is crucial to control expenses. Vendor lock-in is another pitfall. Services like AWS Lambda or Azure Functions offer great integration, but moving workloads elsewhere is daunting if reliant on proprietary features. Serverless has its place, but understanding trade-offs is key. Have you faced unexpected serverless challenges in your deployments? #HSMVisa #DutchTech #AmsterdamTech #BolComTech #Adyen #ASML #DarwinRecruitment #MichaelPageNL #RobertHalfNL #ComputerFutureNL #HRHiring
2
Most .NET teams debug AI outages at the model layer first. Often the real failure is simpler: a bad retry policy around '429'. One overloaded model endpoint returns rate limits. 50 app instances retry on the same cadence. Your queue length doubles. Latency spreads into unrelated requests. Token cost climbs because duplicate work is now in flight. The fix is not "retry harder." Use jittered backoff, per-tenant budgets, dedupe repeated prompts, and trip a circuit before the expensive path takes the rest of the API down. Treat the LLM like a dependency with failure modes, not a feature with vibes. #dotnet #aiengineering #cloudengineering #ShopifyJobs #HootsuiteJobs #WealthsimpleJobs #AquentTech #RobertHalfTech #MotionRecruitment #Toptal
7
The rewrite usually starts too early. In mature .NET systems, the first win is often not new code. It is finding: - the service boundary that should never have been split - the retry logic that amplifies partial failure - the shared data model blocking every release - the deployment step no one can explain confidently Modernization gets cheaper when you map coupling before you redesign it. #dotnet #microservices #cloudengineering #SAPJobs #SiemensTech #BMWTech #CapgeminiDE #AccentureDE #CapgeminiGermany #AccentureGermany
8
Full-stack .NET is not "backend plus some React." It is the ability to follow one user action through: - API contract - database behavior - queue or cache side effects - frontend rendering - Azure telemetry That matters because most production bugs are not isolated to one layer. They are translation failures between layers. Teams that hire for only one slice often discover the gap during incidents, not during delivery. #dotnet #fullstack #systemdesign #INGTech #PhilipsTech #TomTomTech #CapgeminiJobs #SogetiJobs #InfosysJobs #RandstadJobs
9
The most expensive senior .NET hire is the one who interviews well on abstractions but cannot reduce operational risk. What I look for in a real production role: - release paths that fail only on Fridays - APIs whose latency problem is actually downstream I/O - Azure spend created by layering services instead of removing them - EF Core and queue behavior that looks fine at 5 users and breaks at 500 Senior engineers earn trust by making the system calmer, not louder. That is usually more valuable than another interview loop on language trivia. #dotnet #azure #softwarearchitecture #BookingTech #AdyenTech #ASMLTech #CapgeminiNL #SogetiNL #InfosysNL #RandstadTech
2
WebSocket APIs get hard when connection count grows. The real design questions are reconnect behavior, replay expectations, and how you handle slow consumers without destabilizing the node. Why this matters: WebSocket Streaming in ASP.NET Core - Patterns for Real-Time APIs is not just theory - it directly affects reliability under production load. #WebSockets #RealtimeAPI #PortugalTech #LisbonTech #TalkdeskJobs #FarfetchJobs #MichaelPagePortugal #ALTENPortugal #TechRecruiter
4
Broker choice should start with workload shape, not popularity. Commands/tasks, routed queues, and replayable event streams are different problems - and Service Bus, RabbitMQ, and Kafka optimize differently. Why this matters: Azure Service Bus vs RabbitMQ vs Kafka - Practical Decision Guide for .NET is not just theory - it directly affects reliability under production load. #AzureServiceBus #RabbitMQ #NetherlandsTech #DutchTech #TomTomJobs #CoolblueJobs #YachtIT #CapgeminiNL #TechRecruiter
5
Structured logging is not just "JSON logs". If services use different property names for the same concept, incident investigation still hurts. Standard vocabulary is where the payoff starts. Why this matters: Structured Logging at Scale - Serilog Seq in Multi-Service .NET Deployments is not just theory - it directly affects reliability under production load. #Serilog #Seq #StructuredLogging #ZalandoJobs #DeliveryHeroJobs #SAPJobs #SiemensJobs #CapgeminiDE #AccentureDE #TechRecruiter
6
IHostedService and BackgroundService are related, not interchangeable. Pick based on what you are optimizing for: lifecycle orchestration or a long-running execution loop. Why this matters: IHostedService vs BackgroundService - Long-Running Task Architecture Decisions are not just theory - it directly affects reliability under production load. #dotnet #backgroundservices #architecture #ASMLJobs #INGJobs #PhilipsJobs #TomTomJobs #CapgeminiNL #SogetiNL #InfosysNL
2
PII masking should happen before the LLM call. If sensitive data reaches the prompt, your boundary has already failed. Production AI needs pre-model policy checks, masking, trace IDs, audit logs, and rejection paths. Why this matters: PII Before The Prompt is not just a coding detail - it directly affects reliability under real production load. #LLM #RAG #AIAgents #LLMOps
8
Feature flags are not just boolean if-statements. Without ownership, expiry, and observability they become production debt. OpenFeature helps by giving .NET teams a cleaner contract. Why this matters: Feature Flags with OpenFeature in .NET - Production Toggle Architecture is not just theory - it directly affects reliability under production load. #dotnet #csharp #SeniorDotNet #VisaSponsorship #NetherlandsTech #TechRecruiter #CoolblueJobs #RandstadTech #BookingTech
6
A 200 health endpoint means very little if the service cannot do useful work. Liveness and readiness answer different operational questions. Treat them differently in ASP.NET Core. Why this matters: ASP.NET Core Health Checks - Layered Readiness Probes Beyond the Basics is not just theory - it directly affects reliability under production load. #dotnet #csharp #VisaSponsorship #NetherlandsTech #TechRecruiter #INGJobs #PhilipsJobs #TomTomJobs #YachtIT
1
Most RAG failures are retrieval failures, not model failures. Bad chunking, weak metadata, no reranking, and no retrieval evaluation give the model bad context. A vector database stores vectors. It does not solve knowledge architecture. Why this matters: RAG Fails Before Generation is not just a coding detail - it directly affects reliability under real production load. #systemdesign #microservices #SeniorDotNet #UAETech #EtisalatJobs #NoonJobs #CareemJobs #AccentureME #TechRecruiter
2
A cache stampede happens when a hot key expires and every request falls through at once. Jittered TTLs, single-flight refresh, and stale-while-revalidate are the real fixes. Why this matters: Redis Cache-Aside in .NET - Correct Stampede Prevention with IDistributedCache is not just theory - it directly affects reliability under production load. #dotnet #csharp #VisaSponsorship #NetherlandsTech #TechRecruiter #RandstadTech #BookingTech #AdyenTech #YachtIT
1