04 Jun 2025 #writing
17ms. That’s how fast we decide whether to keep reading or move on.
Credits to “Smart Brevity.”
No headline + no opening line = no readers
If we don’t hook readers with a headline and an opening line, they will move on to the next search result or the next post in the feed.
Yesterday, this opening line made me click away and open the next post in my RSS reader:
“In today’s fast-moving constantly-changing economy…”
And that’s not the first time I have found opening lines like that this week. “In our fast-paced world…” Nothing screams AI more than lines like those. Boooooring!
When was the last time the economy didn’t change? And the last time our world was slow?
Since we started doing accounting on pieces of clay in ancient Mesopotamia, the economy has been moving fast.
And since God said “let there be light” (or the Big Bang started. Choose your own adventure), our world has been moving fast.
There’s nothing surprising about “In today’s fast-paced blah blah blah.”
Start with blood or drama. Start with the unusual.
Remove the “in today’s blah, blah” part and keep the rest. You will have a decent opening line. And you won’t give away that you are using AI.
You only have a few seconds to hook readers before memes and cat pictures steal their attention. Make them count.
03 Jun 2025 #misc
As developers, we can’t agree on much: tabs vs spaces, what “unit” really means in unit testing. But one thing we all agree on? There’s too much hype. And it’s exhausting.
A new faster better AI tool promising to kill jobs, “X% of code is generated by AI” at every FAANG, and the stock market reacting to those announcements.
Olga asked on dev.to how we stay sane in all these hype.
Here’s what I do to stay sane:
#1. Pick the right battles. After some years, we reach a point where we should find peace in what we choose to learn and what to ignore. I consider myself a backend developer and I’m fine missing out on every new JavaScript framework or “something.js” library out there. That was a battle I decided not to fight anymore.
#2. Start an information diet. Find one single source of “official” information. Maybe company blogs or newsletters or trusted YouTube channels.
#3. Prefer long-form over short-form content. Books go through a solid vetting process before they reach us. But social media content goes viral without any vetting process and builds up the hype.
#4. Invest in what has passed the test of time. What has already survived the test of time will outlive recent trends. We’re still using C/C++, SQL, and jQuery, and reading about stoicism. Chances are those same subjects will survive another decade or two. I wouldn’t bet all my money on it, though.
#5. Wait for the dust to settle down. Again, just see what stands after months or years. Xamarin, Silverlight, Flash… All of them are gone. And just last year, we got Devin, the first AI software engineer. That was the first threat to our jobs. It was all over the headlines. These days? I haven’t heard about it since then.
#6. Embrace just-in-time learning. Instead of learning about every new shiny object, learn how to learn. And learn about new frameworks and tools in the context of real-world projects. I changed my mind about trying to learn about everything at once. Recently, I finished Skip the Line and learned fast learning strategies.
#7. Understand there will always be a new hype. I’ve seen the cloud, mobile apps, and now AI. And guess what? There were dozens before and there will be dozens more in the future. Let’s see what stands after the hype fades.
02 Jun 2025 #writing
“I don’t want to expose myself,” an ex-coworker texted me.
He had noticed my LinkedIn posts and reached out to ask me how to start. He knew that writing opens doors but feared exposure. That’s one of the most common writing myths.
If you have the same concern:
#1. You don’t have to share selfies or post foot photos. Selfies work best on Facebook or Instagram… And there are places for foot photos.
#2. It takes time and consistency to make people care. Your first post won’t make you an Internet celebrity. Magazines won’t write gossip articles about you. Your first post will be crap. (Mine were.) And nobody will care, not even your boss.
And that’s fine. That’s not to discourage you, but to remove all the pressure of writing.
#3. Don’t share anything you wouldn’t mention in a work meeting. You can keep your online presence as professional and personal as you want. If you’re a coder, start sharing TIL posts.
Forget about going viral. Forget about the influencer vibe. Write for one person. Write for your past self. Share what you’re learning. Show your work. That’s the best way to start.
01 Jun 2025 #writing
In 2024, I went all in with my writing. One of the biggest inspirations behind that leap was Dan Koe.
He has more than 500K followers on X/Twitter, over 200 videos on his YouTube channel, and has sold millions online. He’s one of those internet names that made me believe making money online is possible.
This time, I watched this interview between Dan Koe and Callum Johnson.
Here are some of my takeaways:
#1. A brand isn’t about colors, headshots, or taglines. A brand is an environment you invite people into. It’s your goals, interests, and perspective.
#2. If you don’t know where to start your journey, start with an anti-vision: things you don’t want in your life. For most of us, that’s going back to a full-time job to work on something we don’t care about.
#3. Start by helping others solve a problem you already have solved. And your first product could be an improved version of a product that transformed your life. Create it and promote it to your past self.
#4. A content strategy doesn’t have to be complicated. One long-form piece repurposed into social media posts every week. And every social media post invites people to your newsletter, where you promote your products.
#5. Nothing is original. Creating is about remixing ideas. And if you share it in your own words it’s not copying or stealing.
#6. You don’t need to be discouraged if a “big name” or influencer offers something similar to what you offer. That’s a faulty belief that assumes everyone knows and follows every influencer.
I always remember one of Dan Koe’s quotes: “The goal is being paid to be you.” That’s one of my favorite quotes. A niche isn’t just about talking only about one topic forever. Your goals, mission, and transformation make you the niche. Don’t chase trends, create and sell to you. You are the niche.
31 May 2025 #coding
#1. A micromanaging boss. Why trust your team members when you can ask them every 5 minutes how they’re doing?
#2. A spaghetti-style crappy codebase. Why use good names and focused methods when you can copy-paste code and leave outdated comments all over the code? It’s faster that way, right?
#3. Working on something nobody will use. Why bother having your team create something valuable for users? They’re getting paid, anyway. They don’t need motivation.
#4. QA only caring about colors, alignment, and fonts. Who cares if the app works? QA should just test how it looks, right?
#5. Too many meetings. Daily stand-ups, sprint planning, poker estimation sessions, retrospectives, another meeting to present next sprint tickets, and another one just to answer questions from the previous meeting… They’re Software Meeting Attendees, not Software Developers, after all.
#6. Clueless project managers. OK, you already explained to your PM how serious the issue you had to solve was and that’s why the sprint is behind schedule by one or two days. But they don’t seem to get it. It’s time to fire up ChatGPT and prompt it to explain like your PM is 5.
#7. Constantly being paged. Why even write clean, organized code when you can fix everything while on-call rotation, right?
#8. Not having time to refactor. Again, why bother if we can fix all those issues while on-call rotation?
#9. Code reviews taking too long. A good title and description, and a short PR to make sure it’s easier to review it… But still more than 48 hours to get it approved and merged. Arrggg!
#10. Constantly changing requirements. “What are you working on right now? Oh, there’s a new priority. Sales just promised a client a feature that wasn’t even in our roadmap…,” a random PM told a developer.
#11. Repetitive tasks and grunt work. Why bother using a computer to automate repetitive tasks and best practices if developers are cheap and fast code monkeys? A full regression testing cycle? Let’s make developers click on every button of the app. And let’s create a test case for every single text box of every single page. Manual labor is cheaper than automating it, right? They’re contractors paid by the hour, anyway.
#12. Unrealistic deadlines. “Can we add a Facebook-style feed, I mean, a full Facebook-style feature, in the three days left in this sprint? It’s easy, right? Facebook already did it,” the same PM who asked for another priority just yesterday.
If this feels familiar, I swear it’s just a wild coincidence.