Post

(학습방법)질문을 잘하는법 with.개발자

학습하면서, 모르는 게 생기는 건 당연합니다. 모르는 게 생기면 스스로 찾아보기도 하지만 도저히 모르겠다 싶을 땐 주위에 똑똑한 동료분들에게 질문하곤 합니다. 물론 요즘은 GPT 와 같이 괴물 같은 인공지능이 나와 질문이 한결 수월해졌다. 하지만, 그래도 우리 주변에 똑똑한 동료분들과 비교해보면 부족할 때가 많죠.


저도 최근에 온라인으로 스터디와 사이드 프로젝트를 진행하면서 다양한 분들께 다양한 질문을 받고 있는데, 종종 난감할 때가 있습니다. 그럴 때마다 제가 항상 추천해주고 꼭 보라 했던 영상이 있는데 영상만 추천하기보다. 내 생각을 조금 첨가해서 글을 작성하고 공유하면 더 좋겠었어 글을 작성하게 되었습니다.


질문을 하기 전에 최소한 스스로 해봐야 할 것들

  1. 문제 원인 분석을 위해 5Why 원칙을 가지고 생각해보기.(왜? 왜? 왜? 왜? 왜?)
    • 질문을 하기 전 최소한 5번은 자신에게 질문을 던져보자.
  2. 위에서 생각한 내용을 바탕으로 각각 다른 방법으로 3번 이상 문제 해결을 시도해보기.
  3. 만약 해결되었다면, 나는 현재 이런 문제를 겪었고 이렇게 하여 해결을 해봤습니다.(공유하기!)
    • 문제를 해결함에 있어 잘못된 방식으로 문제를 해결했을 수도 있기 때문에 그리고 다른 사람은 나보다 덜 고통받았으면 하는 마음에 공유는 적극적으로 하자

대개 위의 방식으로 문제에 대해 접근한다면, 시작이 반이라고 반 정도는 해결할 수 있다. 하지만 어딜 가나 해결되지 않는 문제는 존재하는 법이니, 해결되지 않았다면 다른 방법을 찾아야 한다.


검색을 해보자

우리는 매우 좋은 환경에서 개발하고 있음을 잊어서는 안 된다.(구글, 스택 오버플로, 인공지능 등등)

  • 우선 Google 에 검색을 해보자. 다른 검색 포털사이트도 있지만, 그냥 Google 을 사용하자.
  • Google 검색 시 여러 페이지를 탐색하지 말고, 먼저 나오는 결과만 탐색하자
  • 우선적으로 나오는 결과로 해결되지 않는다면, 검색 키워드가 잘못되었을 가능성이 매우 높다.
  • 이왕이면 영어로 검색을 하자. 왜 영어로 검색을 해야 하는지는 해보면 바로 알 수 있다.
  • 개인적인 생각이지만, GPT 와 같은 인공지능은 개발을 처음 접했을 때는 될 수 있으면 사용을 지향하는 것이 좋다고 생각한다. 시간을 매우 줄여주긴 하겠지만, 인공지능이 알려주는 답은 최신의 답과 거리가 멀 때가 종종 있다. 특히 모든 코드와 로그를 복붙해서 알려달라고 하는 행동은 절대 금물

검색을 통해서도 해결되지 않았다면, 그렇다. 드디어 이제 우리는 질문을 할 때가 온 것이다.


질문을 해보자.

먼저 안좋은 질문의 예시 부터 보자.

예시

프로그램이 안돌아가요.
이거 왜이럴까요?
이거 알려주세요.

  • 대게 위와 같은 질문은 사진 한장과 함께 올라오는 경우가 매우 많다.
  • 이런 질문은 사실 매우 쉬운 질문임에도 답변이 잘 안될때가 많다.
  • 혹은 매우 쉬운 질문인데 질의가 여러번 오가야하는 경우가 있다.

질문에 포함되면 좋은 내용

  • java 버전, 스프링 버전, OS, Idea 등등 질문에 필요하다 생각되는 개발 환경 정보
  • 내가 생각하고 있는 문제의 원인 그리고 해결하기 위해 시도 했던 방법들
  • 적절한 스크린샷 단, 코드는 스크린샷으로 등록하지 말자.
  • 코드는 gist 또는 코드 블럭으로 작성
    • 요즘은 거의 모든 본문에 코드블럭을 사용할 수 있으니 적극적으로 사용하자.
  • ‼️ 필수: 오류 로그 또는 문제해결에 필요한것 같은 로그.
    • 로그만 잘 읽어도 문제가 해결되는 경우가 매우 많다. 그럼에도 문제가 해결되지 않아 질문을 할때는 꼭 로그를 함께 남기도록 하자.

질문에 포함되면 안되는 내용

  • 내가 작성한 모든 코드와 로그
    • 코드량과 로그가 적다면 질문에 다 작성을 해도 상관없지만, 방대한 양의 코드와 로그를 질문과 함께 남기는 경우가 종종있다.
    • 추려내서 질문을 하도록 하자, 문제 해결에 필요한 내용인데 질문에 없다면 답변을 해주시는 분이 요청을 할 것이다.
  • 모든 코드와 로그를 포함하는 질문은 그냥 난 모르겠으니 알아서 해결해줘 와 같다.
  • 질문자는 답변자가 질문자를 위해 답변자 자신의 시간을 사용하고 있다는 걸 절대 잊어서는 안된다.

개발을 배우고, 코드스쿼드에서 질문하는 법이 중요하다는걸 배웠을 때 저는 개발자는 질문하면 안 되는 건가? 라는 생각을 하기도 했습니다. 하지만 질문을 받아보고 답변을 해주면서 지금은 질문을 잘하는 게 매우 중요하다는 걸 알았습니다. 또 좋은 질문을 생각하다 보면, 그 질문이 해결되는 경우도 매우 많습니다. 개발자로서 질문을 하는 것은 계속 이어지는 것이기 때문에 초기에 좋은 질문을 하는 습관을 들이는 게 좋다고 생각합니다. 좋은 질문을 하는 습관을 들이지 않는다면 현업에서 커뮤니케이션을 할 때 문제가 발생할 여지가 매우 높기 때문입니다.


처음에는 어떤 질문이 좋은 질문인지 저처럼 질문 자체를 하면 안 되는 건가 라고 생각할 수도 있습니다. 하지만 바보 같은 질문은 없다는 말이 있듯이 많이 그리고 좋은 질문을 할 수 있도록 함께 노력했으면 좋겠습니다. 작성되고 해결된 질문은 언젠가 다른 개발자에게 도움이 된다는 걸 그리고 그 행동 자체가 개발 세상에 작은 기여를 하고 있는 것이 아닐까요?


REFERENCE

This post is licensed under CC BY 4.0 by the author.