개발자가 질문하는 방법

JJOOEE__·2024년 6월 25일
4

Today I Learned....

목록 보기
13/19
post-thumbnail

🍎 개발자가 질문하는 방법

🍏 질문

  • 생기는 모든 의문을 질문으로 만드는 것은 좋음
    • 예시 ) 다른언어에서는 ~던데, swift에서는 왜 안그런가요?
  • 그 모든 질문을 남에게 하는 것은 고민을 좀 해봐야 함!!
  • 사람마다 질문을 받아들이는 방법이 다름
    • 예시 ) 공격으로 받아들이기도 함, 일을 떠넘긴다고 느끼기도 함
  • 질문은 학습으로 이어짐
    • 질문자체가 없다는 것은 문제가 된다!

질문은 학습으로 이어지고 학습은 성장이 이어지게 함!

🍏 해도 되는 질문 vs 하면 안되는 질문

  • 개발을 처음 공부할 때 해도 되는 질문과 그렇지 않은 질문이 있음

◻️ 하면 안되는 질문

  • 검색하면 나오는 지식 -> 검색을 해보면 알 수 있음 [ ex ) 지피티 ]

◻️ 해도 되는 질문

  • 내가 한 삽질이 이미 있는 질문들 -> 검색해도 안나와요
    • a, b, c 에 대한 검색을 해봤는데, a, b만나오고 c가 안나와요 c에 대해 알려주세요!
  • 상대방이 대답이 가능한 질문

🍏 질문할 때, 준비해야 할 마인드 셋

  • 질문은 부끄러운게 아니다!! [ 질문은 학습으로 이어지고 학습은 성장이 이어지게 함! ]
  • 질문을 받아주는 사람에게 기본적인 예의를 잊지 말자! 상대방도 자신의 소중한 시간을 투자하여 대답해주고 성심성의껏 답변해주는 것임을 절대 잊지 말자!!
  • 질문을 오픈 된 공간에서 했을 때, 지우지 말자. 정말 쉬운 질문이라도 누군가가 언젠가는 반드시 겪을 문제임. 내가 왜 이런질문을 했었지? 싶더라도 지우지말자 초보자에겐 도움이 되는 질문이다!!!!!

🍏 질문 할 때 주의할 점

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

  • 검색 하는 방법은 하단에 추가로 작성해 놓을게요!!
  • 검색으로 해결되면 참 좋겠지만.. 개발의 세계는 ..... 쉽지않다

◻️ 2. 내가 질문하고자 하는 요점이 무엇인지 정리해보자

  • 질문을 받아주는 사람이 아무리 개발을 잘 안다고 할 지라도 내 코드는 내가 제일 잘 안다!!
    어느 부분이 해결이 되지 않는지 정확히 알고 질문하자
  • 두괄식으로 질문을 작성하자.
  • 또한, 자신이 현재 무엇을 하고 있었는지.. 어떤 수준 정도인지도 포함해주면 좋다.

◻️ 3. 내가 시도한 문제해결 방법을 제세하기

  • 자신이 생각하는 발생한 문제의 원인을 적어보자
  • 발생한 문제와 내가 생각한 원인, 그 원인의 해결방법을 생각해보고 결론 내려보기
  • 그 결론을 통해 시도해보고 시도한 결과를 제시하기

◻️ 4. 코드만 던져주고 안돼요, 어려워요 절대 금지!!!!

  • 초보개발자가 가장 많이 하는 실수가 아닐까 싶음
  • 절대 코드만 던져주고 다 한것 같은데 어디가 문제인지 모르겠어요 어려워요 등 두루뭉실한 질문은 하지말자!!
    → 최소한 어떤 에러 코드가 발생했는지, 자신의 코드중 어느 부분에서 어떤 에러가 난건지 정도는 첨부해주자!!
    → 문제가 생겼을거라고 예상되는 부분의 코드라도 정리해서 공유해주면 좋다!
  • 주석까지 달아서 주면 ... 나이스 하지만 그것이 어렵다면 정리라도!!!
    [ 잊지 말자 질문을 받아주는 사람은 나를 위해 자신의 소중한 시간을 써서 알려주고 있다는 것을!! 내가 할 수 있는 최대한의 노력을 다하자!! ]

