DEV Community

Cover image for What Makes A Great Programmer, Great?
The Internet Folks
The Internet Folks

Posted on

What Makes A Great Programmer, Great?

“Greatness is not a function of circumstance. Greatness, it turns out, is largely a matter of conscious choice, and discipline.” ~ Jim Collins

Good is the enemy of great.

If you are here, reading this, then it must be your curious mind looking for the secrets to becoming a great developer.

But great programmers are rare.

Bill Gates describes great programmers as - "A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer."

So what it is that makes a great programmer, great? Is it their knowledge? Or luck?

The secret is, great programmers don’t just write code but they have important intangible traits and habits.

After working with hundreds of developers in communities and companies, we came up with these qualities that set great programmers apart from good or bad programmers.

1. Positive Attitude

Positive thinking is a way of processing information with an optimistic outlook.

Positive thinkers understand that life can be challenging, but they approach challenges with determination rather than defeat.

They move forward decisively and seek help when they need it to get the job done.

This is a useful characteristic in this fast world where people are paranoid about everything. Positive thinking is a golden tool for life.

How to have a positive attitude?

  1. Analyze your thoughts

  2. Practice self-care

  3. Practice seeing the positive side

  4. Challenge negative thoughts

2. Appetite For Learning

Great programmers are usually amazing self-learners. They are curious and they explore.

It's not a characteristic but a habit.

They schedule time from their day to learn new things. Great performers prioritize learning over entertainment.

“Being a student is easy. Learning requires actual work.” ~ William Crawford

3. Deep And Broad Technical Experience

With their urge to learn new things, you can find them being a specialist of one thing and a generalist of many.

They have not just worked with a handful of technologies but have practiced long enough to be an expert in it. Not the know-it-all expert, but will figure anything-anyhow expert.

It's their passion that sets them apart.

How to have it?

There is no secret sauce. Just...

  • Be curious

  • Have discipline

4. Communication Skills

Communication skills allow you to interact with people effectively.

In a team, being able to communicate effectively with your colleagues will help understand problems clearly, break them down into hypotheses, and propose solutions.

It allows you to be productive and get in the right direction.

Not just that, it helps you lead.

5. Good Team Player

Movies often glorify a solo coder working on big projects on their own, but in the real world, building great software is a team game.

Great programmers are dedicated to the team. They lift them. They add value to their personal and professional life.

They listen, they are flexible, they build trust.

“Talent wins games, but teamwork and intelligence win championships.” ~ Michael Jordan

It is easy to prioritize yourself. Real growth comes by lifting others.

6. Big-picture Focus

A great programmer doesn’t simply complete tasks but rather takes into account the broader impact on the system and user experience.

They understand the vision and they work for it.

Vision without action is merely a dream. Action without vision just passes the time. Vision with action can change the world. ~Joel A. Barker

They understand the higher purpose of their work.

7. Persistent

It's not that I'm so smart, it's just that I stay with problems longer. ~ Albert Einstein

They don't lose hope when things go south.

They are quite persistent about the problems at hand and the vision they wanna achieve.

Things worth doing takes time. There is no shortcut. It's the mindset that changes everything.

How You Can Be One?

1. Know your WHY

According to Simon Sinek, your WHY is - “The compelling higher purpose that inspires us and acts as the source of all we do.”

It's the reason why we love what we do.

The sense of purpose in work is the reason why we go the extra mile to get the job done.

It gives us a direction.

Once you have the direction, you are not stubborn about the path.

No matter if you got your dream college or not. You keep working towards it. No matter how much life hits you.

2. Be Conscious About Your Growth

Don't sleepwalk your life. Give it a direction.

Being conscious about growth includes planning it, taking proper actions, tracking it, and improving your plan as you learn on the go.

Growth on its own is not efficient. You have to drive it.

3. Read More To Sharpen The Mind

Reading exercises your brain.

It shares the wisdom of people's years and years of experience.

You have two choices - either make mistakes or learn from someone else's. Read books to choose the latter.

4. Practice And Gain Experience

Nothing comes without practice.

Information is not knowledge. The only source of knowledge is experience. You need experience to gain wisdom. ~ Albert Einstein

Without taking action on what you have learned, you may never be able to understand the nuances of it.

Experience >>>>> Knowledge

5. Have Fun. Enjoy The Journey

You do not have to wait for the goal to enjoy life.

Live in the moment. Celebrate the small wins.

Don't wait for everything to be perfect. Great things take time.

It is the journey that is the reward.

Hope this would have helped! And if so then help your friends too by tagging them in the comments 🤗

Thank you for reading 🤩

Follow Us On Other Social Media: LinkedIn, Twitter, Instagram, Medium, Github

Adios Amigos 👋🏼

Discussion (0)