RSS Amplifier

Widget Tricks · Jul 3, 2026

Issue 62- Perfect Is the Enemy of Good Enough

0
Sign in to vote or save

Burhanuddin Rashid · Widget Tricks

As software engineers, we want everything to be perfect: the code, the variable names, the architecture, the tests, the documentation, the CI/CD pipeline, and so on.

We build 90% of a project in 10% of the time, but the last 10% to make it perfect takes the remaining 90% of the time. And sometimes it takes so long that we don’t even ship it.

There are two reasons this happens: 1) we want to be the GOAT (Greatest of All Time), and 2) we’re afraid of criticism.

Online, everything looks perfect. Every feed looks so nice, so shiny, so put-together, that whatever we’re working on suddenly feels not good enough.

We think everyone gets their work done perfectly on their first try. In reality, we’re seeing someone’s 100th attempt and mistaking it for their first. Because of this, we set the bar so high for ourselves that we think we cannot even do it.

I once spent six months arguing with a contributor over a refactoring on my open-source project. Every time he made the changes, I asked for more changes. This left the contributor frustrated, which made me realize that I was chasing perfectionism. This perfectionism was blocking the refactoring work, which was already 90% done and working as expected.

Also, once while editing a video, I got stuck fixing a small text animation for hours. Instead, I should’ve focus on using the default animation which could have let my work finished sooner.

This need for everything to be perfect blocks our progress. We should have merged that PR, posted that video, or shared that blog — and if something wasn’t perfect, made it better next time.

I’m not saying we should do mediocre work. Think of it on a scale of 1 to 10, where 5 is average and 10 is perfect.

Aim to get your work to a 7 or 8 and then ask yourself: Is this good enough to go live? Can I make it better next time? If the answer is yes, hit publish.

Sometimes this need to be perfect comes from our fear. We’re so afraid of people criticizing our work that our brain starts to create reasons to avoid it. We find small issues in our work and tell ourselves that it can’t go out until its perfected and fixed.

I know that the blog I publish could be done better in many ways, but I publish it anyway. And I make it better next time.

If you’re holding yourself back, waiting to get your work perfect in everyway, I have bad news for you: That work will never get done.

Don’t let the need to be perfect stop your progress.

What’s one project you’ve been sitting on because it isn’t “perfect” yet? What’s stopping you from sharing it today?

Leave a comment

When to use agents: Agents can be used for open-ended problems where it’s difficult or impossible to predict the required number of steps, and where you can’t hardcode a fixed path. The LLM will potentially operate for many turns, and you must have some level of trust in its decision-making. Agents’ autonomy makes them ideal for scaling tasks in trusted environments.

While building our agent for SWE-bench, we actually spent more time optimizing our tools than the overall prompt.

How to find jobs via Side Doors.

To be clear, this does not make the process fair or easy. Luck, privilege, networks, timing, and taste continue to very much be a part of the equation. But it does expand the set of possible moves.

  • Who is doing work I care about?

  • What are they trying to make happen?

  • Where are they stuck?

  • What do I know how to do, or what could I learn to do, that would help?

  • Who would be delighted, relieved, or intrigued if I showed up with something useful?

Agents infer structure by search, tool use, and guesswork statistical probabilities. That means code can follow SOLID and still be difficult for an agent to reason about if intent, ownership, and change boundaries remain implicit.

Experience that isn’t solely information: comedy, entertainment, storytelling, fiction, etc. You don’t ask an AI to summarize a stand-up special, and a synopsis of a great novel is not a great novel. Voice, taste, and personality may end up being the only durable moats. But “give me the 5 steps to X”? That’s a tough business that’s about to get a lot tougher.

I’d rather write books for 10,000 people who are genuinely changed by them than crank out short-form videos for 10 million people who forget about them within days or minutes.

Things that stand out:

  • • A major bug in version 2.0 was fixed by naming it version 2.0.0 and not version 2.1, to avoid the embarrassment of a major bug upon its big release.

  • The standard library significantly influenced the language’s development.

  • C++ faced challenges during a dark period from 2000 to 2005 due to Java.

  • C++ is widely used, bridging modern languages and compilers that translate code into hardware-specific in C.

Over the years, the “Spray and Pray” method has not worked for me. Most of the work I have obtained came through networking or showcasing my public work, such as blogs, YouTube videos, and courses.

Since I self-host n8n on my old MacBook as a server, I am adding a lot of small automations to it. I found this video about the best n8n use cases. The best part is that n8n has AI agent capabilities, which effectively allow you to build small agents.

Share

Fast, cross-platform image manipulation for Dart, powered by Rust via FFI.

A Dart 3-native Flutter router built on sealed routes, pattern matching, and a stack-as-state model. No string paths. No codegen.

Leave a comment

I am currently open for consultation part-time/full-time, specialized in mobile development with Android and Flutter. So if you are looking for someone to:

  1. Build product architecture from scratch

  2. Train existing developers to level up

  3. Fix major bottlenecks in legacy codebase

  4. Improve code quality

  5. And most importantly, ship things faster

then reach out to me at info@burhanrashid52.com.

Thanks for reading Widget Tricks! This post is public so feel free to share it.

Share

Read the original on widgettricks.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.