Individuals who believe their talents can be developed (through hard work, good strategies, and input from others) have a growth mindset. They tend to achieve more than those with a more fixed mindset (those who believe their talents are innate gifts). This is because they worry less about looking smart and they put more energy into learning.
Why is to so hard to admit when we’re wrong? Why can we experience a sense of guilt when making mistakes? Why do we find it hard to admit to our peers that we don’t know something?
I was originally exposed to the concept of a Growth Mindset when reading the book “Mindset: The New Psychology of Success” by Carol S. Dweck, Ph.D. It came recommended to me by a former manager of mine. I quickly recognized that I suffered from a Fixed Mindset and started to realize all the ways it impacted my life, especially my career as a software developer.
Lately though, I’ve been thinking through this idea in more depth and I have come to the opinion that this behavior of “worshipping at the altar of Innate Talent” contributes to so many of the limiting behaviors we are facing in our software development culture today. These behaviors tend to give people very bad experiences and ultimately disrupt our ability to connect with each other in constructive and healthy ways.
Is Ignorance Bliss?
There is a lot of peer pressure to look smart in this industry. We want the respect of our peers. We don’t want to admit we don’t know something and then look dumb in the process. Some communities even self-identify as “the smart kids” or others talk-down to “the more simple-minded folk.” This behavior only serves to perpetuate a fixed mindset.
As an inventor, Edison made 1,000 unsuccessful attempts at inventing the light bulb. When a reporter asked, “How did it feel to fail 1,000 times?” Edison replied, “I didn’t fail 1,000 times. The light bulb was an invention with 1,000 steps.” Henry Ford, R. H. Macy, and many other business pioneers failed many times before they succeeded. But somehow we’ve ended up with the belief that Mistakes Are Bad.
We might feel compelled to cover up our mistakes. We may not want the people we respect and admire to see our mistakes. “What will people think?” “Maybe the company will realize I can’t actually do this job and they’ll finally fire me.” Why? We often view making mistakes as bad because we fail to realize that making mistakes is a great way to learn. We associate making mistakes with a lack of talent. Perhaps we think “if only I were smarter, I wouldn’t be making these mistakes.”
I’ve failed over and over and over again in my life and that is why I succeed
– Michael Jordan
Thinking with a fixed mindset contributes to our insecurities having built-in defense mechanisms that serve to tear down others. It’s common in this industry to see people aggressively criticizing others or blaming others for mistakes. This is especially true the smaller or “sillier” the mistake is. Combine a silly mistake with a large negative impact and you will see plenty of finger pointing happening. It’s hard to admit that we can be one of the people pointing fingers.
A problem though is that this behavior is self-defeating. Blaming others is ultimately a behavior that diminishes trust that others have in you. Avoiding taking responsibility for our own actions can also exhibit itself in a pattern of “half-truths, use spin, avoidance, and weasel words.”
Remember, mistakes are not bad. Every mistake is an opportunity to learn and grow. By being honest when we make mistakes, we will start down a path of building trust with others.
The Cult of Personality
I fall victim to this… routinely. My personal development heroes are the Alan Kays, the Rich Hickeys, the Joe Armstrongs, the Erik Meijers, etc. I find myself thinking “I’ll never be as smart as them, if only I had as much talent and intellect as they do.” It’s not that they don’t offer huge swaths of knowledge you can learn from. It’s that I tend to tear myself down while admiring their knowledge. Our amount of talent is not fixed though. It will grow as we gain experience. There’s no need to be so self-critical.
We can see the impact of Worshipping Talent exhibit itself in more insidious ways at technical conferences and in blog post comments too. It’s extremely easy to fall back on looking down at lesser-experienced developers sharing their own discoveries and lessons learned. Perhaps you’ve been sitting in the audience at a talk and silently wondered why *they* are the ones giving a presentation? After all, “we want to hear from the folks that are smarter than us, that have more talent than us, the ones that we feel we can look up to”. You can even find presentations where attendees feel the need to correct the presenter or prove that they themselves know more.
The belief in innate talent can also impact companies.
A company that plays the talent game makes it harder for people to practice growth-mindset thinking and behavior, such as sharing information, collaborating, innovating, seeking feedback, or admitting errors.
The seeking of innate talent in the job market is an area that I know I tend to fall back into a fixed mindset and need to improve. When I’m interviewing people or looking at the great team I work on, I think about how talented they are. I think about how smart they all are. And they most certainly are. But I’ve seen a lot of teams get burned by the seeking of developers with innate talent, talent they were just born with.
Some companies look for the Rock Stars to hire, the people who have “freakish” amounts of talent. They get seduced by the talent. And what do companies frequently end up with? Prima donnas. People that lack empathy for others. People that are highly competitive and care more about their own accomplishments than the wake of damage they leave behind.
Morale sinks. Paranoia grows. Teamwork wanes. Passion dies out. And the joy of the fun work we do in sotware is slowly but surely sucked out of the team.
As I’ve progressed in my career, I’ve realized that I care most about working with people that are humble, trustworthy, and have integrity. Technology is easily learned. And technology changes frequently. Comparatively, it is much more difficult for a person to change the core of their personality and belief system.
When we are living in a culture dominated by a fixed mindset, there becomes a growing desire to look smart or to not be viewed as “dumb” as we discussed above. This impacts our career directly because we find ourselves censoring ourselves. We don’t share our experiences or lessons learned because we think others don’t care or that it won’t be useful to anybody else. After all, “What value could I possibly be providing that so many other people haven’t already provided?” We avoid the risk of being criticized, and we avoid the risk of failure.
It doesn’t matter whether it’s blogging, whether it’s speaking at technical conferences, or sharing source code. It doesn’t matter if you just started programming yesterday, or if you’ve been programming for 20 years. Everybody can provide value. Be yourself and put yourself out there. Don’t worry about others. You are learning. And your own mistakes can help others learn too. And that’s A Great Thing. Don’t let perceived risks get in your way.
Risk aversity crops up all the time in how companies behave as well.
Organizations that embody a growth mindset encourage appropriate risk-taking, knowing that some risks won’t work out. They reward employees for important and useful lessons learned, even if a project does not meet its original goals. They support collaboration across organizational boundaries rather than competition among employees or units.
It can be frustrating to work at a company that is risk-averse. Taking risks naturally involves the potential of something bad happening. When you overly focus on the potential for bad, you fail to recognize the learning that happens through risk taking, even when the bet doesn’t pan out.
Similar to the risk of sharing our journey with the larger company, we can avoid sharing with our own team members as well. Being willing to admit you don’t know something is a form of risk tasking afterall. But do we work at a company that actively encourages us to take these risks? Or do we suffer potential negative consequences from that action (e.g. fewer opportunities for growth due lack of perceived skill, team members having less confidence in our abilities after, lower performance reviews because we aren’t viewed as “strong/smart”, etc.)?
Having a company culture that embraces a growth mindset is important. Making mistakes are a way we learn. That includes topics as scary as facing a major disruption or outage of a service. Companies with a fixed mindset view these occurences as horrendous, they are something that should be avoided at all costs. However, it is through these experiences that a company discovers the true ways their software can misbehave. It is through these lessons and growth that systems improve and evolve over time.
The best way to make a more robust and reliable system is to be brave enough to find the ways the system breaks in the first place. Without this, systems remain stagnant and become more brittle over time as entropy sets in.
But to prevent unwanted downtimes, or to avoid fixing the underlying problems due to the potential of risk, it is not uncommon for companies to introduce more process. Add extra steps, personal sign-offs, or some other mechanism that aims to prevent the same mistake from being possible at all costs. This is just a Band-Aid. The actual underlying flaw of the system is not being addressed. The company only aims to prevent the same flaw from being exposed in the future. AS these extra processes add up, the evolution of software slows down tremendously. It’s like building and maintaining a system with both hands tied behind your back.
So what can we do about all of this? First off, we need to be willing to take appropriate risks. We need to recognize that making mistakes provides opportunities to learn. We need to stop being hard on ourselves when we make mistakes. And we need to stop being hard on others when they make mistakes. Every mistake is a learning opportunity. You can not only learn from your own mistakes, but you can learn from others’ mistakes as well. Mistakes Are Good. They are a sign that you are stretching your abilities and growing.
We need to be willing to share our journey with others. We need to not let fear get in the way. Sharing our journey and experiences will provide its own form of learning. By lurking in the shadows, forever on the sidelines of life, we are robbing ourselves of great experiences and slowing down the rate of growth we could otherwise experience. And we need to be supportive of others doing the same thing.
We also need to stop defining our own self-worth by the set of knowledge we have today or how much innate talent we think we do or don’t have. By being willing to admit when we don’t know a topic, we are recognizing an area for learning. We need to acknowledge that every moment of not knowing can be a moment for learning. We can’t do this if we’re not willing to admit what we don’t know.
We need to recognize that talent can be developed, that it comes from hard work and learning. We should not take away the avenues we have for making mistakes. We should not take away the avenues we have for learning from others. This will only inhibit growth in the long-run. We need to start living with a Growth Mindset and showing in actions what that means, both as individuals and as companies.