DEV Community

Cover image for overcoming developer’s block: the "already done" trap and why you should build it anyway
Malek
Malek

Posted on • Originally published at thesoftwarejournal.hashnode.dev

overcoming developer’s block: the "already done" trap and why you should build it anyway

It’s 11:00 PM. You’re three coffees deep, and inspiration finally strikes. You’ve found it, the perfect solution to a problem that’s been bugging you for weeks. You open a fresh terminal, your fingers hovering over the keys, ready to git init your way into tech history.

But then, you do the one thing that kills every great idea: You check if it already exists.

Two minutes later, you’re staring at a GitHub repo with 4.2k stars and a "Last Commit: 2 hours ago" badge. The air leaves the room. You tell yourself, "What’s the point? It’s already been done." You close your laptop, the "Already Done" trap has claimed another victim, and a potentially great piece of software dies before its first commit.

the lie of "solved problems"

We’ve all been there. We treat the existence of a competitor as a "Keep Out" sign. We convince ourselves that the market is "saturated" or that the "problem is solved."

But here’s the reality: Software is never "solved." If software were a finished product, there would be no Version 2.0. There would be no "breaking changes." There would be no 2,000 open issues on that "perfect" repo you just found. When you see a successful project, you aren’t seeing a finished masterpiece; you’re seeing a collection of trade-offs.

why the first mover is actually vulnerable

In physics, the person leading the race faces the most wind resistance. In software, the first mover faces the most "conceptual resistance." They have to spend their time and money proving the idea even works, leaving them exhausted and stuck with the architecture they chose years ago.

real-life cases where the first mover fell behind

OpenAI (the "GPT-3" era vs. the current landscape)

It feels strange to call OpenAI a "vulnerable" mover, but everybody feels it in the current landscape of AI. OpenAI pioneered the LLM craze (still the largest user-base compared to other LLMs), but in doing so, they provided a blueprint for everyone else. By being first, they had to navigate the massive costs of R&D and safety guardrails. Now, "fast followers" like Anthropic (Claude), Google's Gemini, or open-source models like Llama are taking those same concepts and optimizing them. OpenAI is now forced to play a defensive game, constantly shipping features to stay ahead of the very path they cleared for others.

MySpace (the cautionary tale of "good enough")

Before Facebook, there was MySpace. It had the market cornered. However, because they were the first to scale to millions, their codebase became a nightmare of "spaghetti" logic and security holes. They were so busy trying to keep the servers from melting that they couldn't innovate on the user experience. Facebook arrived later, saw the chaos of MySpace’s "custom CSS" profiles, and offered a clean, structured, and reliable alternative. MySpace had the users; Facebook had the better execution.

Kodak (the pioneer who feared their own invention)

The finance people love this tale; Kodak is the ultimate example of the "First Mover's Dilemma." Did you know a Kodak engineer actually invented the first digital camera in 1975? They were the first to arrive at the future. But because they were the kings of film photography, they were terrified that digital would cannibalize their existing business. They sat on the tech to protect their "first mover" status in film. While they hesitated, companies like Sony and Canon, who had nothing to lose, jumped into the digital gap and erased Kodak from the map.

the giants who weren't first

If the "Already Done" rule were true, the tech landscape would be a museum of 1990s software. Most of the tools we use today didn't win because they arrived first; they won because they arrived with a better map of the territory.

real-life cases where the latecomer changed the game

Google (the 15th search engine)

By the time Larry Page and Sergey Brin started working on "BackRub" (the precursor to Google), the search engine war seemed over. AltaVista was the speed king, Yahoo! was the gateway to the web, and Excite was worth billions. To any developer in 1996, building a search engine was the definition of "already done."

But Google didn't try to be another directory. They looked at the existing "first movers" and realized they were all missing one thing: relevance. While others indexed keywords, Google indexed authority via PageRank. They weren't first to the market, but they were the first to make the market useful.

