프로그래밍 오리엔테이션

학습자의 고충

새로운 버전 관리 도구를 조직에 도입하는 것은 쉽지 않은 일인 것 같습니다.여러가지 저항을 경험하게 되는데요. 학습자들은 어떤 어려움을 겪고있는지를 생각해 봤습니다.

포크레인과 삽이 있을 때 포크레인이 강력한 것은 누구나 알 수 있습니다. 하지만 정보도구는 그 편리함이 눈에 보이는 것이 아니기 때문에 편리함을 직접 경험해보기 전까지는 그것의 필요성에 대해서 공감하기 어려운 것 같습니다. 지금까지 편리함의 경험이 학습의 동기라고 생각했습니다. 그런데 다시 생각해보니까 편리함은 그 도구를 충분히 익숙하게 사용할 수 있게 되었을 때 얻을 수 있는 어떤 감수성이라는 생각을 하게 되었습니다. 즉 편리한 느낌은 학습의 원인이 아니라 학습의 결과라는 것이죠. 결국 도구를 배워야 한다는 동기가 없이 학습을 해야하는 고충이 있는 것 같습니다.

오늘 놀러온 친구들에게 git을 권유하면서 이런 생각도 들었습니다. 제가 친구에게 강조한 것은 브랜치가 쉬워지기 때문에 여러 작업을 번갈아가면서 진행하는 것이 가능하다는 것이었습니다. 그런데 (극단적으로) 생각해보면 이러한 작업 패턴은 git 이전에 이미 하고 있었던 것을 git이 도운 것이 아니라 git을 사용한 이후부터 가능해진 것이라는 생각이 들더군요. 즉 도구가 작업의 방법에 미치는 영향이 생각보다 클지도 모른다는 생각을 하게 되었습니다. 만약 이런 가정이 어느정도 성립한다면 버전관리와 같은 개발도구를 권하는 것은 더욱 어려운 일이 됩니다. 왜냐하면 학습자도 이미 익숙한 작업의 방식을 개선할 수 있다는 것은 설명하기가 오히려 쉽습니다. 하지만 학습자가 경험해본적이 없는 작업방식을 더욱 효율적으로 해준다는 설명은 왠지 피부로 와 닿지 않으니까요.

버전관리시스템은 꽤 오랜시간에 걸쳐서 차츰 발전하면서 지금의 체계를 갖추게 되었다고 생각하는데요. 도구가 발전한 원인은 분명 기존에 한계가 있었고 그 한계 때문에 꽤 많은 사람들이 신음하고 있었기 때문이라고 생각합니다. 한계 때문에 충분히 좌절한 사람에게 한계를 넘어설수 있게 하는 도구의 등장이 주는 기쁨은 크죠. 심지어 학습이 많이 필요하지도 않습니다. 하지만 버전 관리를 처음 배워야 하는 학습자는 이미 거대하고 복잡한 도구를 배워야 합니다. 심지어 그 도구를 배우는 것이 앞서가기 위한 것이 아니라 뒤따라가기 위한 것이라고 한다면 이것 참 기운 빠지는 일인 것 같아요.

그래서 저는 유사 버전관리 시스템이라고 할 수 있는 구글 드라이브나 드랍박스라도 사용할 것을 권합니다. 처음부터 어렵고 복잡한 git을 사용해보고 버전관리를 포기하는 것 보다는 이미 사용하고 있는 도구를 버전관리처럼 이용하는 것이 좋다고 생각하거든요. 동시에 장기적으로는 본격적인 버전관리시스템인 svn이나 git으로 전환할 것을 권하고 있습니다. (사실 git을 권합니다.)

버전관리시스템이 왜 좋은지를 설명하는 것 만큼이나, 왜 초심자가 접근하기 어려운지를 파악해보는 것도 괜찮은 시작점이 될 것 같습니다. 

댓글

댓글 본문
작성자
비밀번호
  1. 히스토
    github 를 단순한 구글드라이브 형태인 줄 알고 했다가 바로 접었네요. 나중에 어느정도 프로젝트들을 만들면 git 강의를 들어야겠습니다 ^^
  2. JustStudy
    고맙습니다
  3. Metanoia
    Thank you!!!
  4. 오빠는다르다
    감사합니다!!!
  5. Kwang-young Paik
    '미디어는 메세지이다.' - 마셜 맥루한 ('미디어의 이해', 1964)
    이 사이트에 접속하시는 많은 분들이 컴퓨터라는 도구가 삶에 미치는 영향이 막대하다는 것을 느끼기 때문이 아닐까 싶습니다. (따라서 컴퓨터라는 미디어는 그 자체가 메시지입니다.) 양질의 컨텐츠를 공급해 주셔서 감사드리며 저 역시 일정 수준 이상이 되면 egoing님의 취지에 맞게 제 지식을 공유하겠습니다.
  6. 검사무운
    잘 봤습니다.
    이건 내용이 좀 어렵네요. 모르는 내용이라서...
  7. Frank
    전 구글닥스로 버전 관리 비슷하게 하고 있습니다.
    git 도 배울 생각입니다.
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기