◻️ 5. 그리고 질문을 마지막으로 보낼 때, 스스로 다시 한 번 질문을 되새겨보자.

  • 위의 사항들을 생각하며 문제를 파악하다보면, 현재 문제에 대해 감이 잡히기도 한다!!
    → 문제사항을 파악하며 스스로 문제를 해결 할 수도 있다!!
  • 질분을 보내기 전 마지막으로 한번더 정리하는 과정을 통해 더 좋은 질문으로, 더 이해하기 쉽도록 정리하며 스스로 해결할 수 있는지 생각해보면 좋다

◻️ 6. 질문을 하고 답변을 받았다면, 피드백을 주는것이 좋다!

  • 질문을 하고 답변을 받았다에서 끝내지 않는것이 좋다!
  • 질문을 하고 답변을 받음으로 서로 건설적 대화가 이루어 질 수 있도 더 좋은 해결 방안을 찾을 수도 있다!!

◻️ 7. 해결한 질문은 정리하고, 공유하는 것이 좋다

  • 질문을 하고 답변을 받으면 싹 지워버리는 경우도 있는데 그렇지 않는게 좋다!!
  • 질문을 통해 얻은 결과를 정리하여 공유한다면, 정리하는 과정을 통해 문제점이 무엇인지 한번더 파악 할 수 있는 계기가 됨
  • 내가 공유한 질문, 내가 받은 답변은 누군가 나중에 검색을 통해 해결 할 수 있는 쉬운 문제로 바뀔수 있음

◻️ 8. 피드백을 얻으면서, 똑같은 질문을 하지 않도록 새기자!

  • 질문 하는 것 나쁘지 않다!!
  • 하지만 똑같은 질문을 반복하는것 나쁘다!!
  • but 다른 사람들이 "쟤는 왜 똑같은거 계속 질문해?"라고 생각할까봐 질문을 안한다? 그건 더더더더더더더 나쁘다!!!
  • 같은 질문을 하지 않을 수 있도록 한번 질문했다면 잊지 않도록 피드백 받은것을 정리하고 새길 수 있도록 하고 정리해두어서 정리해둔것을 보고도 이해할 수 있도록 하는 것이 좋다!

질문 하는 방법 5가지를 바탕으로 좋은 질문의 예제를 보자

🍏 좋은 질문의 예제

  • 자신의 상황을 공유
  • 자신의 환경을 공유
  • 내가 기대하는 상황을 설명
  • 내가 지금 하고있는 것을 공유
  • 내 기대와 다른 현재상태를 설명

5가지를 모두 담아 질문하는 것이 좋음

예시
제가 지금 계산기를 만들고 있는데요. (상황공유)
UIkit으로 Storyboard로 UI를 그리고 데이터 매니저를 따로 만들었어요 (환경공유)
버튼을 눌렀을 때 연산이 되었으면 좋겠는데 (기대하는 상황 설명)
이 함수에서 이 라인을 고치고 있는데요 (지금 하는 것 공유)
숫자가 붙어서 나와요(기대와 다른 현재 상태 설명)

무엇을 찾아보면 좋을까요? 어떤걸 더 공부해보면 좋을까요? 제가 어떤 코드를 잘못 작성한 걸까요?
등등의 질문을 할 수 있게 됨

질문자와 질문을 받는 답변자가 상황을 이해하고 답변하기가 쉬워짐

🍏 검색을 잘하는 방법

◻️ 먼저 나는 검색을 잘 하고 있는지 생각해 보자

  1. 코드를 작성하다가 모르는 것이 생겼을 때, 원하는 답과 유사한 답을 찾을때 까지 몇분내로 찾을 수 있나?

  2. 코딩을 하다가 모르는 것이 생겼을 때, 검색을 하여 정보를 얻는 것이 몸에 베어있는가?

  3. 코딩을 하다가 검색하면서 알게된 정보가 "새로 학습했다"의 느낌보다는 검색덕분에 "힌트를 얻었다" 혹은 "저번에 공부한 것을 다시 떠올렸다"의 느낌인가?

    위 사항에 해당되지 않는다면, 검색을 잘하는 방법에 대해 알아보자!

◻️ 추천하는 검색 사이트

  1. Google
  2. Stack Overflow
  3. Github
  4. Official Docs
  5. 생활코딩

검색을 다 해봤는데 모른다? 안된다? 질문을 해야한다!!
질문 하려는 것에 대해 정말 잘 모르겠거나 초심자라면 1, 2 번까지 해보고 질문하는 것 추천!!

◻️ Google

🌈 Google에서 가장 양질의 결과를 얻기 쉽다

