There are many technical things I could list for being a good software engineer or even a great software engineer. However…
You already know that you need technical skills in a technical career. That should be obvious right?
Coding Skills Are Table Stakes
I mean, think about it. If you want to be a great programmer, you must learn to program. You can take courses on that sort of thing. That is why I have the Code Career Genius Academy. To get the technical knowledge right?
Anyway, making a list of programming languages and skills that take a decade to develop would miss a much larger point.
So, instead of adding to that pile of technical skills listing in a redundant way, i’m going to show you what I believe is the most important quality that I’ve seen in great performers…
Enter Kobe Bryant…
A few years ago I heard a story about Kobe Bryant. Kobe is one of the top 5 or top 10 best basketball players of all time. The man is a living legend. Here is a list of just a few of his accomplishments:
- 5× NBA champion (2000–2002, 2009, 2010)
- 2× NBA Finals MVP (2009, 2010)
- NBA Most Valuable Player (2008)
- 18× NBA All-Star (1998, 2000–2016)
- 4× NBA All-Star Game MVP (2002, 2007, 2009, 2011)
- 11× All-NBA First Team (2002–2004, 2006–2013)
- 2× All-NBA Second Team (2000, 2001)
- 2× All-NBA Third Team (1999, 2005)
So, in the most competitive league of one of the world’s most competitive sports, Kobe was among the best for 20 years.
How The Heck Did He Do That?
I’ve heard these stories that would pop up in the news about Kobe being a fierce competitor, but more than that he was a workaholic grinder in practice. For example, I’d read these short little two or three sentence blurbs about how after everyone went home after a game, he’d spend hours in the arena practicing his jump shot.
Think about that for just a minute. The man goes and plays four quarters of basketball, showers off, and then when everyone leaves goes back to practice some shots…
Okay, well that is enough to tell you the story that blew my mind about Kobe.
Kobe Goes To The Olympics
Years ago, Kobe was playing for Team USA for the Olympic basketball team. I think this was in 2008 after he was the NBA Most Valuable Player. Anyhow…
I guess after one practice Kobe went up to one of the strength and conditioning coaches and asked if he could do some extra training. The coach said sure and didn’t think much of it.
The next morning at like 3am or 4am Kobe calls him and said, “Hey coach, can you meet me at the gym for training?” So the coach gets there and they train until 6am.
After they are done Kobe grabs a basketball and starts working on his shot. The strength coach decides to head back to his hotel to get a couple hours of sleep before 10am practice.
Before leaving he asks Kobe, “How long you going to be shooting?”
“Oh not long, just want to get some shots in before practice.”
So the coach goes back to his room, gets some sleep, and comes back for 10am practice.
Just before practice the coach walks up to Kobe (who is shooting around) and asks, “So when did you finish your shooting?”
“Shooting? Oh, just now.”
And at that moment the conditioning coach realized that Kobe had been practicing his shot all morning long. After doing conditioning work early that morning. And then Kobe would go practice with a team full of NBA All-Stars.
No wonder Kobe was the NBA Most Valuable Player!
He was probably the hardest worker in the NBA too.
Just think about that for a second, this guy is already the best in the world at his sport, and he’s still determined to improve every single day. That obsession drove him to be the best and kept him the best for 20 years in the NBA.
And there is a lesson here for all of us programmers because I see this kind of obsessive push to be great in nearly every field where performance or excellence is in any way measured or rewarded…
To Be Great, You Must Be Completely Determined And Obsessively Working To Improve Every Single Day.
It’s not something you can just “want” to do. It has to be something that you DO.
Nike’s slogan of “Just Do It” is apt here.
The people who are going to be the greatest programmers aren’t likely to be on Quora wondering how to become great programmers.
They are too busy writing code every day and improving their skills every day.
The best programmers are “working on their jump shot” every day, even if it’s already the best in the world. They know it can be better and they work to make it better.
That is what separates greatness. They don’t take days off and they are always working to improve.
Not many people are willing or able to do that.
Are you willing to do what it takes to be a good or even great software engineer?