Tips to Successful Programming: Admit Ignorance and Ask Questions

Seantarzy
5 min readSep 25, 2020

In the early 1920s, Thomas Edison would interview applicants using his famous Intelligence Test. This test would consist of an array of questions testing your knowledge of the world. You can check out the full list of questions here:

https://paleofuture.gizmodo.com/take-the-intelligence-test-that-thomas-edison-gave-to-j-1689489019.

Browse through the questions he would ask applicants. I mean, it’s ridiculous! What does knowing the capital of Pennsylvania have to do with being a good engineer? I have no problem saying it: It’s a lame test. Einstein is even said to have failed it. What’s wrong with the test? Edison made the mistake of confusing knowledge with intelligence. Now, with the evolution of the internet and the convenience of having an endless library at your fingertips, I found that, specifically as a coder, the real skill lies not in knowing the right answers, but asking the right questions.

When you have an endless library at your fingertips, it’s not about reading as much as you can, it’s about picking out the right books at the right times. Months ago, when I graduated from a coding bootcamp (the Flatiron School), many people would joke that we just spent 17,000 dollars to learn how to Google. There is definitely some truth to that. When we would have our coding challenges, we were allowed-no, encouraged-to use Google during the test! After sixteen years of traditional, education, that was a new one to me, but it made sense and it felt awesome. Why should I have to memorize something that will always be available to me?

Ok, so what is the trick to asking the right questions? I find a successful strategy in a Zero-In approach: asking broad questions and then narrowing down in specificity to obtain the relevant answers. This is especially helpful in the debugging process.

-I may be really excited to test my app so that I’m one step closer to creating the next Facebook, but as soon as I run “npm start”, the server fails. So I ask the very simple, reasonable question: “Why doesn’t my code work?”

-After inspecting the error that is given to me by the terminal, I see that there is an error on line 54. So I get more specific-“What’s wrong with line 54?

-OK-on this line I am making a fetch request to my backend-is this fetch request working?” Inspecting my backend I find that the communication is broken. Why?

-After some more investigation I find that it is a “CORS Issue”-“What the Hell is a ‘CORS Issue?’” Great question-So I Google it.

-Ok “CORS” stands for Cross Origin Resource Sharing”, and I have to “enable cross origin requests.” Ok-how do I do that?

-And so I Google away until the issue is resolved.

The same strategy can be extended to many things- such as understanding a book.You ever read a page and then say to yourself, “What did I just read?” Well, instead of just giving up and turning on the TV, you can make a valid effort to understanding it by asking the right questions. Re-read the page and then zero-in: You start from the beginning of the page and things start to make sense until you say to yourself, “I do not understand this particular sentence”. Why don’t you understand that particular sentence? Is there a word you don’t recognize-well that’s for sure Googleable. Do you understand the words but not in the context in which the author is using them? A little trickier but still Googleable. Does the sentence introduce to you a character you don’t remember meeting? Probably Googleable, but it may be worth it to flip back and find out where that character is instantiated.

I keep mentioning that it’s about the right questions, because, I’m sorry to whoever told you otherwise, but, There are such things as dumb questions. I know I’ve been guilty of asking them. If you’re in class learning about the Federal Reserve, and you raise your hand and go, “Hey, what was the name of the pig Samuel L Jackson mentions in Pulp Fiction?”, that is a dumb question. It’s an extreme example, but it shows that your question should be on topic. So, while you’re zeroing in and narrowing the scope of you’re question, make sure you’re staying on topic. It’s not easy, but as you go through this process again and again, you’ll find yourself getting better at asking questions.

This may be hard for some people, but it is impossible to ask the right questions unless you admit ignorance. Ignorance is great-it’s an opportunity to learn something knew. If something doesn’t make sense to you, make sure that you are honest about it, and then once you admit “I don’t know”, you can embark on your educational journeys. This will create a growth mindset and allow you to be more successful in your endeavors. Darwin once said, “Ignorance more frequently begets confidence than does knowledge.” I also understand that in a classroom setting it can be challenging for some people to ask questions for fear of being laughed at. Unfortunatley, restoring your self-confidence is not the aim of this blog post. The only thing I can offer to help with that is a Shia Lebouf motivational video: https://www.youtube.com/watch?v=ZXsQAXx_ao0.

Let’s re-visit Edison’s failed pupil, Albert Einstein, Time Magazine’s Person of the Century. The “answer” for centuries, thanks to Newton, was that time and space are absolute and independent of each other. Then Einstein comes along and pretty much says, “I don’t know, is it?” He then would continue his thought experiments, create the Theory of Relativity and the rest is history, or, rather, science as we know it (or as we think it!). Albert Einstein admitted ignorance and then asked the right questions, even without Google!

Of course, knowledge is important, and I am proud to say that I know a few things about programming. However, there are infinite things in this field that I don’t know, and I am excited to ask the right questions and learn as a perpetual student.

--

--