질문 잘하는 법

비얌·2022년 10월 28일
121

개요

우아한테크코스 5기 프리코스 슬랙에서 코치님이 질문 잘하는 법에 대한 글과 유튜브 URL을 올려주셨다.

좋은 개발자의 역량이라고 한다면 코드를 잘 짜는 것? 소프트 스킬? 등만 생각했지 질문을 잘하는 것을 좋은 개발자의 역량이라고 생각해본 적은 없었다.

그래서 과연 코치님이 언급하신 '질문을 잘하는' 법이 어떤 것인지 궁금해지기 시작했고, 첨부된 하나의 영상과 다른 하나의 글을 보고 정리해보기로 했다.


각각의 출처는 아래와 같다.

  1. 내 질문에는 왜 답변에 달리지 않을까? - 개발자가 질문하는 법 (영상)
  2. 질문을 잘하는 개발자 (글)


1. 내 질문에는 왜 답변에 달리지 않을까? - 개발자가 질문하는 법

첫 번째로 본 것은 '내 질문에는 왜 답변에 달리지 않을까? - 개발자가 질문하는 법'이라는 유튜브 영상이었다. 제목만 들어도 흥미로운데, 코드스쿼드의 정호영 님의 발표라고 한다.

이전에 왜 내 질문에는 답변이 달리지 않을까? 하는 의문을 가져본 적이 있어서 더욱 재미있게 들었다.

이 영상에서는 3단계에 나눠서 질문하는 법에 대해 알려주고 있으며, 추가로 답을 얻은 후에 어떻게 해야 하는지도 알려주고 있다.


1) 질문을 하기 전에 해야 할 것들

  • 세 번은 해결하려고 시도해보자.
    • 해결이 될 법한 다른 방법을 세 가지 시도한다.
    • 다음에 시도한 내용을 질문에 포함하면 좋다.

2) 이제 검색해보자

내가 모르는 건 남도 모르고 내가 실수하는 건 남도 한다.

  • Google을 사용하자.
  • Naver도 드물게 도움이 될 때도 있다.
  • 원하는 답이 없다고 여러 페이지를 뒤지지 않는다. 대부분의 답은 사실 스택오버플로우가 잘 알려준다. (스택오버플로우를 더욱 많이 활용해야겠다고 다짐했다. 사실 영어로 된 답변을 읽기 힘들어서 은연중에 피하고 있었던 것 같다🤣)

3) 그래도 해결이 안 되었으면 질문을 하자

  • 제목의 중요성
    • 태깅을 활용하여 제목에 [질문-미해결] 혹은 [질문-해결됨]을 붙여주자.
    • 제목이 잘 떠오르지 않을 때는 본문을 먼저 작성하면 된다.
    • <제목 예시>
      • Bad: 프로그램이 잘 안 돌아가요
        Good: int 나누기 int 결과값이 이상하게 나오는 이유가 뭘까요?
      • Bad: [node]세션 문제 도와주세요
        Good: [node] 페이지 리다이렉트를 해도 세션을 유지하려면?
  • 본문
    • 맞춤법은 정확하게 / 질문은 예의바르게 / 포맷은 깔끔하게!
    • 코드보다 상황 설명을 먼저 하자.
    • 재현 가능하도록 매우 구체적으로 상황을 기술하자.
    • 코드를 스크린샷으로 첨부하지 않는다(복붙 가능하도록)
      • https://gist.github.com 등을 이용한다.
        사실 읽는 입장에서 쉽게 읽을 수 있다고 생각해서 스크린샷으로 질문하곤 했는데, 반성했다.
    • 발생한 에러메시지를 정확하게 첨부한다.
    • 적절한 스크린샷을 첨부한다.

질문에 반드시 포함되어야 하는 내용

  • 언어 버전
  • 플랫폼 환경
  • 운영체제 및 환경
  • 질문과 관련된 소프트웨어 상세 스펙
  • 기타 중요한 제약 조건

좋은 질문을 하면

  • 질문을 작성하는데 매우 긴 시간이 필요하다.
  • 답변자도 질문자를 위해 긴 시간을 사용한다.
  • 질문을 하는 것 자체가 실력향상에 도움을 준다.
  • 질문과 해결된 답변은 언젠가 다른 개발자에게 도움을 준다.


