Skip to main content

13. 새로운 개발자 팀원의 적응 지원

13.1 적응 지원의 문제#

  • 자신이 쉽다고 배우는 사람에게는 그 과정이 쉽지 않을 수 있습니다.

13.2 전문가와 초보자의 차이#

  • 앞에서 전문가들이 다르게 생각할 수 있는 이유는 다음과 같습니다.
    • 첫째, 전문가의 뇌는 LTM에 관련 기억을 많이 저장하는데 이 저장된 기억을 작업 기억 공간이 필요로 할 때마다 가져옵니다.
    • 둘째, 전문가는 코드 및 코드와 관련 있는 모든 사항, 즉 오류 메시지, 테스트, 문제, 해결책 등을 매우 효과적으로 청킹할 수 있습니다.

13.2.1 초보자의 행동에 대한 심층적 이해#

  • 피아제의 모델을 사용해서, 프로그래밍에 적용할 수도 있습니다.
단계특징프로그래밍 행위
감각운동기아이들은 계획이나 전략이 부족하다. 단순히 물건을 더듬어 잡는다.프로그래머는 프로그램 실행에 대해 일관되지 못하게 이해한다. 프로그램을 정확하게 추적할 수 없습니다.
전조작기아이들은 가설과 계획을 형성하기 시작하지만 이것들을 사고할 때 안정적으로 사용하지 못합니다.프로그래머는 상태표 등을 만들어 여러 줄의 코드 결과를 수동으로 예측할 수 있습니다. 이 단계의 프로그래머는 종종 코드의 일부가 무엇을 하는지 추측합니다.
구체적 조작기아이들은 자신들이 보는 구체적인 것에 대해 추론할 수 있으나 일반적인 결론을 끌어내기는 어렵습니다.프로그래머는 전조작기처럼 귀납적 접근법을 사용하기보다 코드 자체를 읽음으로써 코드에 대해 연역적으로 추론합니다.
형식적 조작기형식적 추론이 가능하다.프로그래머는 논리적으로 일관적이며 체계적으로 추론할 수 있습니다. 여기서의 추론은 자신의 행위를 뒤돌아보는 것을 포함하며, 이것은 디버깅에 필수적입니다.

새로운 정보를 학습하며 일시적으로 다른 것들을 잊어버릴 수 있습니다.#

13.2.2 개념을 구체적으로 보는 것과 추상적으로 보는 것의 차이#

구체적과 추상적


13.3 적응 지원 개선#

13.3.1 작업은 하나의 프로그래밍 활동으로만 제한#

  • 프로그래밍 활동의 개요 및 프로젝트에서 새 팀원을 지원하는 데 사용할 수 있는 방법
활동적응 지원 교육 대상자를 지원하기 위한 예시
탐구코드베이스의 전체적인 이해를 위한 코드 훑어보기
검색특정 인터페이스를 구현한 클래스 찾기
전사구현할 메서드에 대한 명확한 계획을 알려주기
이해코드의 여러 측면에 대해 이해하기, 예를 들면 특정 메서드를 요약하기
증가향후 계획을 포함해서 기존 클래스에 한 가지 기능을 추가하기

13.3.2 새 팀원의 기억 지원#

LTM 지원: 관련 정보 설명#

  • 코드베이스 작업 시 중요한 역할을 하는 관련 정보를 숙지해둠으로써 새로운 사용자를 위한 적응 지원 과정을 준비할 수 있습니다.

코드 탐구를 통한 별도의 도메인 학습

  • 코드와는 별도로 모든 관련 개념을 검토하면 코드에 대해 배우는 것이 더 쉬워집니다.

STM 지원: 규모가 작고 집중할 수 있는 작업의 준비#

  • 적응 지원 과정을 여러 단계로 나누는 것이 좋습니다.

만드는 것보다 이해를 하는 것이 더 환영할 만한 작업

  • 새 팀원이 코드의 특정 부분을 이해하길 원하면 구현 작업 대신, 해당 코드를 이해하도록 요청해야 합니다.

13.3.3 코드 함께 읽기#

  • 자연어 테스트 이해의 7가지 기법이 있습니다.
    • 활성화, 관련된 것들을 적극적으로 생각해서 이미 가지고 있는 지식을 활성화하는 것
    • 모니터링, 텍스트를 읽으면서 자신이 이해한 것을 관찰하고 기록하는 것
    • 중요도 결정, 텍스트에서 어느 부분이 중요한지 결정하는 것
    • 추론, 텍스트에서 명시적으로 주어지지 않은 사실을 유추하는 것
    • 시각화, 깊이 있는 이해를 위해 텍스트에 대한 도표를 만드는 것
    • 질문, 텍스트에 대해 질문하는 것
    • 요약, 텍스트를 짧게 요약하는 것

요약#

  • 전문가들은 초보자들과 다르게 생각하고 행동합니다. 전문가는 코드에 대해 추상적으로 추론할 수 있고 코드 자체를 언급하지 않고도 코드에 대해 생각할 능력을 가지고 있습니다. 초보자는 코드의 세부 사항에 집중하는 경향이 있고 세부 사항에서 벗어나는 데 어려움을 겪습니다.
  • 중급 프로그래머들도 새로운 정보를 배우다 보면 초급 수준의 사고방식으로 떨어질 때도 있습니다.
  • 새로운 개념을 배우는 사람들은 추상적인 용어와 구체적인 예를 모두 배울 필요가 있습니다.
  • 새로운 개념을 배우는 사람들은 또한 새로 배운 개념을 기존 지식과 연결할 시간이 필요합니다.
  • 적응 지원 과정에서 새 팀원이 수행할 프로그래밍 활동은 한 번에 한 개로 제한해야 합니다.
  • 적응 지원 과정에서 새 팀원의 장기, 단기, 작업 기억 공간을 지원하기 위해 관련 정보를 준비해야 합니다.
Last updated on