How blackjack improved my critical thinking skills

This week I was on a flight traveling to a business coaching conference out in Denver. I had a huge ah-ha moment that I want to share with you. I recently began a program to become a full-stack web developer at the Suncoast Developers Guild in St Petersburg, FL. Needless to say, it has been an insanely busy week for me. Not only did I need to keep up with lectures and assignments but also focus on the conference and sharpen my skills as a mentor to business owners. I’m thankful for the help of my instructor, my fellow cohorts, and staff at SDG that have been so supportive.

So back to the ah-ha moment. As I board the first leg of my flight and take my seat, there is an entertainment screen right in front of me. I have some programming work to do but figure I’ll wait until after take-off to start. Like I haven’t had enough screen time the past few weeks, right? I poke around the menu and come across the games section. I can’t believe it!, they have a Blackjack game there. The funny part of this story is that a couple of weeks ago, our assignment was to develop our own blackjack game. I’m smiling as I take a picture of it and think of slacking it to my cohort. I also begin to think about the proper caption or message to go with it. “I’m scarred! I am now wondering if they used a <div/> or a <span/> for their buttons. Did they create their own deck? Or did they pull it from an API? If so, which one? Was it all JS or did they use React?”.

And that is when it hit me. Yes, I now look at things differently. By shifting my perspective, I am able to look at situations differently. I can troubleshoot better. I am not scarred, it’s quite the opposite! My brain now thinks differently than it did just a few short weeks ago. In my training to become a full-stack web developer, I’ve enhanced my problem-solving skills. I look at things from a different angle. Before learning programming, I thought of myself as a robust problem solver. And it is most likely what drew me to join the program. If you are familiar with coding, then it is pretty evident to you. If you aren’t, let me elaborate on this. To write code for a computer to run a program, you have to break down each step or action you want it to perform down to its purest form. You might need to write functions that allow the computer to process the information. Imagine you have to write instructions on how to make toast. You would have to be very specific about each step. From gathering the ingredients, where those ingredients are, where you find the silverware to spread the butter. Do you need butter, or butter and jelly, etc.? The human brain is fantastic, and it can fill in specific gaps. If we don’t know where the knives, we can look for them in the drawers. If the bread isn’t on the counter, we can look for it in the fridge or the pantry. Computers are fantastic, don’t get me wrong. They can process information in seconds which our brains can’t. They can’t fill in gaps of knowledge if we don’t provide them. If we don’t, it just leads to frustrating messages like ‘undefined’ or ‘var can’t be null’. When you need to I need to make a decision or solve a problem, there will be times when I don’t have all the information, and I will have to make some assumptions, it’s true.
In some cases, though, breaking down the issue to its purest form can prove extremely useful. For example, I’ll be able to figure out what pieces of information I have and which ones I need. If I don’t have them, I can analyze if they are critical to the decision. It might turn out that it’s not relevant to the problem I am trying to solve. It will also prevent me — or my brain — to fill in gaps that could lead to dangerous assumptions and possibly the wrong outcome or correct decision.
I am glad that as a result of developing my coding skills, I’m improving my critical thinking and problem-solving skills.