The Trait That Sets Good Developers Apart: Getting Things Done

One of the most underrated traits in great developers isn’t flashy. It’s not about deep knowledge of architecture, knowing four languages, or memorizing obscure CLI commands.

It’s the ability to get things done.

I’ve seen developers with all levels of experience get tripped up on the little things—chasing the perfect implementation, holding back on pushing code until it’s “ready,” or waiting for the perfect moment to ask a question.

But the ones who consistently succeed? They don’t get stuck.

  • They make decisions and go.
  • They get something working and iterate.
  • They ask for feedback early, not perfectly.
  • They handle ambiguity without flinching.

Why It Matters

Developers who can push through uncertainty and deliver—even when things are imperfect—build trust with their teams and their managers. They’re the ones you can count on when a project needs momentum. They don’t need hand-holding every step of the way. They just keep going.

This doesn’t mean cutting corners or being sloppy. It means having a strong sense of judgment:

  • Knowing when to ask for help and when to push forward.
  • Recognizing that the first version won’t be perfect—and that’s okay.
  • Following conventions, writing clean enough code, and being open to iteration.

The Traps That Slow Developers Down

There are patterns I see over and over again that kill progress:

  • Getting lost in trying to design the perfect architecture from the start.
  • Overthinking every edge case before shipping anything.
  • Delaying outreach to a stakeholder, hoping more clarity will magically appear.
  • Waiting for the perfect moment to ask for help.

The irony? Progress almost always comes from movement, not from waiting.

How to Build This Trait

Yes—this mindset can be developed. Not everyone will be equally fast or decisive, but anyone can get better at pushing through.

Here’s what I recommend, especially to junior devs:

  • Focus on getting to a working version first. Don’t ship trash, but don’t aim for perfection out of the gate either.
  • Ask for feedback earlier than you think you need it. A quick code review can save hours of overengineering.
  • Make smart, informed assumptions. If you’re wrong, you’ll learn fast.
  • Develop a radar for when you’re stuck because it’s hard vs when you’re stuck because you’re hesitating.

Final Thought

Good developers write good code.
Great developers deliver value—even when it’s messy.
And they keep moving forward.

Share this Story
Load More Related Articles
Load More By Nick Escobedo
Load More In Software Development

Check Also

I Built a Mobile App with Zero React Native Experience (and Shipped It)

A few months ago, I set a personal ...