23 Dec 2025 #writing
I was supposed to unplug during the holidays.
But I decided to pick an easy project. I’m revamping Unit Testing 101, the first book I wrote. I called it an ebook because “book” felt too big a deal. Back then, I was even scared to put a price tag on it.
After finishing Street-Smart Coding, my first “official” release, I wanted Unit Testing 101 to match that standard: editing, formatting, and a stronger cover.
Today I opened the draft in Google Docs and realized I’d structure chapters more clearly, tighten explanations, and reduce duplicated concepts.
If you cringe at your past work and think, “I’d do it way better now,” that’s the clearest sign you’ve grown.
22 Dec 2025 #coding
It’s tempting to default to AI for its speed.
If you’re stuck, just write a 2-sentence prompt and after some beep, beep, boop you get an answer. But relying too much on AI hides a serious problem.
I’ve witnessed the over-reliance on AI myself. And it’s worse for CS students. Maame Afua A. P. Fordjour shared in a dev.to post,
[When facing a Data Structures assignment] I type: “Yo, I need a Red-Black Tree implementation in C++. Keep the vibe academic, handle the edge cases for rotation, and add comments that sound like a stressed undergrad wrote them.”
Thirty seconds later. Done.
It compiles. It passes the test cases. It’s beautiful code. And I have absolutely no idea how it works.
Like we always say: the problem isn’t the tool, but how we use it.
AI isn’t going anywhere. It’s already changing our job descriptions. But we need strong guidelines to avoid blindly trusting AI and losing our skills.
If you’re a confident coder, write your method signatures, use comments to sketch their bodies, and let AI fill in the blanks.
But if you’re a beginner, my take is radical: don’t use AI to generate code.
Don’t use AI to do your homework. Use it as your teaching assistant instead. To quiz you, generate test cases, explain a tricky code block. Otherwise it’s like sending someone else to the gym and then complaining when you don’t see your muscles growing.
AI is like a powerful calculator. You need strong math skills first before using one.
If you want to strengthen your coding skills, my book Street-Smart Coding covers 30 lessons to help you level up, from Googling to communication to problem-solving.
Grab your copy of Street-Smart Coding here—That’s the roadmap I wish I had on my journey to senior coder.
21 Dec 2025 #coding
What happens when AI codes better than we do?
For a second, let’s forget AI is more like a sloppy junior coder. Let’s stop feeling like cheating when prompting instead of typing. If AI writes reliable code, what would we offer as coders?
In a past Friday Links, I shared one post from Leon Mika that made me ask those questions.
Leon wrote,
Maybe writing code is no longer part of my “core offering” at this point in my career. Maybe it is the “judgement, tradeoffs, intents” and all the other buzzwords people throw around when describing a senior software engineer.
Leon’s post made me think what we could offer. Here’s my list:
- Talking to end users to find out what they need
- Choosing what features to implement
- Choosing the right tools, stack, and frameworks
- Scoping projects into milestones or sprints
- Finding what to rewrite and when
- Coming up with de-risking plans
- Choosing the right time to scale
- Sharing past mistakes and lessons
- Vetting what to build, buy, or outsource
- Finding cost-effective “cloudification” strategies
Some coders already do those tasks, but soon they’ll be everyday work for all of us.
In the meantime, AI is making us rediscover the practice of coding. And that’s already a good point for AI.
When AI shines at coding, we need strong product thinking, communication, and other skills I cover in Street-Smart Coding: 30 Ways to Get Better at Coding. That’s the roadmap I wish I had to become a senior coder.
Grab your copy of Street-Smart Coding here
20 Dec 2025 #csharp #coding
I ran my first Advent challenge in 2022.
Instead of an Advent of Code, I ran an Advent of Posts. I wrote 22 posts, mostly about coding, in the days before Christmas. I missed two days but I declared the mission complete.
This year, I decided to follow the Advent of Code. For the first time, this year included only 12 puzzles instead of 25.
I challenged myself to write “functionalish” solutions. Sometimes that was a bad idea.
It wasn’t a bunch of LeetCode problems
The puzzles weren’t disconnected problems.
Every day started with a short story. The first day we arrived at the North Pole. Right away, we faced a setback that made us solve a puzzle. As we got inside the North Pole, there was always a complication.
In spite of the problems, elves were always organized. By the time we helped, they already had sorted out some details. That was our puzzle input. I guess elves are lazy or simply distracted.
There was a connecting story from one day to the next.
It wasn’t funny some days
My goal going through the challenge was to ignite my coding spark.
But some puzzles had ambiguous instructions or I overcomplicated the solution trying to follow a functional approach. I got stuck solving Day 8 and Day 11. I had to look up clues to get them done. Arrggg!
Those days, I got stuck with a stupid Blazor issue at work. Getting stuck after work wasn’t pleasant at all. The challenge was supposed to be funny and enjoyable. I didn’t need another source of stress.
My solutions
Despite the tough days, I eventually solved them all. OK, I cheated a bit.
Here are my solutions:
From all the puzzles, one stood out. Day 12. It was playing Tetris with presents. My first thought was brute force with backtracking. After struggling with Day 11, I knew there was a simple alternative. And my intuition paid off.
Biggest lessons
Apart from collecting more extension methods, here are the biggest lessons I took away:
- Always strive for simple, stupid solutions.
- LINQ can take you a long way. I solved almost all the puzzles using LINQ.
- Review data structures. Once more, I was trolled by trees.
See you next year for another Advent of Code or maybe another Advent of Posts.
Advent of Code really sharpens your problem-solving skills. But coding isn’t just about puzzles. It’s also about teamwork, collaboration, and many skills I share in my book, Street-Smart Coding: 30 Ways to Get Better at Coding. That’s the roadmap I wish I’d known from day one to become a senior coder.
Get your copy of Street-Smart Coding here
19 Dec 2025 #mondaylinks
Hey, I didn’t miss my reading time this week. Here are 4 interesting links for you:
#1. One big lesson I’ve learned after over a decade in coding is most technical problems are people problems (5min). Most team problems trace back to poor communication. Just like marriages.
#2. I watched Space Jam countless times as a kid. I remember it because a coder tried to recreate its website with Claude and failed (10min).
#3. Blogging isn’t dead. There are still indie bloggers in a small corner of the Internet. Here are two ideas to discover indie bloggers (3min).
#4. With AI spitting out code faster than any of us, writing code may not be our main offering as coders (2min), but judgment, past failed projects, and risk management.
By now, I’ve finished the Advent of Code. Two days were tough. Instructions weren’t clear enough, or I overcomplicated my solutions. Here are two days where I got stuck: Day 8 (5min) and Day 11 (2min). I ended up looking at solutions to get unstuck.
(Bzzz…Radio voice) This email was brought to you by… my new book, Street-Smart Coding: 30 lessons to help you code like a pro. From Googling to clear communication, it covers the lessons you don’t learn in tutorials. It’s now out on Kindle and paperback on Amazon.
See you next time,
Cesar