We’ve all been rookies once and we will always be in many areas. We have a lot of questions and many times no one is there to help. We have to search for solutions ourselves, try them, fail, curse, abuse whatever object is closer, and then repeat from step one, until we finally reach the “ah-haaa” moment. We often learn the hard way.
As developers, problem solving plays an important role in our lives. Each of us has different skills, experience, personality, so we all search for answers in a different way. I consider myself a guy with problem solving skills. Yes, just like any programmer, just like the résumé cliché . This is roughly one of my ways of trying to solve things, illustrated in a logical schema.
In a few words, to solve a problem I first ask questions and search for answers. If the information I find doesn’t answer my questions I keep searching until it does. If the answers don’t solve my problem then the initial questions are not good or not enough so I ask (myself, others or the Internet) something else.
I’m sure many of you often follow the same path, and you know how much those cycles can repeat (the NO branches). Fortunately, the answers are not always as far as we would think.
Ask the right questions
According to the Shannon entropy, information required to identify an arbitrary object can be represented in at most 20 bits. In English: you can find a great deal of information asking at most 20 questions that can be answered with yes or no, if the questions are right. Carl Sagan explains this in a beautifully simple way in an episode of the Cosmos series (you should watch them all).
Give yourself a couple of minutes and listen:
So we can assert that the quantity of information is less important than the quality of the question.
It’s really easy these days to get carried away and stray from the path you should follow. But with a little discipline you can teach yourself to focus.
Stand back once in a while and ask yourself: Where did I start from? What am I looking for?
Isolate yourself from any distraction source and concentration will build up. Disable notifications on your smartphone, turn off the TV and radio (you can still listen to music if that helps) and you will win a lot.
Curiosity is one of mankind’s most valuable characteristics. We wouldn’t have gotten this far if it wasn’t for the desire to learn new things. Many times we find ourselves wandering in a forest of knowledge, and that’s when we find out a lot of stuff that will eventually help later.
This may seem somewhat opposed to the idea of focusing on a path, but if you do it in your spare time, it can only do good. Here’s a game that can lead you to fascinating facts you didn’t know:
Where would we be without books, schools, and more recently, the internet? Communication and contribution are the building blocks of culture.
Surely you have findings that could help others, so don’t be selfish and share. It may not help you directly, but the Universe is a balanced place and if you do good, payback time will come
You don’t have to be a Ph.D. and expand the circle of human knowledge. But think of smaller circles, the company you work at or the community you live in.
Take a break
We are human after all and we do get tired. This diminishes the effectiveness of our research process, so I think it’s really important to sometimes just sit back and relax. The answers will come faster if your mind is fresh.
Whether we’re engineers, artists or business people, the desire to find answers is part of our lives, it’s in our nature. And it is our duty to constantly improve the way we learn.
I’m looking forward to hear your thoughts on the topic. Until then, keep learning!