avatarThe Secret Developer

Summary

The article outlines the seven key indicators of an exceptional programmer, emphasizing the importance of a willingness to learn, attention to detail, professional growth, curiosity, mentorship, and emulation of best practices.

Abstract

The article "The 7 Signs of a Great Programmer đŸ’Ș" delves into the characteristics that distinguish outstanding programmers from the rest. It underscores the significance of continuous learning and adaptability, noting that many successful coders are self-taught. The author suggests that a true passion for coding is evidenced by personal projects, contributions to the coding community, and a strong presence on platforms like GitHub and Stack Overflow. The article also touches on the ability to focus on both the minutiae of coding and the broader context of software development, as well as the importance of understanding Agile methodologies and other technical disciplines. It criticizes the Peter Principle, where unqualified individuals are promoted, advocating instead for a natural progression based on merit and skill. The article encourages programmers to stay curious and up-to-date with emerging technologies, to mentor and coach others, and to learn from the successes and failures of industry leaders. It concludes by reminding readers that even displaying all seven signs does not guarantee greatness without humility and that seniority is not a prerequisite for being a good programmer.

Opinions

  • The author believes that a programmer's willingness to learn is a critical trait, more so than formal education in computer science.
  • The article suggests that companies should value employees who actively engage in learning and contributing to the coding community, rather than just holding a degree.
  • It is implied that a programmer's environment should be conducive to deep concentration, free from distractions like Netflix or YouTube.
  • The Peter Principle is seen as a detriment to programming teams, promoting the wrong individuals and hindering effective coding practices.
  • The author posits that staying curious and continuously updating one's knowledge is essential to remaining relevant in the tech industry.
  • Mentoring and coaching are highly valued, with the belief that teaching others and seeking guidance can significantly accelerate one's professional development.
  • The article distinguishes between merely copying others' work and learning from the best practices in the industry, advocating for the latter as a path to excellence.
  • The author humorously acknowledges that even those who exhibit all seven signs of a great programmer should remain humble and avoid arrogance.

The 7 Signs of a Great Programmer đŸ’Ș

Not foolproof

Dean Drobot/Shutterstock.com

I recently wrote an article about the 7 signs of a bad programmer. I then found a challenge in the comments — could I write an article about the 7 signs of a good programmer?

Challenge accepted

Willingness to learn

It sounds obvious. Relatively few programmers went to university and studied that CS101 course that everyone talks about.

So how did those without formal education get into coding?

My colleagues were tempted into coding courses by sitting alone in dark rooms, and by bags of money

Ideally, companies should be filtering their staff by their willingness to learn. I wonder how many of our colleagues have a coding blog, a GitHub repo with 100+ stars, or a Stack Overflow score above 50?

I checked my colleagues. 0, 0, 0

If you don’t have colleagues who are willing to learn and adapt to situations, how can you work with them to solve difficult challenges?

With difficulty

Focus on the details, and the wider picture

I still remember when I joined a FinTech that reminded new employees not to watch Netflix at work.

Probably explains the fines for improper financial conduct

I don’t know about you, but following a technical article with someone talking in the background is challenging. Watching a YouTube video? Near impossible.

There are also benefits to understanding Agile and other technical disciplines that touch your own. Get some insight into the wider picture of development, and you will surely become a better developer.

You’ll need to improve your coding to the next level, though, right?

Defeat the Peter Principle, find a path upwards

The Peter Principle means that the wrong people are promoted to senior positions. The best programmers ignore the noise and become the best coders they can. They naturally learn more about the jobs of those around them and move upwards through the organization in a natural way.

Forcing progression through the hierarchy only leads to short-term gains

Is that because you might be fired?

Stay Curious

You’re not going to be able to stay a programmer if you don’t update your knowledge and keep moving.

If you fear that AI will take your job, you’re already done

You might as well fear youth; in the end, it will be gone in any case. Work on your programming skills, keep moving and keep up to date. That’s the only way.

Youth and good-looking people, those ARE the things to fear

Mentoring and coaching

I do believe that the best way of learning is by doing. There is, however, a way to supercharge your progress.

For those not quite as experienced as you, mentor them. Be their buddy when onboarded and ensure they’re all good when they join the company.

Seek out coaching wherever you can find it. If you can get people to champion you within the company, you’re likely to do better within the organization. Find out what might make you better in your position and seek out feedback. Find out what you could be doing better and improve.

Do what you can to get better

Isn’t a coach something people travel on?

Understand your obligation to imitate

Take best practices and learn from them. Improve wherever you can and build on the experience you gain. This is a different activity from just copying like a bad programmer it is going full steam at problems and learning from the best. If you can do that, you’ll someday be the best.

I’m not sure what this advice means to people (like me) who are already the best

This article is a light-hearted look at the following positive developer behaviors:

Willingness to learn

If you don’t want to learn, how do you keep up with technological innovations?

Focus on the details, and the wider picture

Programming is important, but so is the why. Without that, you’re likely the best coder working in the smallest silo

Defeat the Peter Principle, find a path upwards

Ignore the noise, and work in the best way that you can.

Stay Curious

Those that stay curious get the best work done and move the fastest.

Mentoring and coaching

Mentor those below you in the hierarchy, and get coaching from those who are in some sense more capable than you

Understand your obligation to imitate

Look to the best, as you can learn from their successes and their mistakes.

Conclusion

Even if you’re showing one of these signs of a programmer, it doesn’t mean that you’re great. Showing all 7? You’re unlikely to be a terrible one.

You never know though because your arrogance might just get in the way.

Oh, and a good programmer doesn’t need to be senior, which is why this article doesn’t mention “it depends”.

Now that you know what a good programmer looks like, what about a bad programmer? Take a look at the article below:

About The Author

Professional Software Developer “The Secret Developer” can be found on Twitter @TheSDeveloper and regularly publishes articles through Medium.com

Tech
Technology
Programming
Coding
Software Development
Recommended from ReadMedium