개발자는 질문을 어떻게 해야 할까

funfungun·2024년 10월 24일
1
post-thumbnail

생성형 AI 시대가 도래하면서, 질문을 하는 것도 '기술' 로 여겨지는 시대가 됐습니다. 질문과 검색 혹은 프롬프트를 어떻게 작성하느냐에 따라 결과가 다른 것을 여럿 봐왔을 것입니다.

  • 우선 질문을 하기 전에 준비해야 할 마인드셋이 있습니다.
  1. 질문은 부끄러운게 아니다.
  2. 질문을 받는 상대는 자신의 소중한 시간을 써서 대답 해주는 것이다.
  3. 질문을 오픈된 공간에서 하게 된다면 꼭 흔적을 남겨라.

준비가 됐다면 구체적인 질문하는 방법을 단계별로 정리해보았습니다.


1. 먼저 질문을 하기 전에 검색을 하자.

  • 여기서 해결되면 좋습니다.
  • 검색에 대한 방법은 구글링과 관련된 가이드를 읽어보면 좋습니다.

2. 질문의 요점부터 파악하고, 그 부분을 요약해서 질문하자.

  • 본인의 코드는 본인이 그렇게 작성한데에 대한 이유가 있습니다. 본인이 현재 처한 요점이 무엇인지부터 고민합시다.
  • 두괄식으로 질문을 작성합시다.
  • 또한 자신이 현재 무엇을 하고 있었는지, 어느 정도의 수준인지도 포함해주면 좋습니다.

예시 - 좋은 질문 (O)

toFixed() 함수가 소수점 아래를 반올림한다고 들었는데, 아래 코드에서 왜 "1.00"이 나오는지 잘 모르겠습니다.
저는 현재 JavaScript를 독학 중이고, 숫자를 원하는 자리수로 표현하는 작업을 하고 있었습니다.
문자열로 바뀌는 것도 예상 못했는데, 이 함수의 작동 방식이 궁금합니다.
const num = 1;
console.log(num.toFixed(2)); // "1.00"

3. 시도 해보았던 것을 구체적으로 제시하자.

  • 발생한 문제의 원인이 무엇이라고 생각하는지 두루뭉술하더라도 적어줍시다.
  • 그 문제를 해결하기 위해 어떤 시도를 해보았는지 적어줍시다.

예시 - 좋은 질문 (O)

fetch 요청이 실패할 때 try-catch가 작동하지 않아 질문드립니다.
비동기 처리를 이해하려고 노력 중이고, 아래와 같이 시도해봤습니다.
catch가 동작하지 않길래 async가 빠진 건가 싶어서 함수 선언에도 붙여봤지만 여전히 안됩니다.
무엇이 문제일까요?
try {
  const res = fetch("https://invalid.url");
  console.log(await res.json());
} catch (e) {
  console.error("Error caught!", e);
}

4. 코드만 보여주며 안된다고 하는건 좋지 않다.

  • 어떤 부분에서 어떻게 문제가 발생했고, 어떤 에러 메시지가 났는지 알려줍니다.
  • 현재 상태와 원하는 결과의 차이점을 파악해줍시다.
  • 문제가 생겼을거라고 예상 가는 코드의 부분을 먼저 정리하고 공유해줍시다.

예시 - 나쁜 질문 (X)

아래 코드 안 됩니다. 왜 그런가요?
const items = [1, 2, 3];
items.map(async (item) => {
  // 작업
});

예시 - 좋은 질문 (O)

map 안에서 async 함수를 쓰면 비동기 처리된 결과를 기다리지 않는 것 같아 질문드립니다.
아래 코드를 실행하면 console.log보다 return이 먼저 실행됩니다.
순차적으로 처리하려면 어떻게 해야 하나요?
const results = [1, 2, 3].map(async (item) => {
  await new Promise((r) => setTimeout(r, 1000));
  console.log(item);
  return item * 2;
});
console.log(results); // Promise 배열

5. 질문을 보내기 전에 스스로 질문을 되새겨보자.

  • 한 번 정리하는 과정을 통해 더 좋은 질문으로 바꿔줍시다.
  • 스스로 해결 할 수 있는지 다시 한 번 생각해봅시다.

6. 질문을 올리고 답변을 받았으면 꼭 반응하자.

  • 질문에 대한 답변이 왔다고 끝나면 안됩니다.
  • 답변에 대한 피드백을 통해 더 좋은 해결방안을 찾을 수도 있습니다.
  • 소중한 시간을 내어 답변해준 사람에게 감사의 표시를 전해줍시다.

7. 해결한 질문은 스스로 정리하고, 공유하자.

  • 정리하는 과정을 통해 스스로 문제점이 무엇이었는지 한 번 더 파악할 수 있습니다.
  • 내가 공유한 질문과 해답이 누군가에겐 정말 큰 도움이 될 수 있습니다.
  • 누군가에겐 질문한 것의 흔적을 남기는 것은 자신의 치부를 드러내는 것이 아닙니다.

지금까지 개발자가 질문 하는 방법에 대해 자세히 알아보았습니다. 놓치기 쉬운 부분들이지만, 본인이 답변자의 입장이 되어서 생각해보면 크게 어렵지 않게 느낄 수 있는 부분들이라고 생각합니다. 모두 질문을 잘하고 빠르게 성장할 수 있는 계기가 되었으면 하는 마음에서 글을 마칩니다.

profile
Commercial Art

0개의 댓글