발전하는 주니어 개발자의 질문법
마주한 문제를 구체적으로 정리하는 사고 전처리 과정(?)이 필요하다고 한다.
"실제로 고민한 부분이나 시도한 결과물이 있는가?"
"목적을 위해서 어떤 방법과 노력을 해봤는데 잘 안되요"
ex1)
"이게 안되요" + (정리되지 않은 부연설명) + (부연설명)
ex2)
"디버깅을 해봤는데(결과), 이 부분이 이렇게 나오는 게 이해가 안된다"
"레퍼런스(공식문서, 블로그 등등)를 참고했는데, 이 지점이 이해가 안된다"
"어느 지점의 기능 구현까지는 잘 되는데, 다음으로 넘어가지 않는다"
위 두 예시의 가장 뚜렷한 차이는
시도한 부분, 고민한 문제를 명확하게 설명(표현)할 수 있는지 여부인 것 같다.
스스로 문제를 명확히 정의하지 못했는데 남에게 구체적인 답변을 받을리 없을테니.
당연히 후자의 경우 좋은 답변을 기대할 확률도 높고 서로의 시간도 아낄 수 있다.
주니어의 입장에서는 비슷한 문제 해결 능력을 키워가면서 비슷한 상황을 대처할 수 있고
무엇보다 시니어의 업무를 돕는것에서 나아가 분담할 수 있는 결과를 기대할 수 있겠다.
업무적으로 보았을 때 모든 건 결국 효율, 시간과 귀결된다.
효율적인 질문을 정리하면 다음과 같다.
1. 단계별로 차근 차근
- 문제의 가장 최소 단위부터 정의, 구체화
2. 가능한 소스의 원 출처 (ex: 공식문서)를 참조
- 스스로 해결할 수 있는 내용인지, 비슷한 사례가 있는지 확인
3. 그래도 풀리지 않으면 1,2의 내용을 간결하게 정리해 질문
모호한 질문은 모호한 답변을 유도하듯이 나의 의문을 구체화 했을 때 구체적인 답변을 기대할 수 있다.
그럼에도 "이게 안돼요" 이렇게 말 할 수 있겠지만
본질적으로 고민하고 해결해야 할 사람은 결국 스스로임을 기억하기.