Asking technical questions (from a non-technical person)
Tags: beginners, webdev, discuss, github
Published: 2022-03-11 19:00:07

I felt like writing. Also im excited to use my Logitech MX Keyboard and type away, exactly what I needed, minimal, low profile keyboard without being a mechanical keyboard, I basically wanted a keyboard that felt just like the Macbook Pro, and I am not a super technical user, if it feels good im all up for it (this often means the cheapest thing)

So the topic of today is: "how to ask technical questions (from a non-technical person)" of course I go online and I literally just copy and paste the actual error message that I get either from the terminal or the browser. Most of the time I do end up in StackOverflow which could lead me to the right answer or the right starting point and ask more questions.

I actually learnt how to ask proper technical questions based on this repo https://github.com/videojs/video.js and this happened to me when I was trying to implement VideoJS into a passion-project I was working on at the time (a bit ugly now, http://thpsvido.com, that Flickity "flickity" needs some tweaking if you know what i mean)

But being the n00b-lord-n0rmi3.jpeg that I am, I, like most people in need, I went into VideoJS repo and started a question, I remember thinking "omg a guide on how to ask wtf"

```
## Description
Briefly describe the issue.
Include a [reduced test case](https://css-tricks.com/reduced-test-cases/), we have a [starter template](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0) on JSBin you can use.

## Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.
1.
2.
3.

## Results
### Expected
Please describe what you expected to see.

### Actual
Please describe what actually happened.

### Error output
If there are any errors at all, please include them here.

## Additional Information
Please include any additional information necessary here. Including the following:
### versions
#### videojs
what version of videojs does this occur with?
#### browsers
what browser are affected?
#### OSes
what platforms (operating systems and devices) are affected?
### plugins
are any videojs plugins being used on the page? If so, please list them below.
```

VideoJS at that time offered me with something I never thought I would be thankful for, because I was able to not only understand what the other person needs but it introduced me to new "asking ways". 

1. They offered me with a "template"
This is very important because unlike many repos out there, yes they might offer you with a few guidelines but I don't think many offer a template, something on CodePen or JSBin. This gives you access to a minimal configuration which can later be used to add your existing code-
I understand this exact plugin is more visual but some frameworks do have "playgrounds" (https://laravelplayground.com/#/) though not as highly mentioned or praised but they do exist, for other things like C++ or C#, things that aren't necessarily the web, I am unsure how that would play out, but them giving me a template helped me a lot.

2. The fact that it literally had this:

1.
2.
3.

in the "Steps to reproduce", it helps to see what format they are expecting to see, for example a list, this makes it more organized and even snippets of code can be pasted here, it lets the other person know what changes you made without copying the entire block of code, but if you must you must I guess. 

3. Probably the most important thing (if not the 2nd) "what happened vs what was the expected outcome", this helps in a lot of different ways, it helps me think about other possible approaches, helps me visualize the end goal, in a way, probably not for other people but it's helpful to let the other person know what you're trying to "see" or the browser to display.

And then of course you need to copy and paste the actual error message but when you get to this part you already know, as an outsider, what is the motive or end goal, the issue your dealing with but not only the message of the error, but why it's become an issue on your project.

In other words you described why you have an issue. 

Sometimes by just utilizing step 1 2 and 3 people are able to understand because you're providing an actual, visual example. As previously mentioned this exact thought process might not work in every single issue on the face of the tech.

I think that's all, cya.