When I was younger, I often looked for the “easiest” or most “efficient” way to solve my problems. Whenever I picked up a new hobby or skill, I never took the time to the mechanics or techniques that came with them. I would learn on my own and when ran into a problem, I would frantically search the web for a solution; “What can I do to get my program to work?” or “why aren’t the scenes in my animation program working as expected?” I would click through countless pages until I could find a solution that matched my problem, skim the text until I found a straightforward solution, then implement it. I would repeat this process until I had “learned” enough to perform the basics of my new venture and I would be satisfied.
This bad habit stretched well into the beginning of my programming career. Like many others, I would search and post simple questions into various forums hoping to get a direct answer. There would be questions on StackOverflow that were similar to mine but were met with indirect solutions or passive aggressive comments. Many saying that the asker needs to think for themselves or that they shouldn’t post their questions because they are too simple. I would be confused and offended because I had these same questions and I believed they were perfectly valid! After a while I realized that these commenters were probably tired of people like me trying to find the easy way out and not thinking for themselves. I was limiting my scope of knowledge by taking the straightforward route and therefore I could never perform more complicated tasks because I didn’t truly understand what I was doing.
Those on forums appreciate it when the user asking the question are concise and specific about their problem and have proved that they have made an effort to solve the problem. In these cases, they are more likely to help the user without the insults or passive aggressive-ness. Here is an example of a well written question: StackOverflow. The user is clearly having problems with Cortex M4 LDR/STR timing as is stated in the topic title. He then states that he is trying to find a solution in the Cortex M4 TRM but does understand the text, which he includes in a readable format. The community took well to his question and gave him detailed explanations of the text and reiterated some sections for him to make it easier to understand.
On the other hand, here is an example of a poorly written question: StackOverflow. In this example, the user did have a satisfactory title, “Optimizing the loading process of IMAP in connection with PHP and databases,” which states what the user is trying to achieve, but the problems lie within the content of the post. He is using language that seems stuck up, “the loading times are very modest. With a mailbox with 1800 mails, even the loading process breaks down.” It puts users off as it seems like the poster has an attitude to begin with. He then states a state a solution that he is considering but has not tried, which defeats the purpose of posting the question, then ends his post with two questions that are irrelevant to the previous two sentences. His post received 3 downvotes and no replies. If he had been consistent on topic with his post and used language that was more friendly, he may have received replies and not downvotes.
Your desire to grow is reflected in the effort you put in to learn. It goes beyond looking up the direct solution, if one does not take time to understand what they are learning, they gain nothing. Asking the right questions is the first step in true growth.