22 min read

[디버깅 전문가를 만나다] 3. 릴레잇 CTO 양웅철님 (2/2)

"git blame이나 커밋 메시지 검색을 잘 하려면, 처음부터 커밋 메시지를 잘 써야 합니다. 나중에 이렇게 검색하면 나올 것 같은데? 싶게 처음부터 쓰는 거죠."
[디버깅 전문가를 만나다] 3. 릴레잇 CTO 양웅철님 (2/2)

'디버깅 전문가를 만나다' 인터뷰 시리즈는...

💡 ‘디버깅 전문가를 만나다’ 인터뷰 시리즈는 CTA(Cognitive Task Analysis, 인지작업 분석) 기법을 이용해 디버깅 전문가들을 인터뷰함으로써 그들의 머릿속에 숨겨진 문제해결 패턴을 추출해내는 프로젝트입니다. 소프트웨어 디버깅을 넘어 삶을 디버깅하는 다양한 문제해결사들의 이야기를 담았습니다.

제 인터뷰는 크게 다음 세 가지 기법을 주로 사용합니다. 참고로 이 인터뷰 기법들은 김창준님의 인터뷰 교육 세션, 그리고 제가 직접 CTA 관련 논문을 읽으면서 익힌 것들입니다.

  1. 작업 지도 그리기(Task Diagram Mapping): 전문가가 디버깅을 하기 위해 주로 하는 행동에 대해 물으며 함께 디버깅의 지도를 그린다. 이 큰 그림에서 무엇이 중요하고 무엇이 덜 중요한지 구분한다.
  2. 결정적 의사결정의 순간 파헤치기(Critical Incident/Decision Method): 전문가가 근래에 디버깅하면서 전문성을 발휘했던 사례의 기억을 떠올리게 한다. 전문가가 거쳐간 첩경에서 어떤 중요한 의사결정을 했는지, 그 때 어떤 신호를 감지했기 때문에 그 의사결정을 할 수 있었는지 등을 파헤친다.
  3. 전문성 탐침 질문을 이용해 보충하기(Knowledge Audit + Collaborative Development of Expertise): 처음에 그렸던 작업 지도와 실제 사례에서의 기억을 비교한다. 처음에는 중요하다고 생각했는데 별로 실천하지 않았던 행동, 처음에는 기억 못했는데 중요하다는 게 밝혀진 행동 등을 확인한다. 제약조건을 바꿔가며 추가적인 기억을 탐색하고, 어떤 단계에서 어떤 도구와 습관을 활용하는지 파악한다.

분야를 막론하고 전문가들은 초능력자처럼 손쉽게 문제를 해결하고는, 본인이 무엇을 보고 무엇을 했는지 인지하지도 못할 때가 많습니다. 이러한 암묵적인 인지 과정을 위와 같은 기법으로 파헤쳐서 교육에 적용하면 그 성과가 엄청나게 향상된다는 사실이 여러 연구를 통해 밝혀졌습니다. 실제로 저도 개발자뿐 아니라 여러 분야의 전문가들을 인터뷰하면서 문제를 발견/진단/해결하는 데 핵심이 되는 지식/기술/태도를 무척 빠르게 습득할 수 있었습니다. 이 글이 여러분의 문제해결 역량 발전에도 큰 도움이 되길 기대합니다.

양웅철님과의 인터뷰 1부에서 이어집니다.

Critical Incident: 양웅철님의 결정적 순간 파헤치기 (계속)

웅철님이 말씀하셨던 디버깅 사례에서 ‘점프’가 있었던 순간들이 어떻게 가능했는지 자세히 탐색했습니다.

Q. 첫번째 구간의 변곡점은 무엇을 했기 때문에 일어났는지 설명해주실 수 있을까요?

웅철: 첫번째는 문제를 가져오셨던 개발자분이, 정확한 재현조건과 문제 상황을 구체적으로, 날카롭게 정의해야겠다고 생각하셨던 게 점프의 계기였던 것 같아요.

휘동: 웅철님이 그렇게 하라고 말씀을 드렸던 건가요?

웅철: 제가 정확히 그렇게 말씀드리진 않았어요. 비슷한 게 있으니 봐보라고만 했었죠. 그랬더니 이분이 알아서 되는 것과 안 되는 것을 비교하면서 이것저것 탐색을 해보신 거였어요.

휘동: 그렇게 문서를 읽어보고 이것저것 탐색을 해보다가, 검색해서 레일즈 깃헙 이슈를 찾은 게 다음 점프였나보죠?

웅철: 맞아요.

Q. 마지막 점프는 어떻게 생겼나요?

웅철: 제가 레일즈 콘솔로 브레이크포인트 찍어서 봤던 거죠.

휘동: 음… 정확히 말하면 그건 이 점프하는 동안에 웅철님이 하신 행동이고요. 그 이전 구간에 뭘 봤거나 뭘 했기 때문에 그게 그 의사결정이 가능했을까요?

This post is for paying subscribers only