DEV Community

Cover image for What's the Difference Between A Good Developer & A Great One?
dev.to staff for The DEV Team

Posted on

What's the Difference Between A Good Developer & A Great One?

What do you think: what sets a great developer apart?


Follow the DEVteam for more discussions and online camaraderie!

Top comments (8)

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

That would be my answer

A great developer is a good developer who is at exactly the right place for her.

This idea that there a global meritocracy of developers who are better or worse is an illusion.

A developer may be very knowledgeble but working at Facebook where he helps even more people waste even more time and attention on a single website who wants to sell more ads.

Or a developer may be novice but happens to set up a website that helps some scientists do to his important work.

The second developer does something more meaningful to me.

TLDR: We are problem solvers and we are all solving different problems.

Collapse
 
fpaghar profile image
Fatemeh Paghar

The difference between a good developer and a great one is about more than just coding skills. Both can write code, but a great developer has some extra qualities:

Problem-solving: Good developers can solve problems, but great ones can handle complex issues and think creatively to find solutions.

Communication: Great developers can explain things clearly to teammates and clients, while good ones might struggle to communicate technical ideas.

Learning: Great developers are always learning new things, staying up-to-date with the latest technology. Good developers might stick to what they already know.

Attention to Detail: Great developers pay close attention to small details in their code to make sure it's clean and easy to understand. Good developers might miss some of these details.

Adaptability: Great developers can quickly adjust to changes in a project, like learning a new programming language or working with a new team. Good developers might find it harder to adapt.

Empathy: Great developers understand the needs of others, like users or teammates, and design solutions with them in mind. Good developers might not think about this as much.

Leadership: Great developers can lead a team, helping others learn and grow. Good developers might focus more on their own work without helping others as much.

So, while both good and great developers can write code, great developers have extra skills like problem-solving, communication, continuous learning, attention to detail, adaptability, empathy, and leadership.

Collapse
 
algorodev profile image
Alex Gonzalez

A good developer thinks on build the functionality and writes code that machines understand.

A great developer thinks on product or business and writes code that everyone can understand without an explanation. Code is easy to read and mantain.

Collapse
 
quoll profile image
Paula Gearon

This has been coming up a bit for me lately, and I think some of the answers I see here are very insightful. In general, I say that it depends. In some environments, one type of developer works well. In other environments, a very different type of developer is called for.

There are attributes that appear to be universal, such as problem-solving and understanding tools and technologies, but then there are things that matter more in some environments and less in others.

I've been at large companies where the best developers were those who could:

  • Communicate well, and with empathy. This means not just writing and speaking, but understanding what others are saying and their motivations.
  • Write clear, maintainable code. This is code that meets standards, is easy to follow, and is well documented whenever complexity is necessary.
  • Combines these skills in ways that help others. For instance, teaching junior developers how to use new tools, or best practices in writing code.

Conversely, I've been at many startups over the years, and people who have done well with all of those attributes may not contribute what a startup needs. In that environment, the more successful developers demonstrate:

  • An ability to learn quickly, with the curiosity to apply this to new techniques and technologies.
  • Can stay focused on tasks, especially under pressure.
  • Are willing to listen, and not believe they have the solutions to everything.

Depending on the stage a startup has reached, a developer may need a greater ability to communicate, and to lead and teach others. The very best people can make this transition, but even those who can't may still do impressive things early on in a startup's life.

I've seen how curiosity and a desire to try new things can be an impediment in a large organization. Conversely, the people who have the skillset to build robust, reliable systems over time may try to overengineer systems in a startup environment where speed and ability to pivot may be key.

Of course, there are more scenarios than just those represented by corporate vs startup life, and in each one a different set of attributes will make a person stand out. So whatever you're looking for in a developer, you need to consider the current needs of the environment, and how you expect it to evolve over time.

Collapse
 
zaparka profile image
Petr Zaparka

A good developer knows how to deal with problems and how to approach creating new functionality. He/she writes code and tests it. He/she uses experience and the knowledge of others to resolve problems. A good developer delivers what they are asked.

A great developer does what a Good developer does. In
addition, a great developer can raise the level of other team members to new heights by guiding and challenging them in the right way. A great developer knows it's not just about coding but also about how you communicate with people, about attitude and trust.

A good developer can have better technical skills, but a great developer brings something more to the table. Their ability to deliver what truly matters and enhance the team's 'value' surpasses that of a good developer. Their contribution is invaluable.

Collapse
 
ssukhpinder profile image
Sukhpinder Singh

A good developer writes code that machines understand.

A great developer writes code that both machines and humans can understand

and occasionally, even their rubber duck sitting near your desk can understand during those intense debugging sessions.

GIF by Disney - Find & Share on GIPHY

Discover & share this Disney GIF with everyone you know. GIPHY is how you search, share, discover, and create GIFs.

giphy.com
Collapse
 
koza_brajamagenta profile image
Koza Brajamagenta

In my opinion, good coders are those that can do to every tasks that tossed to him/her

Great coders are not only that:

They can pass on their codes to other developers with predictable common sense

They can negotiate peacefully if task is simply impossible for them to do

They take ownership on their code

They have a product first principles

I think having some of these traits I can tell that he/she is a great coder

Collapse
 
yowise profile image
a.infosecflavour

In my opinion, a good developer is the one that knows how the things work and follows very well a known-path. Meanwhile, a great developer is an innovator 😺