Just like you, I have struggled with many problems of a wide variety in my life. Given my profession, many of these problems were challenges with technology. I worked my way up to leading an operations team by solving harder and more problems than others. I worked my way up to leading an architecture team by solving other types of problems.
I have been successful in these situations not because of any inherent intelligence, better education, or knowing more information. I have succeeded by keeping cool and calm in high pressure situations. This helps prevent your mind from building its own barriers. Inevitably, though, barriers will be produced, no matter how disciplined your mental state is.
When a barrier is built, you must first diagnose the problem and renew your faith in the idea that this barrier is self made and ephemeral. Let me tell you a story of how this diagnosis works.
My fun project for this year’s Thanksgiving weekend was to reproduce a dice game named Orlog. This game is a mini-game in the Assassin’s Creed Valhalla game. I am building this in the game engine named Godot using GDScript. I was attempting to register a mouse click event on a KinematicBody2D object. Long story short, my event was not registering.
As I drove home from dinner with the family, I was considering what I would do when I got home. As I filtered through my options, I scanned over the idea of fixing my issue with the game. Thinking about doing that caused me immediate discomfort because I had already spent hours banging my head against a wall on that problem. As I began to discard the idea and think of something else to do, I stopped.
I asked myself whether I wanted to abandon my project or solve the problem. Coming back to the problem tomorrow would not change anything. I reminded myself that my discomfort and aversion to this issue was in my own mind only. Then I reminded myself that there is a solution and I have not run out of next steps. I began brainstorming not for the solution to my problem but for the single next step.
Once you have acknowledged the barrier as something that you made and remember that you have the power to remove it, all you must do then is stop trying to solve the problem. Often we cannot see the ledge through the fog and struggle to imagine making the leap and ending with a favorable result. But when you seek the next step, and nothing more, you will notice the ladder heading down the cliff. You cannot be certain that it will lead you where you want to be but the achievement of finding the next step will refresh you and the presence of a definable path will provide hope.
It is difficult to feel frustrated in the face of a small victory and it is impossible to feel hopeless when you have built a sense of hope in what comes next.
I had decided that I did not know enough about the input event that I was trying to trigger. I decided to Google the event and just read the documentation until I could find my next, next step. A moment later I realized that I had converted an existing Node2D object into a KinematicBody2D but had forgotten to modify the class declaration in the code-behind. Node2D objects do not emit any input event signals, therefore, my code monitoring for the event would never trigger.
I did not lack the knowledge to solve my problem. I did not even need to take any action to solve the problem. I had solved my problem before I finished driving home. I simply decided that the fog was not real and it burned away revealing the ledge that I sought.
I have observed or mentored more technical professionals than I can remember who slammed into these ephemeral mental barriers and declared, “I’m stuck!” They tell us that they, “are blocked,” or that they need to escalate to someone else to solve their problem.
Do not feel defeated. Do not fall into the trap of believing that you are not enough, that you are not up to the challenge. You can do this. You can find the next step, then the one after. Problem-solving is a path paved in small lessons, not something conquered by prior knowledge.
Every great developer you know got there by solving problems they were unqualified to solve until they actually did it.Patrick McKenzie