How To Properly Ask A Questions If You Are Just Started As IT Specialist?
The last couple of years I have been doing a lot with people who are just starting their careers in IT. Since the questions themselves, and the way they are asked by many people are similar, I decided to gather my experience and recommendations in one place.
A long time ago I read an article from 2004 by Eric Raymond, and always followed he’s in my career strictly. It is quite large, and sharpened more for system administrators. I also have to help people, who often have no experience in development, to become juniors and start their careers.
Those who have already become, or still just dream of becoming a novice developer, I can give the following recommendations:
- Study the problem yourself
- Report target first, then voice the problem
- Write correctly and to the point
- Ask questions at the address and share the solution.
- Respect someone else’s time
- Watch further ground
Study the problem yourself
You are learning a programming language by book or course. They took a sample code, launched it, but it fell with an incomprehensible error for you. If you believe the book – it should work. But you believe your eyes – it does not work. What are the options?
- Decide that you will never become a developer, because the whole world is against you, and even working examples do not work. Drop training;
- Decide that you will never become a developer because you are too stupid or you are not given. Drop training;
- Start asking all your friends who are in any way connected with IT, to demand that they figure out why they are not working for you. Learn a lot about yourself, take offense. Drop training;
Which option is correct? Here he is:
Understand that you are not unique (whatever mom and grandmother would say), and the IT world is not as simple as they trumpet it when they call on courses and webinars.
Understanding that you are not unique leads to the realization that your problem has probably already been encountered in tens, hundreds, thousands of people. If you are a novice developer, you could easily have missed something, not installed or configured.
Here is the checklist I suggest to go through before you realize that you cannot solve the problem yourself, and you need help:
- Make sure that the question is unique and there is no answer to it on the Internet.
- Carefully examine the cause of the problem, not the effect.
- Evaluate possible solutions to the problem, their pros and cons.
- Think over alternative options to achieve the goal.
- Think about what you may be asked and prepare answers in advance.
With the first paragraph, everything is trivial: if the text of the error is completely incomprehensible to you, copy it to Google, and thoughtfully read the text from the links.
The second: for example, if your code fell with the error “I cannot connect a third-party library”, then it’s not your code. The fact is that you have not installed any library you want to use. So, you need to look for how to install it, and not how to fix your code.
The third and fourth are very similar: What if the problem is in this library, and I just need to look for another? What if I don’t use a third-party library at all, but write my code using standard tools?
The fifth point brings us to the next part: think about what the person to whom you are going to ask you and keep your answers ready.
Report target first, then voice the problem
The goal is what you wanted to do. For example, write code that goes to the Internet and saves 10 pictures with funny cats. The problem is why you see a mistake in the console, but you don’t see 10 funny cats. Do not start your question with a problem. Start it from the goal, end the problem. If the person you are asking for help is an experienced developer and knows a lot, then surely he will be able to offer you a simpler and more elegant solution to the problem. If you have already chosen the simplest and most elegant – it will clearly understand what you want to do and why, and this will speed up the receipt of the answer.
I want to keep 10 funny cats every day to laugh and prolong my life. For this, I wrote this code: […]. I expect that he will connect to the FTP server and upload new images from there. However, when I launched it, I saw the following error: […] Although I can go to this server through the browser.
You for nothing took this library, for a long time nobody supports it and does not develop it. Take this one better – I download pictures of cats with her!
Hi, my code gave this error […], you do not know what could be the matter?
The obvious answer is:
Hey. No, I do not know.
Write correctly and to the point
No need to pour a stream of thoughts on a person. The person you turned to for a solution is busy with his business. Make sure that he quickly understands what your problem is and what you want from it. If you have problems with literacy, use online spelling and punctuation services. You can remove garbage from a message without online services. Do not pour water, do not start from afar. Write briefly, succinctly, and to the point.
Preached like vykhi passed))) I’m trying to shorten the project here but it doesn’t work for me for some reason all tried nothing works, aaaa (
Hi, I’m trying to start a project, but there was a problem. It crashes right after the docker-compose up command, here is the startup log and the error: […] Can you tell me how to solve it?
Ask questions at the address and share the solution
It is not necessary to write the question in a personal message to a specific person, unless you are told that you should ask him. It is better to write to a group of people, because:
- Everyone is busy solving their problems. The chance that someone in the general chat or on the forum can give you time is higher.
- The chance that someone in the general chat knows how to help you is higher.
- You leave it to others to find the same question and answer later.
Take a look at the last item. You have already learned that you should try to solve problems yourself? Already used to search the chat/forum/group, but did not find mention of their problem? Okay, then ask.
On the other hand, do not bother people in vain. If possible, exclude from the mailing list anyone who cannot help you. The more messages a person receives, the less likely he is to read them all. Do not make people in the habit of turning off alerts or simply ignoring messages.
Surely, your experience may be useful to someone else. Save time for yourself and others by posting a response or solution. The next newcomer, if he already knows what we are talking about here, won’t bother anyone at all – he will find your solution by searching. Why am I saying that you can save time yourself? Because you can face this problem in a year, and don’t remember how it was solved. Search will save again.
Respect someone else’s time
Make life as simple as possible for people who ask for help.
Make sure the links you send work. Try to open it in incognito mode. If the link requires authorization, then you will see an access error. For example, if you uploaded the code to a private repository, or sent a link to google disk, to which only you have access, the person will see an error, and he will have to spend time reporting this to you, and then waiting for you to set up access. Make sure that the person sees at once what you are talking about.
- Don’t expect someone to want to remember what you asked two days ago. Send the information again, remind the context. No one wants to look in the correspondence for what you have at hand. If you are too lazy to duplicate information so that people do not spend their time searching, it means that you do not need help.
Do not rip out of context. If you send a log with an error, it is obvious that you need to include not only the error itself, but also the code that caused it, with an example of what it broke down.
If there is an established process to solve your problem, follow it. Do not reinvent the wheel if you already have an article with step by step HowTo.
- You should not seek the answer of one person through different channels (writing in sluggish, Skype, telegrams) at the same time – it will be unpleasant for a person.
No need to write the same message to several people at once, in the hope that at least someone will answer you. All these people can give you an answer (most likely, it will be the same), but they will all be distracted from their affairs for a while. Use group chats.
Watch further ground
Everything we talked about here is applicable outside the IT sphere. Follow these rules in the supermarket, car service, on holiday in another country, when communicating with friends and relatives. Show people that you value their time, and do not want to strain them over nothing. Show that you have spent time and effort to solve the problem yourself, but you did not succeed, and you really need help. In gratitude, people will understand your problems and will help with their solution.