Related to the session conducted at Faculty of Information Technology, University of Moratuwa on 2021/06/24, focusing on raising awareness among undergrads regarding stackoverflow.
99X (Pvt) Ltd.
University of Moratuwa
Faculty of Information Technology
Going beyond basics
Right way to do it
HOW TO ASK
Guidelines on how to ask
HOW TO ANSWER
Guidelines on how to answer
CLICK ON ICONS FOR ADDITIONAL INFORMATION
Founded in 2008, Stack Overflow’s public platform is used
by nearly everyone who codes to learn, share their
knowledge, collaborate, and build their careers.
WHAT IS STACKOVERFLOW?
“Helping developers and
technologists write the script of the
ASKING QUESTIONS !
“At Stack Exchange, we insist that people who ask questions put some effort into their question, and we're
kind of jerks about it. That is, when you set out to ask a question, you should …
o Describe what's happening in sufficient detail that we can follow along. Provide the
necessary background for us to understand what's going on, even if we aren't experts
in your particular area.
o Tell us why you need to know the answer. What led you here? Is it idle curiosity or is
this somehow blocking you on a project? We don't need your whole life story, just give
us some context here.
o Share your research on your problem; what have you found so far? Why didn't it work?
And if you didn't do any research … should you even be asking? If you're inviting us to
spend our valuable time helping you, it's only fair that you put in a reasonable amount
of your valuable time into crafting a decent question. Help us help you!”
Ask a question on Stack Overflow when you have
a problem, not when you need help. "Help"
means that you need someone to guide you
through something, what you might get out of a
book or a well-written tutorial. When you need to
engage in a dialog with someone about the
matter before you can understand it.
Stack Overflow is ultimately for problems, not for
getting "help" in this regard. Ask us a question
when you have an actual problem in your source
code. As a beginner, you're inclined towards
needing help a lot more than problems. Ask when
you have actual code that isn't working, not when
you need to "get started".
LET’S BREAKE IT DOWN
Step 1: If applicable, research any core documentation + tutorials
associated with your problem.
Step 2: Research your question on Stack Overflow (questions, answers, and
comments if you can).
Step 3: If no results return from step 2, do enough extra research to
formulate a specific, well-written, on-topic, and objective question.
Step 4: Ask.
If you have a question about , ask on
ALSO KEEP AN EYE OUT FOR
Don’t ask already answered questions (duplicate questions) - the fundamental goal
of closing duplicate questions is to help people find the right answer by getting all of
those answers in one place.
If your question is not related to computer programming, don’t ask it on stack-
overflow, go to that specific site - each community decides which specific topics
are and are not allowed on their site.
Don’t ask opinion based or broad questions: this question is likely to be answered
with opinions rather than facts and citations. It should be updated so it will lead to
WHAT IF I DON’T FOLLOW THOSE GUIDELINES?
Questions that need additional
work or that are not a good fit
for this site may be closed by
members. Closed questions
cannot be answered, but can
be edited to make them
eligible for reopening. If your
question is closed, you will
receive private feedback on
the reason why it was closed.
SO WHAT IS REPUTATION?
Reputation is a rough measurement of how
much the community trusts you; it is earned
by convincing your peers that you know what
you’re talking about. The more reputation you
earn, the more privileges you gain and the
more tools you'll have access to on the site -
at the highest privilege levels, you'll have
access to many of the same tools available to
the site moderators.
Reputation is entirely optional
The three most important activities on Stack Overflow are Asking, Answering and Editing -
none of which require any reputation at all!
NOTABLE PRIVILEGE MILESTONES
Post more links,
Access first posts
and late answers
Edits to any question
or answer are
answers are useful
Question is voted up
Answer is voted up
Answer is marked “accepted”
(+2 to acceptor)
+2 Suggested edit is accepted
(up to +1000 total per user)
You gain reputation when:
You lose reputation when:
Your question is voted down: −2
Your answer is voted down: −2
You vote down an answer: −1
FROM MY EXPERIENCE
BE AN EARLY ADOPTER
Use/adopt new frameworks/languages/technologies before others
PUT WHAT YOU HAVE TRIED OUT
Clearly explain what you have tried
out/ your research on the
..and what you want as output.
ASK DESCRIPTIVE QUESTIONS
Provide a good description, don’t
just post code samples, provide
background/ steps to reproduce if
• Proper formatting
• Runnable code sample (both
• Use tags properly
DIFFERENT QUESTIONS > ONE ANSWER
Do this when you come across two questions
that looks different but you think the same
answer can solve both issues.
Do this only if the two questions are not
duplicates. [Example duplicate question]
DIFFERENT ANSWERS > ONE QUESTION
Most common case, a single question can have
multiple answers in different environments/
Sometimes there can be different ways to do
the same thing in the same environment as
Sometimes you might have a question which is the opposite of an existing question,
If that is the case you can link the existing question and ask your question.
OLD QUESTIONS > NEW ANSWERS
Due to change of versions/ new updates/ changing
technologies, there could be new answers to old
FEW MORE THINGS..
✓ Use proper formatting (code): clean questions/ answers are always easy to read
✓ Start with your specialty: be an expert in one area, so you have a good
understanding on how to ask/ answer
✓ Watch tags: keep an eye out for tags
✓ Have few example projects ready to go on your PC.
✓ Use JSFiddle/ .NetFiddle/ Google Colab like online compilers/platforms for
✓ Provide links where versions/documentations are important
✓ Give detailed explanations when answering without just posting code
At the end of the day,
your end goal should be to help others and
build a better community,
It could either be one of your batch mates, one of your team member, a
friend or a stranger, help everybody as best as you can, without
expecting anything in return,
not only on StackOverflow, in real life as well,
and you will be rewarded for sure.
Does anyone have any questions?
© 2021 StackOverflow 101 by Nishan Wickramarathna is licensed under CC BY 2.0
“You can't wait
until life isn't
before you decide
to be happy..”
Nightbirde on AGT Stage
Jun 9, 2021