Docker (containerization wasn't born in 2013)

We often talk about Docker as if it invented the container. In reality, the concept of isolating processes dates back to Unix chroot in 1979, followed by FreeBSD Jails (2000) and Solaris Containers (2004).

The technology existed for decades, but it was a nightmare to use. It was "already done," but it wasn't "done for the average dev." Docker’s genius wasn't in the isolation technology itself, but in the Developer Experience (DX). They took a 30-year-old concept and added a simple CLI, a way to share images (Docker Hub), and a "standard" format. They turned a niche system-admin tool into a worldwide developer standard.

Bun and Deno

Node.js has dominated the server-side JavaScript world since 2009. It’s the ultimate first mover. So why did Ryan Dahl (the creator of Node itself) build Deno? And why did Jarred Sumner build Bun?

They built them because being "first" meant Node was stuck with architectural decisions made over a decade ago, decisions like node_modules, lack of native TypeScript support, and a complex build process.

  • Deno arrived to fix the security and module resolution "regrets."
  • Bun arrived to solve the "speed" and "tooling bloat" problem.

They didn't see Node.js as a "Solved Problem"; they saw it as a Validated Problem. Node proved that people wanted JS on the server. Deno and Bun simply offered a more modern, faster way to do it.

the economic validation: why "no competition" is a red flag

When we see a project that looks like ours, our instinct is to feel defeated. But in the world of business and startups, "no competition" is often a red flag. It usually means one of two things: the problem isn't worth solving, or nobody is willing to pay to solve it.

the blue ocean strategy myth

Many developers are obsessed with finding a "Blue Ocean", a market space where they are the only ones. We think that if we are the first to arrive, we win by default.

However, serial entrepreneur and eWebinar CEO Melissa Kwanargues that this is a dangerous misunderstanding of how growth works. As she points out in her critique of why the Blue Ocean Strategy isn't always a good thing, having no competition isn't a "win", it’s an "education tax."

When you are the only one in a space:

  1. You have to prove the problem exists: You aren't just selling a tool; you're selling the need for the tool.
  2. Pricing is a guessing game: Without competitors, you have no benchmark for what users are willing to pay.
  3. The lack of competition is a warning: If nobody else is doing it, there’s a high probability that others tried and found that the market wasn't viable.

By entering a "Red Ocean", a market where people are already building and competing, you are getting a massive head start. You aren't guessing if people want the product; you already know they do. Your only job is to do it better, faster, or more specifically for a certain niche.

the "second mouse" advantage

There’s an old business proverb that says: "The early bird gets the worm, but the second mouse gets the cheese." (a nuanced proverb suggesting that the second mouse gets the cheese holds the warning that there is a risk in rushing in). The first mover has to spend their time and resources hacking through the jungle. As the latecomer, you get to walk down the path they already cleared. You don't have to convince people they need a database; you just have to convince them they need your database because it handles their specific pain points better than the "dinosaur" currently leading the market.

why you should build it anyway

At this point, you might realize that the "Already Done" trap isn't just a mental hurdle, it’s an economic fallacy. But let’s set the market aside for a moment. Even if your project never reaches the scale of the original, there is a purely personal reason to hit git init: The transformation of your own skill.

the refining fire of practice

Most developers are "library consumers." They know how to plug things together, but they don't know how the engine actually works. When you choose to build something that "already exists," you are moving from consumer to creator.

As Roy L. Smith famously said:

"Discipline is the refining fire by which talent becomes ability."

Building a "clone" or a competitor requires the discipline to solve problems that others have already solved. It forces you to deal with the "boring" but essential parts of software, state management, edge cases, and performance bottlenecks. That discipline is what turns your raw talent into a professional-grade ability.

preparation for the big win

We often wait for a "truly unique" idea before we give our 100% effort. The problem is that when that unique idea finally comes, we aren't skilled enough to execute it.

As legendary coach Bobby Knight put it:

"The will to win is nothing without the will to prepare to win."

Building "redundant" software is your preparation. It is the training ground where you make your mistakes on a project that "doesn't matter" so that when you finally find your gap in the market, you have the muscle memory to build it right. Every "already done" project you finish is a deposit into your bank of experience.

your portfolio is your proof

A hiring manager doesn't care that your project is "another" Task Manager. They care that you handled authentication, real-time updates, and database indexing. A completed, high-quality version of an existing idea proves you can handle production-level complexity. It shows you have the "will to prepare" that others lack.

conclusion: don't let the "search bar" kill your craft

The next time you have a 2:00 AM idea, don't let a GitHub search results page be the end of the story.

The "Already Done" trap is a ghost. It only has power if you believe that software is a destination. It isn't. Software is a continuous evolution. Google wasn't the first search engine, Docker wasn't the first container, and Bun wasn't the first runtime. They were simply the projects that arrived later, looked at the "First Movers," and decided there was a better way.

Stop looking for an empty ocean and start building a better ship.

Just hit git init and see where it takes you.

Top comments (0)