When I was seven, I was in a soccer league with my brother. I was scared of the ball. I would happily run in whatever direction the team was running, as long as I could stay far away from any tussles. Our coach would rotate us from position to position to give us a chance to understand the game better.
I dreaded my turn as goalie, which brought inevitable contact with the soccer ball. I'd beg my coach "Can my brother take my turn?"
My younger brother was an adept goalie who rarely let a ball past, so my coach often gave in and let him play instead of me.
This was one of many interactions that set the tone for my attitude towards challenging skills. (I still live in dread of pick-up frisbee games. Something to work on.) For a long time-- through my college years, in fact-- I thought that if I didn't master a skill right away, then I couldn't learn that skill, period.
Then I tried learning to code. Independent problem-solving is central to software engineering. There's no way around it.
Early on in my journey, I sought out the advice of senior developers. What advice would they give to their younger selves? Time and again, I heard "Imposter syndrome never goes away. Everybody's got it, so get used to it." You'd expect this to be common in a field that accepts professionals out of bootcamps or self-directed study, for sure, but I believe it's also because software developers are constantly trying to solve problems and failing. Again and again.
It's an inherent part of the process. There was no room for my fixed mindset here. I should expect to fail once, a few times, several times before I succeeded. I could be working on a single bug for a week. My mindset needed to change if I was going to build up the endurance I needed.
It was tough, at the beginning. I had to fight the feeling of taking bugs in my code personally. I had to stare at my computer screen and say out loud to myself, "Ok. How interesting that my code is behaving like this. I wonder why?" instead of listening to the inner voice that told me I just wasn't cut out to code. I'm still working on it.
I love what Carol Dweck has to say about the growth mindset.
“In the fixed mindset, everything is about the outcome. If you fail—or if you’re not the best—it’s all been wasted. The growth mindset allows people to value what they’re doing regardless of the outcome . They’re tackling problems, charting new courses, working on important issues. Maybe they haven’t found the cure for cancer, but the search was deeply meaningful.”
Seeing meaning in struggle is at the heart of software engineering. I'm really grateful to be learning a growth mindset because of my coding journey. I'm finding that it affects other experiences in my life.
I'm teaching myself Spanish. Sure, I can't roll my R's, but I'm motivated to practice.
Who knows, maybe I'll take up soccer again. :)
Top comments (3)
I loved this post <3
It's very true that there is no place for a fixed mindset in this field. We're constantly failing forward with what we do.
I've never seen that quote that you mentioned but it's 100% true. I'd also recommend giving a watch at this talk if you haven't yet.
It's what has helped me approach really tough problems without thinking there's something "wrong" with me.
Thank you for this resource Juan! I'll give it a listen this week. I hear you-- it's such a gift to be able to work on difficult problems.