The Solution Is In The Error Message

The Solution Is In The Error Message

Multiple red lines of error message from Github; My most intense moment during my first month at TIIDELab

I have spent a full month so far in TIIDELab fellowship for aspiring web developers Cohort#3. I will never forget the day that I successfully solved a Github problem from first principles. In my first article about my experience in the pre-fellowship for Cohort #3, I stated in one of the insight lists : "The solution is in the error message". This is because I realized that Github error messages are very often (If not always) feedback on an erroneous input as well as suggestions on how to correct such errors.

Sometime in week 3, all fellows were required to create their own professional portfolio. I was trying to pull from my repo, when I got a highly complicated error message. I simply stayed calm and read slowly through the multiple lines of panic-inducing red lines. After carefully parsing through it all, I calmly clicked the right spots and entered the appropriate commands and all was well again.

You see, in software development, most people love to write about specific solutions to vary narrow subsets of software-engineering problems. No one deems it worthy to talk about 'Meta-skills'. The kind of mental toolkit that the person applies to multiple diversities of problems. Lets assume that you have a mentor in software engineering and you always go to him whenever you encounter a problem. Now, this mentor is an expert who always figures out the solution to your coding problems.

Now, no matter how experienced your mentor may be, it is highly unlikely that this person has encountered all possible software engineering problems that aspiring developers face. How then, does he manage to have just the right solution to each of your problems? The answer lies in the use of meta-skills. He most likely has some pattern of behaviour which he employs to tackle any and all soft ware engineering problem.

In my own case, the meta-skill is "First Principles Thinking". The first principle when dealing with computers, is to know that a computer is a completely logical entity and If you can distance yourself and get your own mind in logical order, you will be able to understand what the computer needs you to do. If I can remove my emotions from the error event on my screen, everything gets simpler. You already know, that as a beginner, your immediate response to multiple lines of error messages is PANIC! However, this fear will not help you to solve the problem.

pexels-samer-daboul-4178738.jpg

My first principle in dealing with Github, is to assume that the inventor of Github is at least as intelligent as I am. If that were the case, then he must have made provisions for each possible conflict that may arise during the use of this platform. When Github gives me an error message for instance, I ask myself: "If I was the one who invented this app, what logical solution would I have put in place for this particular problem?" When I get the answer to that question, I can move forward into action. When I encounter a novel piece of tech, I ask myself: " If I was the inventor off this tech, How best would I design the user interface?" the answer to that question enables me to intuitively understand what each button on the device does.

This is the biggest lesson that I learned during my first month at TIIDElab. In my next article, I will be talking about the concept of "Mind-ware" and how this "error Message" idea can be applied to solve problems which are not even related to coding. Until then, keep coding, keep learning and keep calm!