03 Mar 2025 #career
He said, “You have put boundaries around your time.”
I was on a 1-on-1 with my boss’s boss and not-mentor at a past job. He was right. I had boundaries around my working hours. I always clocked out on time, and sometimes even earlier.
On more than one occasion, my team leader texted me or called me at 4:50 PM sharing details of a task or a bug. “Sorry, but I can’t finish that today. It’s 10 minutes to my end of day and that will take me at least a couple of hours,” I always said.
Eventually he stopped calling me 10 minutes before my end of day.
The hardest part of working from home
I’ve worked remotely for over 5 years. The hardest part? Setting boundaries between working and non-working hours.
When you’re at an office, some boundaries are clear. It’s lunch time. Or it’s 5:00 PM and you see a line of people clocking out. The day is over. No more meetings. No more calls.
But from home, the line between work and non-work is blurry.
From home, we’re a couple of steps away from “work” and we’re wearing pajamas or no pants like any other time of the day.
And, if we don’t pay attention, we’re replying to emails and taking calls after hours. Or even working on weekends. Or thinking about work all day long.
How to put boundaries between work and non-work
To start setting back those boundaries between work and non-work:
- Have separate work and personal spaces: Your work laptop is only for work stuff.
- Turn off all notifications after working hours: No Slack or Teams or email beeps or buzzes after 5:00 PM.
- Do something that signals the end of your working hours: Walk your dog, change clothes, or go to a different room.
- Uninstall work-related messaging apps from your phone: No Slack or Teams or work email on the phone.
If you’re working from a different time zone than your coworkers, you don’t have to reply after hours, not even to say it’s already past your working hours. Reply the next work day.
And if you’re the one texting, start your messages with a disclaimer, something like “When you’re back online tomorrow: blah, blah, blah” or schedule your messages. And, please don’t send “hello, how are you” messages. That’s how you get ignored at work.
Remember, working from home doesn’t mean being available 24/7.
02 Mar 2025 #productivity
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.
01 Mar 2025 #writing
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.
28 Feb 2025 #csharp
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.
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.
27 Feb 2025 #misc
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’”
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.