Pinned — 28 Oct 2025 #codingStreet-Smart Coding: 30 Ways to Get Better at Coding Without Losing Your Mind
I spent five years in college learning to code.
A stupid dissertation delayed my graduation. But that’s another story.
Most of my five-year program didn’t prepare me for real-world coding. My real coding journey began at my first job, with one Google search: “how to get good at coding.”
I found a lot of conflicting advice:
“Use comments”
“Don’t use comments”
“Do this”
“Don’t do that”
Arrggg!
It took years of trial and error to learn what worked.
I had to survive on-call shifts, talk to stakeholders, and say “no” politely. More importantly, I had to learn that coding takes more than just syntax.
That’s why I wrote Street-Smart Coding— a roadmap of 30 lessons I wish I had when I started. For every dev who’s ever typed “how to get better at coding” into Google or ChatGPT. (Back in my days, I didn’t have ChatGPT… Wait, I sound like a nostalgic grandpa…)
Preview of the first ~12 pages
Inside “Street-Smart Coding”
This isn’t a textbook. It’s a battle-tested guide for your journey from junior/mid-level to senior.
Some lessons are conventional.
Others were learned the hard way.
And a few are weird.
One lesson comes from a TV show. Nope, not Mr. Robot or Silicon Valley. That’s on Chapter #29. It will teach you about problem-solving.
You’ll learn how to:
Google like a pro
Debug without banging your head against a wall
Communicate clearly with non-tech folks
…and 27 more lessons I learned over ten years of mistakes.
To hold myself accountable, here are the changes I’ve made:
#1. Scrollable sidebar. The original Hyde theme had a sticky sidebar. But after adding more items, it overflowed off the screen. Now it’s scrollable. I can add as many items as I want. Muahahaha!
That’s why I changed my tagline on the sidebar from simply “Software engineer” to “Sometimes I code, always I write.” Cooler, isn’t it? And it reflects what you will find here.
#3. Better homepage and about copy. My blog isn’t a coding-only blog anymore. It’s more like a time capsule. My About page reflects that now…and I had some typos. So embarrassing, calling myself a writer.
That’s the good part of personal blogs—and the bad part too. You’re never done tweaking it. And if you code and want to blog, don’t start by writing a blogging engine. Wait, did I say that out loud?
Here are 4 links I thought were worth sharing this week:
#1. I have many horror stories from daily meetings and other “ceremonies.” From SCRUM masters being police officers to sticky notes signed with blood. Agile killed the software industry (6min).
#3. At a past job, Postman was our official API tool. Then it went paid, then it became…something else? For something as simple as calling APIs, we’re in a tooling crisis (7min). Maybe all we need is curl (2min).
#4. Have you ever used a typewriter? Imagine writing an essay with no AI, spellchecker, or backspace. That’s what this teacher asks his students to use (5min) once each semester.
(Bzzz…Radio voice) This email was brought to you by… Street-Smart Coding, 30 lessons to help you code like a pro. From Googling to clear communication, it shares the lessons to help you stand out in the age of AI.
A 2-hour flight to the capital city for an early morning meeting at a government office…
I showed up late to the airport booth. Passengers were already getting on.
I was working for a small tech shop in my city. I wasn’t a manager, but the CEO chose me to fly with one to represent our company.
My dad offered to drive me. Before rush hour, the airport was just 15 minutes away. But that day, the car wouldn’t start. Each time he turned the key, the engine just made funny noises and die. Arrggg!
In the airport booth, I saw an empty line at the security control. My coworker was texting me. He was already onboarding. I had no other choice but to plead guilty.
“Good morning. I know I’m late. The car I was in broke down. My assistant was supposed to send me my boarding pass but I can’t find it in my email. I have a meeting with the government at 8:00 a.m.”
I didn’t really have an assistant. I meant the office manager, who helped us all. I lied. I know that’s bad. I didn’t want to pay for a ticket with my own money. But the part of accessing my email was true.
I was well-shaved, wearing a long-sleeve shirt, and holding a jacket. “Do you only have hand luggage?” I was carrying a small backpack. She took the radio, called the security line, and let me in.
Behind me was a vacationing family. You know, shorts, t-shirts, and flip flops. They were also late and also on the same flight.
“It’s too late. Flight is closed,” they were told.
Like it or not, we judge and are judged by how we dress and speak. And if you’re late, always admit it.
When you open one, you’ll only find news from yesterday, or previous days if still relevant. You’ll have to wait until tomorrow to read what happened today.
Aggregator views (like latest, top, and random) often invite endless scrolling, like in social media. I want to know when I’m done with the IndieWeb each day. What about “today” and “yesterday” views? Or maybe I’m too lazy to check post dates in the feed.
If you found this post through Minifeed, Bubbles, or another aggregator, welcome! On my About page, you’ll find my most popular posts. Feel free to check my books on coding and personal development.
Maybe the future is AI specs via brain implants. Who knows!
What you miss when coding with AI
The post made an excellent distinction between old coding vs AI-assisted coding.
“when writing code ‘by hand’ I was actually doing two things: writing what I wanted and learning the codebase…if I didn’t know what I wanted exactly, coding agents would be happy to make many assumptions for me. This almost always meant that I didn’t learn as much, and that I wouldn’t have a good grasp of the codebase.”
Coding isn’t just typing.
It’s decoding business rules or problem constraints to then encode them into a programming language, while
Mastering its syntax and rules,
Making the new coding artifacts interact with existing ones,
Following the structure and conventions of the codebase,
In the meantime, every AI-generated line of code we don’t understand isn’t just technical debt. It’s cognitive debt.
AI is like a powerful calculator: only useful if you know the math. To help you level up your coding skills—AI-assisted coding or old school—check out Street-Smart Coding. The roadmap I wish I had starting out.