The Daily Friction

A daily newsletter about automation and eliminating friction.

5 reasons NOT to automate.

5 reasons NOT to automate. This might sound odd coming from me, a staunch advocate of automation. However, beware! If you're handling a process for the first, second or third time, don't rush to automate it immediately. Patience is key. Why? 1️⃣ Automation works best...

read more

Justifying marketing is hard.

Justifying marketing is hard. Generating awareness and traffic is hard to quantify. What is the ROI for marketing? The reason is the distance to the sale transaction. How further away how harder it is to quantify. Conversion is the closest to a sales transaction. They...

read more

Be a T-shape developer

Be a T-shape developer I always advocate developers to specialize when they are becoming senior. But don't lose track of the rest of the playfield. So be broad, know a lot of technologies and areas, but also go deep into one or more. That is a T-shaped developer. Why...

read more

OpenTelemetry for Dataverse ServiceClient?

OpenTelemetry for Dataverse ServiceClient? I love OpenTelemetry. It's so easy to plug in instrumentation and have a clear view of your distributed system. But Dataverse ServiceClient doesn't have it yet... Its logging is sparse. Fixing a bug using the Dataverse logs...

read more

Nobody cares about bad code if it works.

Nobody cares about bad code if it works. Besides you and your team, others don't care about the bad code that exists in your codebase. Management will not give you time to make the code better. So don't put it as a task on the board for the Product Owner to...

read more

Locality of Behavior principle (LoB):

Locality of Behavior principle (LoB): "The behavior of a unit of code should be as obvious as possible by looking only at that unit of code." This principle is starting to get more and more traction. I like it. You see it in components like React/Vue/Svelte. One file...

read more

‘Functions need to do one thing’-mantra is wrong.

'Functions need to do one thing'-mantra is wrong. Since Robert C. Marting wrote the book Clean Code, developers try to implement the guidelines from that book. One of them is to write Small focused functions. Please stop doing that! Don't let me go through multiple...

read more

This time it’s going to work: Papa!

This time it's going to work: Papa! My first word of my son was 'apple'. Now tutoring my little daughter of 9 months to say 'papa' (daddy) as her first word. Using the heavy guns for this: Letting her listen to the songfestival 'Europapa' song on repeat!

read more

Imagine if every microservice gave insights.

Imagine if every microservice gave insights. And that every piece of code would do generate these insights in the same way? Could you link one service call to another service call because they share the same logging schema with a parent id? That is what OpenTelemetry...

read more

When to create a Custom Activity?

When to create a Custom Activity? I'm always very reluctant to create Custom Activities. They come with a lot of bagage. Their stretch is excessively big, creating a lot of relations in all kinds of entities. Once you create a Custom Activity it's kind of permanent:...

read more

Five myths about .NET and C#

Five myths about .NET and C# Why is .NET not popular with startups? This was a question asked on Reddit, where the main theme in the answers was a lot of legacy thinking around C# and .NET. 1️⃣ Only for Windows From .NET 5 and up .NET is multi-platform. It can build...

read more

You hate doing Sales?

You hate doing Sales? Picture the pushy car salesperson who breathes down your neck. No one aspires to be that. Is that what sales is to you? It used to be for me 🤔. It's time to shatter that stereotype ❌. The first shift in perspective? Not every call has to...

read more

Subscribe to
The Daily Friction

A daily newsletter on automation and eliminating friction