Upgrade to Pro — share decks privately, control downloads, hide ads and more …

StackOverflow 101

StackOverflow 101

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.

Nishan Chathuranga

June 24, 2021
Tweet

More Decks by Nishan Chathuranga

Other Decks in Programming

Transcript

  1. STACKOVERFLOW
    #101

    View Slide

  2. NISHAN WICKRAMARATHNA
    Software Engineer
    99X (Pvt) Ltd.
    University of Moratuwa
    Faculty of Information Technology
    [email protected]
    @NishanTheDev
    NishanChathuranga

    View Slide

  3. TABLE OF
    CONTENTS
    INTRODUCTION
    The basics
    IN DEPTH
    Going beyond basics
    01
    03
    02
    04
    05
    06
    GOOD PRACTICES
    Right way to do it
    HOW TO ASK
    Guidelines on how to ask
    question
    HOW TO ANSWER
    Guidelines on how to answer
    questions
    Q/A
    Any questions?
    CLICK ON ICONS FOR ADDITIONAL INFORMATION

    View Slide

  4. 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
    future.”

    View Slide

  5. View Slide

  6. 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!”

    View Slide

  7. 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".

    View Slide

  8. 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

    View Slide

  9. ALSO KEEP AN EYE OUT FOR
    FOLLOWING..
    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
    fact-based answers.

    View Slide

  10. 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
    experienced community
    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.

    View Slide

  11. View Slide

  12. 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.

    View Slide

  13. 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!

    View Slide

  14. NOTABLE PRIVILEGE MILESTONES
    10
    Remove new
    user restrictions
    Post more links,
    answer protected
    questions
    15 2,000
    500 20,000
    Access review
    queues
    Access first posts
    and late answers
    review queues
    Trusted user
    Expanded editing,
    deletion and
    undeletion privileges
    Edit questions
    and answers
    Edits to any question
    or answer are
    applied immediately
    Vote up
    Indicate when
    questions and
    answers are useful

    View Slide

  15. +10
    +10
    +15
    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

    View Slide

  16. FROM MY EXPERIENCE

    View Slide

  17. BE AN EARLY ADOPTER
    Use/adopt new frameworks/languages/technologies before others

    View Slide

  18. PUT WHAT YOU HAVE TRIED OUT
    Clearly explain what you have tried
    out/ your research on the
    question…
    ..and what you want as output.

    View Slide

  19. ASK DESCRIPTIVE QUESTIONS
    Provide a good description, don’t
    just post code samples, provide
    background/ steps to reproduce if
    applicable.
    • Tables
    • Proper formatting
    • Runnable code sample (both
    for Q/A)
    • Use tags properly

    View Slide

  20. 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]
    Q
    Q A

    View Slide

  21. DIFFERENT ANSWERS > ONE QUESTION
    Q
    A A
    Most common case, a single question can have
    multiple answers in different environments/
    different contexts..
    Sometimes there can be different ways to do
    the same thing in the same environment as
    well.

    View Slide

  22. OPPOSITE QUESTIONS
    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.

    View Slide

  23. OLD QUESTIONS > NEW ANSWERS
    Due to change of versions/ new updates/ changing
    technologies, there could be new answers to old
    questions.

    View Slide

  24. FEW MORE THINGS..
    ✓ Use proper formatting (code): clean questions/ answers are always easy to read
    and understand.
    ✓ 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
    demos
    ✓ Provide links where versions/documentations are important
    ✓ Give detailed explanations when answering without just posting code

    View Slide

  25. At the end of the day,
    your end goal should be to help others and
    build a better community,
    not reputation.
    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.

    View Slide

  26. Developer Survey

    View Slide

  27. StackOverflow Blogs/Podcasts

    View Slide

  28. Does anyone have any questions?
    nishan.chathura[email protected]
    @NishanTheDev
    linkedin.com/in/nishanchathuranga
    THANK YOU
    © 2021 StackOverflow 101 by Nishan Wickramarathna is licensed under CC BY 2.0

    View Slide

  29. “You can't wait
    until life isn't
    hard anymore,
    before you decide
    to be happy..”
    Nightbirde on AGT Stage
    Jun 9, 2021

    View Slide