Coder’s grit: how to build it
You can define “grit” as perseverance and passion for long-term goals, and it has been shown to be a better indicator of future earnings and happiness than IQ and talent 1. It is a combination of resilience, passion, determination, and focus. It pushes people to keep up discipline, optimism, and to persevere even in the face of rejection and discomfort.
Grit is an insufficient but necessary ingredient for success in any field, including software development. I have never met a stellar engineer who does not have it. Some people are born with it, but they can also develop it with work and determination.
Here is what you can do to improve your grit:
Find your passion and the purpose behind it. Pursue it incessantly, ignoring moments of doubt.
Don’t listen when people try to dissuade you from pursuing your calling. If you are passionate about something, go for it, and don’t look back. Your passion and your purpose will be the fuel that keeps you moving forward. On the way, you’ll encounter people who will try to take you down. Sometimes those people are going to be friends and family. Their intentions are most likely good, but you must persevere regardless of what anybody tells you. Without passion and a sense of purpose, you cannot build grit.
Learn through deliberate and thoughtful practice.
I have spent the last ten years in my current job working to understand how people learn, and studying how the process of learning unfolds. I can confidently state that learning is a not linear process. When you are learning productively, it feels confusing, messy and often frustrating. Learning is closer to walking through a maze than through a single path. The only way to find your way is to explore many ways until you can become familiar with them, and eventually navigate them confidently.
Grit requires thoughtful and relentless practice aimed to learn and understand the intricacies of the maze behind the passion you are navigating.
Take risks and embrace failure.
If you don’t take risks, you won’t fail enough. If you don’t fail often, you are not trying hard enough. Failing feels uncomfortable; as a result, you cannot build grit without feeling discomfort.
Adopt the leader’s mantra: calm, confident, and assertive.
Staying calm enables you to think straight and resolve problems. Confidence allows you to persist, even when things get tough. Being assertive allows you to go through obstacles without bouncing on them.
With a calm, confident and assertive behavior you can push through the discomfort, and continue the deliberate practice.
Grit is similar to a callus. It is a natural barrier that forms by repeating something emotionally and mentally painful many times. Once you built it, you can count on it to push through difficult situations.
In your software development career, you’ll need it to push through hard transitions such as challenging projects, stressful situations, crazy deadlines, new technologies that you have to learn quickly, toxic company cultures, etc.
- Angela Duckworth, University of Pennsylvania ↩