One Simple Trick That Will Make Your Virtual Meetings Smoother

If you work remotely, this scene will feel familiar during virtual meetings:

Someone is talking, makes a little pause. Somebody else interrupts, then the first person starts talking. A pause. Then, a “you go first,” followed by a “no, no, no. You go first.” Then, both of them talk at the same time. Arrggg!

Here’s a trick to avoid that annoying situation:

Just like pilots or anyone using “single-channel” radio, pause for a few seconds after someone finishes speaking before you respond.

With this brief pause, you give time to the speaker to finish their chain of thoughts and wait long enough for the latency of getting the message on your side.

I Replaced Grammarly with This AI Prompt (Tested on Copilot)

AI is here to stay.

We can’t ignore it. We can’t refuse to use it. We have to adapt, or somebody with AI will replace us.

I’m not in the “Never use AI” team. In fact, I already ran the experiment of launching a coding course with Copilot as my assistant.

But what I don’t agree with is using AI to replace my thinking and writing.

That’s why every single post you find here (or anywhere else online under my name) is written by me—a human, not an AI. #madebyahuman

Even though, I don’t use AI to regurgitate hallucinations, a veteran coder warned me about that the other day, I use AI to proofread and edit my posts. Here’s the prompt I use:

You’re an expert on writing and editing, show the grammar and spelling issues from the next text. Fix those issues, keeping the original tone. Bold all the words you change. Only the words. This is the text:

{add your text here}

Don’t rewrite it. Only fix the grammar and typos. Remember to keep the same tone and structure.

I tested it on Copilot. It should work on ChatGPT too. Give it a try and see if you can replace Grammarly with that prompt as well.

PS: I proofread and edited this post with the very same prompt. No robots were harmed in the making of this post.

What Frustrates Me the Most as a C#/.NET Developer

C# has put a roof over my head and food on my table for more than 10 years.

At university, I learned Java. It was a relief coming from C/C++. Java didn’t have all the things I hated about C. I’m looking at you, pointers.

At my first job, I had to learn C#. The first program I wrote there was a Java program with C# keywords. Oops! Java was the only language I knew at that time.

I like C# and the entire .NET ecosystem. A typed language, multi-paradigm, with good tooling and stable support.

But here are the things that frustrate me the most about .NET:

1. Naming

Naming is one of the two hardest parts of Computer Science. And Microsoft doesn’t help that much.

On one hand, we have “.NET Core” renamed to “.NET”. Everything is .NET now. Was it a marketing strategy? Dunno. Probably.

On the other hand, target framework monikers. You know, the version number we put inside our .csproj files. For some time, they were .netcoreapp1.X, .netcoreapp2.X, and .netcoreapp3.X. But one day, they changed it.

I imagine a conversation somewhere on Teams at Microsoft like this:

  • Let’s change monikers too. Let’s also use .net plus the version number.
  • Wait, we can’t do .net4. We already have a .NET Framework 4.0. People will get confused.
  • Ok, let’s jump to .net5.

Arrggg! Microsoft and names.

2. Too many releases

It’s a good thing we have an evolving ecosystem.

I used to read all the release notes and tried to pick up as many new features as I could. Now? I only care about long-term versions. I don’t even pay attention to the short-term ones. Something somewhere is a bit faster on an architecture I don’t use at work. Sorry Microsoft!

Too many releases make it harder to keep up.

3. C# is getting too bloated

C# doesn’t feel like a single language anymore.

It feels like three languages: one pre-2010, one around 2010, and the one we have now.

I used to closely follow every new language release. Not anymore. C# as a language is getting less consistent. Too many options to create and initialize objects, for example.

Apart from nullable references and pattern matching and maybe some others I can’t remember now, it’s more and more syntactic sugar on every release. I’m only waiting for discriminated unions.

The worst part is features that look the same but work differently. Yes, I’m looking at you, primary constructors. They look like records, but surprise, surprise…They work differently.

public record ThisIsARecord(string ThisIsAPublicProperty);

public class ThisIsAClassUsingPrimaryConstructor(string ThisIsNotAPublicProperty)
{
}

This inconsistency makes the language harder to teach and learn.

4. AutoMapper

Ok, there’s nothing wrong with AutoMapper.

But what frustrates me is that, for some reason, we have adopted it as the de facto mapping library. And most of the time, AutoMapper ends up getting in our way.

Even AutoMapper’s author recommends not to use it if we’re mapping more than 80% of our fields by hand. But anyway, we use it even when we shouldn’t.

Just in the past weeks, I found two scenarios that got in my way, ignoring unmapped fields in the destination type and getting mappings flagged as invalid. Sure, I know I was abusing AutoMapper.

I wanted to add EntityFramework Core to this list, but I’m starting to feel the frustration in my stomach. Probably, I’m hungry. But, frustrations aside, .NET is still my go-to platform and C#, my go-to language.

