Skip to content

How To Ask Technical Questions

Avatar photo

https://www.linkedin.com/in/gineesh/ https://twitter.com/GiniGangadharan

Skip unnecessary introductions like โ€œHello, how are you?โ€ and get straight to the point by briefly describing your issue and the technology involved.

Have you ever received a one-word message like โ€œHiโ€ in a group chat or forum? You reply, eager to connect, but thenโ€ฆ silence. Frustrating, right?

A Typical Conversation

Someone in the Ansible group: โ€œDoes anyone know about the Ansible Jinja2 template?โ€

(Me to myself: What theโ€ฆ.! The group name is Ansible, what else we are discussing here then?)

Me/other group members: โ€œPlease ask your question ?โ€ (See, still we have patience and we asked nicely)

The same someone: โ€œAnyone can help me on Jinja2 loops?โ€ (Again!!!)

Me/other group members: โ€œPlease post your question here!โ€

Do you think this is effective communication?

Let us try something better

What if the person asks the question as follows?

Hello, my name is John. I am trying to develop a Jinja2 template in which I want to loop multiple dictionary values (as given in the following screenshots). I facing some issues when I use the dictionary values and I am not getting the correct output. Please see the playbook, template and sample variables below. Could anyone assist with this?โ€

Wow! If I read that chat, I will spend 5 minutes reading and understanding the issue and reply to whatever I know!

Everyone saves the time

Asking Technical Questions โ€“ Best Practices

1. Avoid these questions

Instead of openers like โ€œCan anyone help with X?โ€ or โ€œAnyone here with Y experience?โ€, get straight to the point. Briefly describe your issue and the technology involved. Try to avoid the following introductions and questions as those are a waste of time, be straight to the point.

  • โ€œCan anyone help with the ABC issue?โ€
  • โ€œAnyone here with XYZ experience?โ€
  • โ€œAnyone worked on DEF stack?โ€
  • โ€œHello, how are you?โ€
  • โ€œAny Kubernetes experts here?โ€

Example (Good): โ€œHello, Iโ€™m working on an Ansible playbook that uses Jinja2 templates. Iโ€™m facing trouble iterating through dictionary values. Could someone advise on the best approach?โ€

2. Search First, Ask Later

Before posting, utilize search engines like Google to see if your question has already been answered. Learning to find solutions independently is a valuable skill!.

3. Mind Your Language; Use appropriate pronouns

Avoid casual greetings like โ€œBroโ€ or โ€œSisโ€ unless you know the community culture.

4. Use plain English

Use plain English for broad understanding. Local languages are okay if the group caters to a specific region.

5. Descriptive Titles

If possible, add a title to your question that summarizes your problem. This helps others understand your issue and saves everyone time.

Example (Good): โ€œHow to Install Ansible Automation Platform in a Disconnected Environment?โ€

6. Clarity is Key; Phrase your questions clearly

Formulate your question clearly and read it before posting for any inconsistencies. Include essential details about your setup (e.g., operating system, version) before or after the question itself.

Hello, this is Sarah. I have deployed the Kubernetes cluster on my laptop (Fedora 35) using VirtualBox and Vagrant. I can spin up the VMs and clusters but I am not able to connect to the cluster API from my host machine (which is my laptop). I have googled and tried some configurations but nothing helped to solve the issue.

Below is my Vagranfile and the guide/document I followed to deploy the Kubernetes cluster. Also, see the error message (screenshot) shared for reference. Could you please help with this?

For the best result,

  • Avoid too much jargon as the group members may not be aware of such.
  • Read the question carefully before you send it.
  • Make sure the details are included in the question โ€“ before or after the message.

7. Show Your Efforts; Include the Reference Links

If youโ€™ve already tried troubleshooting steps, mention them. This avoids duplicate suggestions and saves everyone time. If you followed a guide or encountered issues at a specific step, mentioning it helps others pinpoint the problem.

8. Code Snippets

  • Code: Include relevant code snippets, playbooks, configurations, or error messages.
  • Formatting: When using messaging platforms like WhatsApp or Telegram, ensure proper formatting for mobile readability.

9. Screenshot or outputs โ€“ Mandatory

Cannot copy-paste the code snippets or error messages? Take a screenshot and post it! DO NOT crop the screenshots so tight as the reading will not be easy on mobile devices. Also, make sure the screenshots are clear enough for the readers to read and understand.

Warning: Remember to mask the text if there is any sensitive information such as IP address, passwords or tokens.

10. Respect the Community and Privacy

When someone helps, continue the conversation publicly so others can benefit. Donโ€™t direct message for help unless explicitly allowed.

11. Finally, Show Appreciation; please respond!

Respond to those who offer clarification or solutions. This lets them know their efforts were valuable.

12. Last but not least; Professional Branding

Use a clear and recognizable username across platforms for easy identification.

Takeaway

Instead of generic greetings, focus on providing clear and detailed information about your technical questions. This fosters a more productive and helpful online community experience for everyone.

Check some of the similar initiatives here.

Disclaimer:

The views expressed and the content shared in all published articles on this website are solely those of the respective authors, and they do not necessarily reflect the views of the author’s employer or the techbeatly platform. We strive to ensure the accuracy and validity of the content published on our website. However, we cannot guarantee the absolute correctness or completeness of the information provided. It is the responsibility of the readers and users of this website to verify the accuracy and appropriateness of any information or opinions expressed within the articles. If you come across any content that you believe to be incorrect or invalid, please contact us immediately so that we can address the issue promptly.

Avatar photo


https://www.linkedin.com/in/gineesh/ https://twitter.com/GiniGangadharan
Gineesh Madapparambath is the founder of techbeatly and he is the co-author of The Kubernetes Bible, Second Edition. and the author of ๐—”๐—ป๐˜€๐—ถ๐—ฏ๐—น๐—ฒ ๐—ณ๐—ผ๐—ฟ ๐—ฅ๐—ฒ๐—ฎ๐—น-๐—Ÿ๐—ถ๐—ณ๐—ฒ ๐—”๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ถ๐—ผ๐—ป. He has worked as a Systems Engineer, Automation Specialist, and content author. His primary focus is on Ansible Automation, Containerisation (OpenShift & Kubernetes), and Infrastructure as Code (Terraform). (aka Gini Gangadharan - iamgini.com)

Comments

2 Responses

  1. Nitin Chandna says:

    I have a situation and need help. There is a project where we need to automate and achieve the following:

    Pull bulk data. Data will be available in ZIP format.
    Extract the data.
    Generate hierarchical path location and push the extracted data

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.