2. 질문을 잘하는 개발자

두 번째는 '질문을 잘하는 개발자'라는 글이었다. 유명하신 Jbee님이 쓰신 글이다! 글을 읽고 간단하게 정리해보았다.


1) 충분한 구글링을 우선 선행하자

충분한 구글링을 선행하여 정말 혼자 힘으로 해결할 수 없는지를 먼저 알아보아야 한다.

웹상에 공유된 해결책으로 문제가 해결되지 않거나 여러 해결책을 기반으로 새로운 해결책을 도출해야 할 경우에만 그것을 진짜로 모른다고 할 수 있다.


2) 동료의 시간을 낭비하지 말자(질문 정리해야 하는 이유)

질문자의 맥락 없이 질문을 하면 동료의 맥락과 질문자의 맥락은 다르기 때문에 문제는 해결되지 않고 동료의 시간을 낭비하게 된다. 따라서 질문은 정리해서 해야 한다.


3) 질문 정리하기

위에서 말한 맥락을 맞추려면 무엇을 해야 할까?

1. 지금 이슈가 된 것이 무엇인가?

  • 정확한 설명을 추가하자
    -지금 개발 중인지, QA 중인지, 배포 후 긴급 대응인지
    -이슈가 발생한 환경은 무엇인지 (OS, 브라우저 등)
    -어떠한 상황에서 이슈가 발생했는지

이러한 부연 설명을 최대한 줄이기 위해서는 최소한 자신이 무슨 프로젝트를 하고 있는지 알고 있는, 또는 자신의 수준을 알고 있는 동료 개발에게 질문을 하는 것이 좋다.

2. 어디까지 해보았나?

  • 발생한 이슈에 대해 어느 정도까지 파악했고 어떤 시도를 했는지 공유하자.
    -발생한 이슈의 원인이 무엇이라고 생각하는가?
    -그 원인을 토대로 내린 결론은 무엇인가?
    -결론대로 시도해보았는가?

👉 이처럼 질문한다면 답변자는 다음과 같이 대응할 수 있다.

  • 이슈의 원인을 다시 짚고 그에 따른 새로운 해결 방안을 제안
  • 파악된 원인을 기반으로 다른 시도를 제안
  • 올바른 방향의 결론이었다면 함께 디버깅을 진행

4) 한 걸음 더 나아가서!

질문에 대한 답을 듣고 문제를 해결했다면 그것을 블로그 등에 공유해보자.



🐹 회고

이번 포스팅에서는 (개발자를 위한) '질문 잘 하는 법'에 대해 알아보았다. 코치님이 슬랙에 올려주지 않으셨으면 해당 주제에 대해 깊이 생각해보지 못했을 것 같다. 덕분에 개발자로서 질문을 잘 하려면 어떻게 해야 하는지 많이 알아갈 수 있었다.

이번에는 비록 다른 분들의 생각을 정리한것 뿐이지만, 나중에 멋진 개발자가 되어 질문을 잘하는 방법에 대해 내 생각을 써보고 싶다😉

profile
🐹강화하고 싶은 기억을 기록하고 공유하자🐹

11개의 댓글

comment-user-thumbnail
2022년 10월 28일

정리 해주셔서 감사합니다😀

1개의 답글
comment-user-thumbnail
2022년 11월 2일

이 내용은 실생활에서도 많이 도움 될 듯 하네요! 감사합니다 🤓

1개의 답글
comment-user-thumbnail
2022년 11월 5일

질문 잘하는 법 메모메모... 일단 혼자 해보는게 가장 중요한 것 같아요

1개의 답글
comment-user-thumbnail
2022년 11월 6일

좋은 글 잘 읽었어요^^
혹시 우측 상단에 개요 띄우는 방법 알 수 있을까요?
오늘부터 벨로그 시작했는데 방법을 모르겠네요ㅠㅠ

2개의 답글
comment-user-thumbnail
2022년 11월 6일

질문 하는 방법에 대해서 잘 배웠습니다. 감사합니다~!

1개의 답글