독서/2024

[프로그래머의 뇌] CHAPTER11 코드를 작성하는 행위

_OIL 2023. 5. 16. 21:38
반응형

1. 프로그래밍 중 이루어지는 다양한 활동

  • 인지적 차원 표기법(CDN): 프로그래밍 언어 또는 코드베이스의 인지적 영향을 평가하고 검색, 이해, 전사, 증가, 탐구라는 다섯 가지 활동을 기술한다.
  • 검색
    • 검색은 코드베이스를 살펴보고 특정 정보를 검색하는 작업이다.
    • 주로 STM에 무리를 가한다
    • 부하를 줄이기 위해 종이나 별도의 문서에 노트를 작성하면 도움이 된다.
  • 이해
    • 이해는 활동을 수행할 때는 코드를 읽고 실행해 봄으로써 그 기능을 이해하게 된다.
  • 전사(transcription)
    • 전사는 단순히 코딩하는 활동이다
  • 증가
    • 증가는 검색, 이해, 전사가 합쳐진 활동이다
    • STM, 작업 기억 공간, LTM 모두 부하를 일으킨다.
  • 탐구
    • CDN의 마직막 활동
    • STM, 작업 기억 공간, LTM 모두 부하를 일으킨다.

2. 프로그래머의 업무 중단

오늘날의 업무 중단은 일반적인 현상이다. 피닌의 연구의 따르면 개발자는 2시간 동안 중단되지 않고 업무에 집중할 수 있는 시간이 하루에 평균 한 번 정도에 불과하다.

  • 프로그래밍 작업 시 워밍업 필요
    • 나카가와의 실험을 통해 개발 시 워밍업 및 냉각 단계가 있으며 그 중간에 가장 힘든 작업이 수행된다는 것을 시사했다. 따라서 프로그래밍 작업 시 워밍업이 필요하다.
  • 중단 후에는 어떻게 되는가?
    • 업무가 중단된 후 코드 작성 작업을 다시 시작하는데 약 25분이 소요 됐다.
    • 메서드를 작성하다가 중단되면, 프로그래머가 1분 이내에 작업을 재개할 수 있는 경우는 10%에 불과하다.
    • 중단에 잘 대비하는 방법
      1. 정신 모델 저장
      2. 미래 기억 향상: TODO 주석문을 남기는 것처럼 미래 기억은 미래에 무언가를 할 것에 대한 기억이다
      3. 하위 목표 라벨 붙이기

  • 프로그래머를 방해할 때
    • 당연한 결과지만 업무 효율이 떨어진다
    • 플로라이트 조명을 사용해 외부 사람들에게 작업에 깊게 관여하고 있다는 것을 알릴 수 있다.
  • 멀티태스킹에 대한 고찰
    • 매사추세츠 종합병원 보건직업연구소의 교수인 애니 베스 폭스의 실험은 멀티태스킹이 효율적이지 못하다는 것을 시사한다.

발제문

  1. 1년전 CTO님이 넷플릭스 백엔드 개발 팀장을 초대해 세미나를 열었었는데 넷플릭스 개발자 1명당 슬랙의 채널 수는 평균 300개라는 이야기를 들었습니다.

    할당된 채널들이 업무의 효율에 도움이 되나요 아니면 방해가 되나요?
    업무 중단 후 회복을 하기 위한 자신만의 루틴이 있나요?
    여러분이 포함되어 있는 슬랙 혹은 회사 메신저의 채널은 총 몇 개인가요?
반응형