🌈 영문으로 검색하기!!

  • 개발과 관련된 정보는 대부분, 영어로 된 자료들이 질이 높고 양이 앞도적으로 많다!
  • 한국어로 검색하면, 언어의 뉘앙스 혹은 번역된 단어 선택에 따라 확실한 답변을 얻기 어려울 때가 있음
  • 영문으로 검색하더라도 구글의 언어를 한국어로 해놓으면 한국어의 문서가 먼저 나옴. 구글의 언어를 영문으로 설정해 두는 것을 추천함!
  • 검색어에 특수문자가 포함되어 있는 경우 영문으로 전환하여 검색하는 것을 추천한다!
    • ex) ? → question mark, || → or , && → and, & → ampersand, \ → backslash

🌈 Google에서 지원하는 기능을 활용하기

  • 특정 사이트 검색법
    • 검색어 + site:stackoverflow.com
    • 검색어에 해당되는 stackoverflow사이트의 자료들만 보여준다!
  • 특정 키워드 검색법
    • 키워드만 잘 넣어도 대부분 컴색페이지 최상단에 자료가 나옴
    • 검색이 필요한 키워드를 "키워드" 큰따옴표 사이에 넣어서 작성해줄 것!
      • 두가지 이상 키워드 "키워드" or "키워드" / "키워드" + "키워드"
      • 키워드 제외 한 결과 -"키워드"

        예시 원소가 2개 이상 담길 수 있는 집합을 표현하는 자료구조를 표현하는 swift함수를 찾고자 한다면
        "swift" + "multiset" 을 활용해서 찾아보는게 좋다

💡 Tip. 정확한 키워드 알아내는 법 💡
1. 당연하게도 공식문서를 읽으며 정확한 용어를 눈에 익히는 것이 가장 중요함 원서를 많이보는 것을 추천
2. 내가 찾으려는 키워드를 잘 모르겠다면 multiset이라는 용어를 찾기위해
set allowing multiply elements 라고 입력해 볼것!
이 방법도 사용하기 위해선 평소..... 영어공부가 조금은 필요하다!

  • 특정 날짜 검색법
    • 프로그래밍 특성상 언어 및 프레임 워크들이 시시각각 변하기 때문에 문서를 검색했을때 언제 작성된 문서인지 확인하고 참고하는것이 중요하다!
      • 라이브러리, 프레임워크( ~개월)
      • 프로그래밍언어, 운영체제(~개월, ~년)
      • 프로세스, 설계방법론 등 공학관련 주제들 (~년 ~십년)
      • 알고리즘, 자료구조, 언어론, 운영체제론 등 전산학관련 주제들(~십년)

🌈 알게 된 검색결과는 꼭 정리하자!

  • 해결했다고 생각하는 문제들은 보통 한번 더 마주쳤을 때 따로 정리해 두거나 내 것으로 만들어 두지 못하면 또 해결하지 못하게 되기 때문에!!
  • 꼭꼭!!! 몇번을 강조해도 모자람!!
    개인 노트 혹은 블로그 등등 어디에라도 꼭 정리해두자

◻️ Stack Overflow

🌈 구글 검색으로 얻어지는 결과는 Stack Overflow인 경우가 많음

  • 영어를 못한다면 어려운 부분이 많음!
  • 영어를 공부하면 좋지만 어렵다면 번역기를 사용하는것도 추천!!

◻️ 생활코딩

  • 한국의 Stack Overflow와 유사한 역할을 하는 곳이다
  • 그룹 검색 기능을 통해 검색어를 설정해서 검색하면 된다!

💡 Tip. 검색 용이하게 하는 단축키💡

  • Cmd+Tab, Cmd+L (편집기에서 브라우저로 전환하고 주소창으로 포커스 옮기기)
  • 검색어 입력 후 Enter
  • J, K로 내비게이션하다가 적절한 문서가 있으면 Cmd+Enter (새 탭으로 열기)
  • Ctrl+Tab, Shift+Ctrl+Tab 으로 브라우저 탭 전환
  • Space ↓, Shift-Space ↑로 페이징하며 읽기
  • 불필요한 탭은 Cmd+W로 닫기
profile
개발이 어려운 나를 위한... 개발노트

2개의 댓글

comment-user-thumbnail
2024년 7월 9일

우수 TIL 축하드리러 왔습니다~~~ 열심히 잘 하시고 계시네요! 파이팅입니다

1개의 답글