loading...

Top 10 Traits of Legendary Developers

hussein_cheayto profile image hussein cheayto ・5 min read

Practice makes perfect. This is the key to success, but it's not enough. In fact, having solid technical chops isn’t the only thing needed to have a thriving career as a programmer. What makes a great developer? There are plenty of opinions on this topic. Here’s a breakdown of the top 10 qualities that you should have if you want to become an expert:

1- Never Satisfied

As Albert Einstein said: "Once you stop learning, you start dying.".
Expert developers are a life long learner, they're never satisfied with what they know.
The best developers don’t just know how their own code works, they understand how the libraries and runtimes beneath it work.
With the accessibility to courses online, you don’t have to go to school to become a great developer. Getting a degree in computer science helps understand architecture better and gives you a holistic perspective on the world of computer programming. Besides, great developers are never afraid to ask questions. As a matter of fact, they admit that they don’t know everything, and this is why they keep learning. They are happy to receive information from experts as well as from beginners.

2- Fast Learner

Being a fast learner is a great advantage to master a skill. In fact, time is your enemy, the faster you grab the info the faster you achieve greatness. Great developers are usually amazing self-learners. They have the ability to learn new technologies on their own and aren’t intimidated by new technologies. Every programmer will experience a situation where he or she doesn’t know the answer. Great programmers will find different resources, talk to the right people and find the solution no matter what.

Related Article: 10 CODING MISTAKES THAT MAKE YOUR CODE SMELL

3- Grace under fire

Programming can be an extremely stressful profession. When deadlines are tight and nothing seems to be working, it’s easy to freeze up. The ideal developer will be able to handle even the most stressful situations calmly and, most importantly, be able to continue working.

4- Great Team Player

Another superb quality of legendary developers is their ability to help other developers get better. They offer teammates help when they are stuck. They are always willing to offer help and share their knowledge. Besides, great team players are always reliable, communicates with confidence and display genuine commitment. They are driven by passion which triggers their motivation to not just stick to the 9-5 job. In fact, great team players take their job to the next level by making positive work relationships with other team members a priority and displaying a genuine passion and commitment toward their team. They come to work with the commitment of giving it 110% and expect others on the team to do the same.

5- Great Time Management and Planning Skills

Great developers are highly reliable. An important skill is the ability to estimate the amount of time needed to complete a task, communicating this and delivering on it, before writing the first line of code. Through experience, they can plan ahead and know the issues that they will face during the project. Exceptional developers are great at managing their clients or leaders instead of you managing them.

Related Article: HOW TO BECOME SUCCESSFUL- EPISODE 4- Fernando Lira

6- Deep Technical Experience

Great developers have worked with a handful of technologies long enough to become experts and are competent with many. They follow coding standards and write code that is understandable and commented where necessary and can be passed on to someone else easily. Using their cognitive abilities and diverse industry experience, they’re able to arrive at optimal solutions quickly. An expert developer is well versed in best practices like agile development, task management software, version control, and working in different environments.

7- Debugging skills

Expert developers are problem solvers. Coding is only part of their job. When software doesn’t work as expected, they are expected to get to the root of the problem quickly and effectively. Instead of spending hours blindly making changes, experts carefully investigate code and research possible issues until an answer is found.
Programming can best be compared to solving extremely difficult math riddles. A great programmer thrives on finding ways to make something work, despite the odds.

8- People Skills

Good communication skill is correlated with good development skill. It seems to be understood that a developer will mostly be sitting in front of a computer all day. Yet, programmers are regularly expected to interact with managers, teammates, and clients. that's why the ability to work well with others is a must. This is especially true if your programmers are occasionally asked to participate in client meetings and explain how a system works. A great developer is able to understand problems clearly, break them down into hypotheses and propose solutions in a coherent manner.

Related Article: 10 People to Follow to Land a Job in Game Development Without a Degree

9- Passion for the work

The word “passionate” has been used and reused everywhere so much that it now appears as a hollow adjective. Still, it remains an important trait of a software developer. While some programming staff can simply serve as nine-to-fivers, many hiring managers are interested in finding someone who will gladly put in long hours when the situation merits it. Often these employees can be found during the interview process by their outside interests. True programmers are self-proclaimed “computer geeks” spending their time gaming, building servers, or creating apps for friends.

