가만보면 Q&A 게시판에 올라오는 질문을 형태별로 분류하는게 가능합니다.
제 1 형. 개념이나 원리을 묻는 질문
예를 들면 "동적 메모리 할당이 뭔가요?" 혹은 "시저암호화가 이해가 안되요" 와 같은 질문이죠.
이런 질문에 대한 답변은, [A 는 B 입니다.] 형태이거나, [A 하고 B 하므로 C 입니다.] 형태의 서술형 답변이 됩니다.
혹은 질문에 따라서는 "제가 이해한게 맞나요?" 이런 질문에는 [YES/NO] 형태의 답변이 됩니다만,
개념이나 이론을 묻는다는 점에서 질문의 본질은 같습니다.
이런 형태의 질문은 아주 좋은 질문입니다.
자신이 뭘 모르는지 정확하게 인지하고 있는 상태에서 그걸 알고자 질문하는 것이므로,
질문이 날카롭고 정확합니다.
정확한 질문에는 정확한 답변이 가능하죠.
따라서 대게의 경우 질문자는 정확한 답변을 얻는게 가능합니다.
답변을 다는 입장에서도 이런 질문에 답하는게 좋습니다.
자신이 머리속이 혼자 알고 있는것을 글로 꺼내어 서술함으로써 다시 한번 개념을 상기시키고 각인시키는 효과가 있기 때문입니다.
개인적인 이유이긴 합니다만, 저는 프로그래밍을 가르치는 일을 부업으로 하고 있는데
똑같은 개념을 설명하는데에 이렇게도 설명해보고 저렇게도 비유해보고 하면서 지식을 전달할 더 나은 방법을 찾아가는 훈련이 됩니다.
제 2 형. 문제의 원인을 묻는 질문
예를 들면 "이게 왜 안되나요?" 혹은 "어디가 오류인가요?", "어떻게 해야 제대로 되나요?" 와 같은 질문입니다.
문제가 있는건 기정 사실인 상태에서, 그 문제의 원인을 몰라서 혹은 찾지를 못해서 질문하는 경우입니다.
이런 질문은 코드와 함께 올라옵니다.
이런 형태의 질문은 대게 경험부족에서 비롯합니다.
코드를 많이 써보고 오류를 많이 읽어보고 하다보면, 똑같은 오류가 다음에 또 나고 또 나고 하는걸 알게 됩니다.
그런 경험이 누적되면 굳이 실행시켜보지 않아도 자신의 경험에 기반하여 이 코드는 오류를 유발할 것이라고 즉시 알아챌 수 있게되죠.
따라서 경험이 많이 쌓이면 문제의 원인을 찾는 것은 점점 쉬워집니다.
가장 대표적인 오류라면 역시 메모리 참조 오류일겁니다.
NULL 포인터를 참조한다던지 버퍼 오버플로우가 발생했을 때 어떤 오류가 나오는지를 여러번 겪어보면,
코드에서 그러한 부분이 눈에 들어오거든 자연스럽게 "여기는 이런 오류가 나겠구나" 하고 떠올릴 수 있게 되는것이죠.
질문에서는 문제의 원인을 물었으므로,
이 질문에 올바른 답변은 "왜냐하면 ~~~~ 때문입니다." 가 가장 올바른 포맷이라 할 것입니다.
경험부족은 누구의 탓이 아닙니다. 누구나 경험을 만들어가는 과정과 시간이 있으니까요.
이런 질문에 답변하는 사람은 자신이 먼저 겪어온 경험과 시행착오를 후학에게 전수해주므로 한국의 질 좋은 개발자 양성에 잠재적으로 기여하고 있다고 생각하면 됩니다.
제 3 형. 해달라는 질문
예를 들면, "이 문제좀 풀어주세요", 혹은 "고쳐주세요" 이런 종류의 질문입니다.
이건 지식이나 정보를 묻는게 아닙니다.
질문이라고 볼 수도 없고, 그냥 노동력을 빌려달라는 구걸이죠.
경제관념이 희박한 중학생 정도까지는 이런 질문을 할 수도 있다고 생각됩니다.
그런데 머리 굵은 고등학생 이상, 최소한 대학생 이상이라면, 타인의 노동력을 공짜로 쓸 수 없다는걸 모를리가 없습니다.
이 질문에 답을 할 수 있는 사람은 딱 두 부류입니다.
하나는, 질문자와 친분 혹은 이해관계가 있어서 기꺼이 노동력을 투입할 수 있는 사람들이나
혹은, 이 질문에 답하는 행위가 자신에게도 연습이 되고 훈련이 되는 사람들이죠.
자신의 노동력에 당장의 가치를 부여하기 보단,
연습과 훈련을 통해 얻어지는 잠재적 이득이면 충분히 만족할 만한 사람들은 이 질문에 답을 다는게 가능합니다.
연습과 훈련을 통해 얻어지는 잠재적 이득이면 충분히 만족할 만한 사람들은 이 질문에 답을 다는게 가능합니다.
이미 자신의 지식과 시간과 기술을 이용하여 급여를 받고 있고 수입을 창출하고 있는 현직종사자 입장에서
이런 질문에 답을 할 수 없는게 잘못된건 아니죠.
이런 질문에 답을 할 수 없는게 잘못된건 아니죠.
자신이 왜 남들한테 돈을 받는지를 생각해보면, 이런 질문에 답을 "안해야" 양심이 있는 것 아니겠습니까?
서울에서 부산까지 택시타고 가는데, 나는 15만원 내고 탔는데 옆사람은 택시기사 친구라서 한푼도 안내고 탔다면 기분이 나쁠것이 자명합니다.
같은 회사에서 같은 일을 하는 같은 연차의 같은 실력의 직원인데, 나는 100만원 받고 옆사람은 사장 아들 친구라서 300만원 받으면 기분 더럽죠.
자신에게 페이를 주는 사람들도 마찬가지일겁니다.
나는 여태 저 사람한테 돈 주고 일 시켰는데, 알고보니 이거 해달라고 카페에 글 올리면 공짜로 해주는 사람이었네?
그런 생각이 들테니까요.
제 4 형. 사실관계를 확인하는 질문
예를 들면, "C++ 공부하고 싶은데 어떤 책이 좋나요?" 혹은 "모바일 개발 배우면 이런걸 만들 수 있나요?" 이런 종류의 질문입니다.
자신이 무엇을 모르는지도 모르는 상태에 있는, 아예 입문단계도 진입하지 못한 사람들이 이런 질문을 합니다.
이런 질문이 좋은 질문인지 나쁜 질문인지는, 질문자의 글솜씨에 크게 좌우됩니다.
자신이 뭘 모르는지조차 모르는 단계는 정말 답답하기 그지 없습니다.
뭘 모르는지를 모르니, 뭘 물어봐야될지도 모릅니다.
그러다보니 질문이 모호하고 대중없고 뜬구름 잡는 얘기가 많습니다.
하지만 가급적 정확한 표현으로 최대한 구체적인 질문을 한다면, 이 카페에 대부분의 사람들은 "아, 저 사람이 알고싶은게 이거구나" 하고 감이 옵니다.
왜냐면 저도 다른 분들도 전부 다 그런 시절을 겪었으니까요.
누구나 처음 시작하는 단계가 있으므로 이런 질문은 영원히 사라지지 않을테지만,
질문하는 사람도 답변하는 사람도 서로 답답하지 않으려면 자기가 막연하고
애매모호한 부분이 어느 부분인지 최대한 자세하게 설명하려고 노력하는 의지는 있어야됩니다.
제가 쓴 건 아니고 퍼온 글입니다.
도움이 되시길...
기내요