21 Apr 2025 #misc
A big project might seem daunting. Too many tasks, too many possible outcomes, and the fear of failure.
If you want to write a book, you might ask: What if nobody buys it? What if nobody reads it? What if it only gets bad reviews?
When stuck, answer: What’s the worst thing that could happen?
After identifying that “worst thing,” we realize all this uncertainty and fear was just noise in our heads. And that worst thing wasn’t that bad after all.
If nobody buys or reads your book, you still learned to outline a book, tell stories, choose a cover, buy an ISBN, and upload it to Amazon. The worst thing wasn’t that bad after all. You were only drowning in a glass of water. And you see how small your fear really was.
20 Apr 2025 #misc
It’s 2035. AI didn’t kill many jobs as we thought in 2025.
The world still needs coders. There are still pilots in the cockpits of airplanes. And there are still doctors and nurses in hospitals.
But AI has changed many jobs. Just like Photoshop changed graphic design and AutoCad, architecture.
One day, you’re not feeling well. And you have to rush to the ER.
Just like in 2025, a nurse receives you at the hospital.
But there’s something different this time. The hospital is run using MedAI.
As you describe your symptoms to a nurse, MedAI transcribes them and creates an initial report. It also studies your changes in intonation and breathing patterns to tell how sick you are or if you’re just looking for an excuse to skip work today.
MedAI helps the nurse in triage, making sure you receive medical attention as quickly as possible. While MedAI processes all this data, the nurse can focus on preparing you for the next steps.
After waiting for a few minutes in a room, a doctor calls you into the examination room.
By the time you get there, MedAI has summarized your records from past visits.
It has told your doctor when you visited the hospital and your diagnosis on each visit. Also, MedAI helped your doctor determine if your new symptoms are somehow related to past visits.
Your doctor doesn’t need to examine your vitals.
Using cameras and sensors, MedAI monitors your vitals: temperature, breathing, and heart rate. Are you vomiting? Shivering uncontrollably? Struggling to stand without help? MedAI quickly assesses these symptoms, allowing your doctor to focus on examining where it hurts.
After examining you, MedAI scans the hospital database for genetic conditions or recent similar cases among your relatives or other patients. Is it a family problem? A virus outbreak in the city?
That will give your doctor more clues for your diagnosis.
Your doctor gives you an initial treatment to relieve your pain and orders you some tests.
MedAI has helped your doctor prescribe any medicines based on your allergies or other health issues.
“Dr Williams, this patient is allergic to XYZ. And on a past visit, this treatment increased his blood pressure. Here are some alternatives to those medications: …“
By the time your test results are ready. MedAI has summarized the main findings. “He has low XYZ, high ABC. Everything else seems normal for his sex, age, and health condition.”
Armed with your vitals, exams, and preliminary diagnosis, MedAI has narrowed down your diagnosis to one or two issues and suggested a treatment for each one.
Your doctor has to double-check those suggestions and approve your treatment. You have to stay at the hospital for close observation.
While you are under observation, MedAI creates a daily report of your evolution.
“His blood pressure has been stable. No more signs of pain. A change of medication is needed in the next two hours.”
Also, MedAI has created a dietary plan for your visit, recommending the right food for you, given your overall health condition. “This is a patient with sugar problems. Here’s a list of recommended meals for his stay…“
Your doctor approves it and MedAI sends it to the hospital kitchen.
After a day or two, you feel OK again.
Your doctor prioritized your well-being and gave you the emotional support only a charismatic doctor can give.
Meanwhile MedAI assisted him at each step of your treatment, from monitoring your vitals to making sure your treatment was suited to your needs. MedAI was the caring and supportive assistant, but your doctor was still in charge. Just like a pilot is still in charge of a plane through the skies.
Open again in 2035.
19 Apr 2025 #misc
Yesterday, it took me nearly half an hour to calm down.
I had just rushed to the ER with a loved one. And I simply couldn’t switch off my brain’s fight response. All the stress chemicals must have been at their highest.
Once the emergency passed, my body refused to relax. I was still in fight mode. To take control back, I tricked my brain into focusing on something else: writing a 10-idea list.
Here are some other alternatives to try when stressed:
1. Follow the 3-3-3 breathing rhythm: Inhale for 3 seconds, hold for another 3, and exhale for 3.
2. Write 10 ideas about anything: Give your brain another task.
3. Do some physical exercise: Go running or lift some weights. Move anyway.
4. Listen to Dark Side of the Moon: I’m not a fan of Pink Floyd. In fact, that’s the only album I’ve known from them. But for some reason, I found it relaxing, especially track number 4, The Great Gig in the Sky. I feel those cries of desperation just like mine.
5. Listen to relaxing sounds: A river, ocean, or birds singing.
6. Watch stand-up comedy: You can’t be happy and stressed at the same time. Trick your brain into changing its mood.
7. Watch an episode of a TV show: TV can help you get out of your busy mind and distract you.
8. Meditate: Similar to #1. Repeat a mantra like: “breathe, calm down, and get out of your mind.”
9. Pray: Let your feelings out of your chest.
10. Do some cleaning: Again, it’s a way to trick your brain into doing something else. It helps you get out of your mind and into something physical.
18 Apr 2025 #mondaylinks
Hey, there.
Here are 4 links I thought were worth sharing this week:
#1. There’s a difference between a program and a product. It’s not the same hacking some lines for a one-time task as crafting an API for concurrent users. Vibe coding shines at one of the two (3min).
#2. Google claims AI generates 20% of its code. But those claims make us live in a post-developers era? (12min). AI is like driving a car in cruise mode. It goes where you point it, but you still need your hands on the steering wheel.
#3. Here are over 20 coding lessons (6min) from a coder with 25 years in the field. I had to learn the one about tracking request and responses the hard way.
#4. I’ll keep my personal blog, even if blogging is dead. A blog is a place without rules to share anything you want. If you have something to say, just put it on your blog (2min).
And in case you missed it, I wrote on my blog about “waking up experts” when specs aren’t clear (2min) and the first time I saw a computer (2min).
Here’s this week’s tip to get better at coding:
Learn some sort of automated testing.
Call it unit, integration, TDD, BDD, or anything else.
Chances are there are formal studies about the time required to maintain and fix bugs in codebases with unit tests compared to codebases without them.
But, empirically, the healthiest codebases I’ve worked with had unit tests.
Unit tests are a safety net when you’re making changes. Your coding life will be better with unit tests than without them. And you’ll miss unit tests when you work with a legacy application.
(Bzzz…Radio voice) This email was brought to you by…Join my course, C# NullReferenceException Demystified and in just 1 hour and 5 minutes, you’ll learn the principles, features, and strategies to get rid of that exception.
See you next time,
Cesar
Want to receive an email with curated links like these? Get 4 more delivered straight to your inbox every Friday. Don’t miss out on next week’s links. Subscribe to my Friday Links here.
17 Apr 2025 #career #coding
I got fired from my first job, took down a database server with a badly written query, and was rejected from a FAANG. That all happened over the past 10 years.
But I’ve learned a lesson or two about coding along the way:
1. Estimates are just guesses.
The problem is when your guesses don’t overlap with everybody else’s guesses.
2. Showing progress is better than doing the work.
Did you guess you can finish a task in 4 days? No, no, no. You’re better off splitting it into smaller ones to show progress.
3. Proofs of concept are better than long documents nobody will read.
When was the last time you read more than 2 or 3 pages of documentation?
You’re better off creating a quick and dirty Pull Request to show an idea or a prototype. “Working code over documentation.”
4. The work isn’t over when you finish coding.
After coding comes deployment, testing, user adoption, customer support, and follow-up.
5. The more senior you become, the less it’s about coding and the more about meetings.
Did you join Software Engineering because you like coding? Forget about that.
You’ll spend more time in meetings:
- 1-on-1s,
- Daily meetings,
- Retrospectives,
- Sprint planning,
- Alignment meetings,
- Brainstorming sessions,
- Poker estimation sessions,
- A few minutes with a guy from another team who needs to touch the code you wrote one year ago and you don’t remember now.
And on and on…
In a perfect day, you’ll have 1 or 2 hours of coding without distractions.
6. You learn to love tests when you work with a legacy app.
Call it unit, integration, end to end, TDD, BDD, or anything DD.
You’re better off with anything that lets you know when you break something before shipping your code.
7. Don’t start a big major refactoring if nobody asks you to.
This is what I call Massive Unrequested Refactorings.
Either you refactor as part of your tasks or make it official as part of your sprint planning. There’s no point in between.
—”Entity Framework is the best.”
—”No, it’s painfully slow.”
—”Nooo, stored procedures are the best”
Arrggg!
Tools are just tools. That’s why we, coders, have the reputation of being opinionated and grumpy. And please, let’s not talk about clean code and best practices. That’s a subject I changed my mind about.
9. Always automate code style and best practices.
Don’t ask a human to do the work of a machine. Code style perfectly matches the type of work for machines.
10. Projects fail because of communication problems.
The same thing I’ve heard about marriages.
At a past job, I was engaged in 3- or 6-month projects. We used the shiniest and brightest tools and frameworks. But some projects ended up off the rails.
The only moving variable? Our communication patterns: Failing to communicate expectations, project goals and scope, action plans, and technical issues on time.
11. Every tech problem is a communication problem.
It’s a corollary of #10.
At a past job, I was new to ASP.NET Core and when trying to test my code, I changed a connection string in a settings file and ended up deleting another environment database. Ooops!
I used the wrong settings file in the wrong environment. I didn’t ask, nobody told me, and there wasn’t any restrictions or guards in the code.
It was a communication problem.
12. Solve the problem you have today.
Premature optimization or just being lazy, don’t solve and optimize for a problem you don’t have yet. Avoid writing just-in-case code.
Starting out or already on the coding journey? Join my free 7-day email course to refactor your software engineering career now–I distill 10+ years of career lessons into 7 short emails.