The Most Important Skill To Learn In The Next 10 Years

It isn’t writing, marketing, or social media.

With the possible threat of AI, there’s something else we must learn to future-proof ourselves.

This time, Devon Eriksen sat down to talk to Dan Koe. Devon is a software engineer turned author. But he considers himself a libertarian. Devon wrote Theft of Fire, a sci-fi book.

Here are 10 lessons I learned from watching that conversation:

1. Only slaves did one thing

In ancient Rome, only slaves were meant to do a single job for life.

Free-thinking men were supposed to learn on their own and do multiple things. We’re free-thinking men. We don’t have to do the same thing for life. Gone are the days when we have the same job for 40 or 50 years.

2. The most important skill to learn is agency

Agency is “the tendency to initiate action to achieve your goals.” Agency makes you willing to take risks and become resilient to failure.

3. Agency is a skill we can learn

To learn agency:

  • Start something new,
  • Learn as you go, and
  • Give yourself permission to suck.

4. The biggest risk to your agency is your limiting beliefs

We are our biggest haters with our self-talk: I can’t, I don’t know, and I don’t have.

5. We don’t need permission to create

We don’t need large TV networks, publishers, or media companies. The Internet has created a world without permission. We only need an internet connection and the desire to start.

6. Ask what is the purpose behind what you do

OK, purpose is a big word. Let’s say goal. Ask what you want to take out from what you do. What is your goal?

  • Be creative?
  • Make a living?
  • Connect with interesting people?

7. Don’t whine. Create something interesting instead

Stop blaming the Algorithm. Stop waiting to be lucky. Stop waiting for someone to choose you from the crowd.

Instead, show your work. Create something interesting to attract smart people because smart people have more money.

8. Money is a sign of f*cks given

Money is a by-product of your personal development and your ideas. The more people care about you and your work, the more money you’ll make.

“If you say ‘I don’t want a lot of money’ what you’re saying is ‘I don’t want a lot of people to give a f* about me’”

9. Don’t become a tool

You’re a tool when you only do one thing, like slaves in ancient Rome. Still remember #1? You’re also a tool when you attach your identity and self worth to that one thing.

That’s why AI threatens many jobs: when a faster and better tool appears it replaces slower and worse tools. Don’t be a slow and worse tool. Well, don’t be a tool at all.

10. Building an audience online is about being trust-worthy

“If you’re on the internet and that’s how you make your money, your product is you. Your ability to be interesting. Your ability to be informative. Your ability to be entertaining. Your ability to make something where people spend some time paying attention to it and they walk away saying ‘I liked that’.”


This was a liberating conversation for me. For a long time, I struggled to find my one thing. Doing one thing was scary to me. One day at a past job, in a moment of clarity, I wondered “Am I supposed to do this until the day I die?” Arrggg! Thanks, but no thanks.

But, like free-thinking men in ancient times, we’re free to learn. We’re free to choose our own goals. We’re free to do many things. We’re free to create.

10 Ways to Stand Out at Work—Other than Work Hard

It took me two years to go from being just another developer in the room to sitting in meetings with the president.

It was at a past job. Sure, it was a small software company in my city. So small everyone knew who the president was, and he recognized everyone’s faces in the hallways. That was a point in my favor.

In my first years at that place, I was always behind: delivering my tasks late, staying after hours to keep up, and fixing bugs in my code.

And I wasn’t my team leader’s favorite team member.

It took me hours of studying and practice and hard work to prove I was more than a “problematic” developer.

But you don’t need to work hard, here are 10 ways to stand out at work:

  1. Deliver your work on time. Not early, and definitely not late.
  2. Document and automate your work. Don’t become a bottleneck. Don’t become a hero.
  3. Ask for the context behind your tasks. Always ask why. Why this? And why now?
  4. Get interested in the business side of your work. Understand how your work is helping the company make money.
  5. Speak up in meetings. Ask questions and give suggestions.
  6. Volunteer for the work nobody else wants to do. Make sure you can do it, or figure out how.
  7. Give 10 ideas to improve the company, the product, or the work around you.
  8. Be reachable during working hours, especially when working from home.
  9. Be easy to work with. A.k.a don’t be an ass*.
  10. Make your boss look good in front of their bosses.
  11. Make sure every task you get is solved. Either because you solve it or follow up with the right team or person to solve it.

Ok, those were 11 ways. I know I said there would be 10.

But if I had to pick only one from that list, I’d go with #9: Be easy to work with. Invest in your soft skills or human skills. That’s the easiest way to stand out. People will remember you, not by your work, but by your attitude.

Refactor your coding career with my free 7-day email course. In just 7 emails, you’ll get 10+ years of career lessons to avoid costly career mistakes.