Be the Tom Brady of developers with these 7 practices
Clarify your goal and be humble about the journey
There is a lot of talk about greatness. For instance, many have said Tom Brady is the best Quarterback that ever lived. He has many Super Bowl wins. He also has some great statistics as well.
As a displaced Bears fan, I think of great players like Walter Payton. In sports, we have statistics and championships. Software development is a bit different. It is hard to compare people in a similar fashion.
Let’s go over a few criteria that can highlight a great developer.
There is no greatness where there is no simplicity, goodness, and truth.
Leo Tolstoy
Humble
Why start with humility? To become a great developer we start here as without it you will never get passed well. I have worked with some sharp developers.
They, unfortunately, didn’t have a humble bone in their body. Many were quite full of themselves. Like a Greek tragedy, these people always had a fall from the ranks.
Some went down in a blaze of glory. An exit from the organization that is inglorious. Humble people realize their mistakes quickly and learn from them.
Clarity
I used to be an avid listener to Glenn Haege America’s Master Handyman, or that is how he labeled himself. He would say if you want great results you need specific and clear guidance. General advice would get you general results.
Great developers have clarity in their work. They understand what they need to do. I have done a poor job with this in the past. I assumed what I thought the correct outcome was and missed the mark. An experienced developer will ask more questions to achieve clarity.
Basics
John Wooden famously started his basketball players out by tying their laces. As they point out in this New York Times obituary, “Coach Wooden did not start with layups or defense. That was too far advanced. He started with shoelaces.”
Mastering the basics is a must for a great developer too. They know their tools IDEs or Integrated Development Environments, command line tools, and their languages of choice.
Curious
Technology changes at light speed. It can get overwhelming if you are not driven to keep learning. The curiosity about how technologies work pushes developers to look for new items to learn. As you learn more you begin to see where technical choices can be important.
Communicator
Technology people get a bad rap. There is a stereotype that most developers are poor communicators. To be effective at our work though we need to develop proper communication skills.
I recommend Toastmasters to many people I have met. Speaking well and asking good questions can help you in any walk of life. Developers need to be able to understand and question assumptions with their communication skills.
Feedback
I have been a poor receiver of feedback in my life. Coaching people I have learned how valuable that can be. Recently for a corporate client, I reviewed the book Thanks for the Feedback.
They focus on the receiver being able to comprehend the feedback properly. As a technical professional, I need to be in the right frame of mind for feedback. We need to be willing to learn from the feedback of our teammates.
Discipline
Cal Newport discusses Deliberate Practice in his book So Good They Can’t Ignore You. This is having the discipline to practice your craft daily. Cal discusses World Class Chess players and how they got there. They have to do more than just simple routines repeatedly. They need to expand their skillset continually.
Similar to sports I have rarely worked with truly great developers. Some people have a few of these qualities but not all. Many of them lack being humble. They get a little full of themselves.
Others seem to lack communication skills or are unable to handle any feedback. It is important to point out that these traits can be developed. If you coach a developer they may learn to develop these characteristics.