10- Never Give Up When Everything Fails

Programmers almost never get everything right on the first try. In fact, failure is a certainty. However, elite developers see errors and bugs as a challenge rather than a sign of defeat. Persistence is important, as well as the ability to start over if necessary, even after hours of work. This is why perseverance is key. They believe that after long hours of troubleshooting they will solve the problem, and they do solve it!

Related Article: Top 5 Web Developers You Should Follow to Succeed Without a Degree

Conclusion

The list goes on and on. After interviewing and working with the top developers in the world, I've picked these 10 common traits that I've noticed in these great developers.
There are many aspects to being a good developer, but at the end of the day, like any profession, it starts with seeing yourself as a professional. That mindset alone will move you in the right direction.

What’s your definition of a great software developer? Which attributes resonate the most with you?

Want to become successful? Join my email list and you will receive articles, freebies and free 30 minutes 1 on 1 online coaching session from our talented and experienced developers.

Discussion

pic
Editor guide
 
[deleted]
 

Utopia or dystopia? 😄

I've been a software developer practically my whole life, and I've never seen anyone with more than 2 or maybe 3 of those qualities. A person comprising all those 10 qualities could only be some form of advanced human.

In my opinion, there shouldn't be a list of any kind to distinguish people's qualities. There's more to it than a simple list, and human beings are already being treated as drones, especially in large companies.

Regarding the list, I can relate to the following numbers: 1, 4, 6 and 7.

  1. I consider myself a perfectionist and am therefore never completely satisfied with my work.

  2. Although I might be lacking in social skills, I enjoy helping my coworkers and expect the same in return.

  3. It's quite common for developers to gain superficial knowledge and consider themselves experts in some particular field. I've seen lots of network "experts" who don't even know how TCP sequencing works. I strive for deep understanding of anything I might be working on. Sometimes the comprehension is beyond me, but that's not an excuse to quit trying or asking for help.

  4. This closely relates to both 1 and 6.

Putting too much pressure on people or trying to reduce a person to a set of numbers is, in my opinion, just plain wrong and could eventually lead to burnout.

Thanks for the article, It's a good overview of highly praised developer skills. Although I personally don't agree with everything stated here, I always appreciate people investing their time in writing.

Thanks You

 

You've just contradicted yourself. You've never saw someone has more than 3 traits, then you say that you have 4 of these traits 🤔

You just need to open something called Youtube and search for Brackeys, Sykoo.... and you can easily see that these people have at least 6 of these traits.

I agree that big companies treat people as robots.

About the "expert" thing, it's others who have the right to judge whether you're an expert or not. You're right, some people say they're expert, while they miss a lot of information. This mentality prevents them from achieving huge success.

Thank you. Also, I appreciate your time reading the article and writing the comment.

 
[deleted]
 
[deleted]
 

You've certainly got a Pie-in-the-sky view on things when defining Legendary Developer Traits. And with this kind of definitions you're touting, you are setting up newbies & junior engineers for unrealistic achievements.

Most of the top 10 traits you describe relate to engineers that have been within the same company, technology stack and code base for many many many years. I've worked with engineers that resemble your list of traits, but not everyone has lived up to or could achieved this level of glory as you describe.

Two of the biggest follicles you've pointed out are # 5 & # 8. Because when you boil everything down to the drive of your legendary developer, they are so engulfed in learning & never giving up that they can't or wont meet a timeline they've predicted for a delivery.

Plus, its very rare for a top level engineer to be engage with customers or clients. The majority of Sr Engineers will never engage with a customer or client even if they have good communication skills. Not to say that I haven't seen plenty engaged with service providers because they are working on an integration. But a well engaged and commutative legendary engineer doesn't have much time for project delivery.

 

Very detailed comment Ken. I see that you've read all the article, that's great.
Your comment is divided into 4 paragraphs, for paragraph #:

1- If junior and newbies are getting frustrated due to my article, then there's 2 options:

a- close the tab and read another LaLaLand article

b- read it and keep working until they achieve these traits, and they will be surely happy with what they will see.

2- No, they are not in the same company. Besides, it depends on how ambitious these engineers are and how smart they are and how they behave.

3- They are so engulfed, but with great time mamagement, they know how to manage their time and meet up with clients. Besides, an engineer that doesn't know how to communicate with people, will have great issues my friend. At work, it's not about how good you are, it's all about connections.

4- Once an engineer is in the Senior level, if he's ambitious enough, he should think about a managerial level.

 

Sorry, but no I didn't read all the articles linked. I used my 20+ years of experience as a reference for this discussion. Now I'm not saying that individuals shouldn't strive to fall into these buckets. All i'm saying is that most developer will not achieve 60% of these traits and still have a successful career.

For the entry level, bootcamp enrolled or graduates or 1-to-3 year junior software developer you've set a bar that is 10 to 15 years out for an individual. Bolstering "Traits" like this need to come with a warning label that you are talking about developers that have been performing the work for a decade plus. And some of those developers will go by a title of Architect, Staff or Senior developer.

Another fallacy to drop is Senior developers should eventually move into management. If you are at the right company there is a technical growth track and a management growth track. There is no reason to fall in to the management world because traits 5 & 8 are strong, but you have a passion to stay a Keyboard Cow{boy|girl}.

What comes easily, goes easily.
Newbies, junior or even Senior should know that they must do the hard things in order to grow. Therefore, this list should motivate them. If you think it doesn't, then this is your opinion and I respect it. We can keep arguing till tomorrow. But I'm busy, I have more important things to do.

With 20 years of exp and you respond with such a comment, well..., let me teach you something:

There's 2 types of experience:
A- Routine, keeps repeating the same task each and every day.

B- out of the comfort zone. Always learning new stuff, and accept new challenges.

Notice, that both will have the same number of years of experience.

I thought this was an open discussion of opinions of how to grow as a developer? But if you want to end the discussion because it is below your time allotments, then so be it.

As for your lesson . . . there was no teaching.

 

There's more to life than being a devoper. When you hear people in their 30s dying of heart attacks, you begin to question your reasoning. It's unhealthy to strain yourself to the brink of death for the sake of some symbols on the screen. Everyone doing software development should learn to compartmentalise and devote some of their time to anything but sitting in front of the screen. I'm sorry if this is offensive to you, as an author of this article, but you're subtly encouraging young developers to take the path of self-destruction and burnout. When you're just starting, you tend to submit and work long hours to gain as much experience as possible. Doing all this just to impress your boss is unacceptable and I find it obnoxious. What you've written in this article would have been a benevolent guide for perfectionism striving developers in the 90s era. Things are different now, and CEOs and alike are asking way to much from their employees. The other day at work I had a pleasure of meeting a developer who can't even sit down. He's been neglecting his health, and now he has to go through physical therapy. Had he been more observant of his back pain, he would have taken action much sooner.

This is just the obvious and unfortunately realistic overview of how the word is setup in the 21st century.

 

Work to impress yourself only. Otherwise, you won't succeed.

 

The article seems like the continuation of a 10x Engineer discussion. Unfortunately, young unfledged minds can take some of your advice personally and think of themselves as failures because they are not "110% productive."

 

Or, you can think of it in a positive way and say: "this article will make every newbie to work harder every day, or just keep the same pace since he/she is on the right track"

 

I don't know that I can recommend being a legendary developer. If you call my references (the ones who will agree in the first place), you will hear "one of the smartest people I have ever met" and "truly a rockstar developer" but when asked if they would hire me again, "hell no." I don't every try to be an asshole, but apparently I sometimes come across as one and if I don't get the autonomy I need I guess I become I real pain in the ass. There's many things that make a great developer and lots of wildcard situations which can paint every good thing you did in two years in a bad light is what I have discovered.

 

It's their loss. Search for another job where they appreciate every single thing you do. And trust me, you will shine there and tell all the people who didn't accept you: "Fu** you"

 

I like your article Neil.
That's a free way to advertise your stuff through trending articles.
My website is almost visited by the whole world. I like your idea and I would like to help you spread it.
Send me an email to husseincheayto@codinstyle.pro with the articles that you want to advertise and I will be happy to include them in my next articles