손익 계산

  • Post author:
  • Post category:
  • Post comments:8 Comments
  • Post last modified:October 19, 2006

뭐하러 같이 해요? 운영체제 프로젝트를 하면서 서너번 같은 이야기를 들었다. 운영체제 프로젝트는 2인 1조로 진행된다. 그런데 나와 같이 프로젝트를 진행하는 후배는 이제 막 데이터 구조를 수강하고 있다. 초보 전산학도인 셈이다. C의 포인터 개념도 모르는 친구이다 보니 (화살표가 뭐예요?라는 질문을 들었다. -_-;; ) 왜 함께 조를 구성했는지 궁금해 하는 사람이 많다. 우리 학교만 그런지 모르겠지만, 이런 경우엔 차라리 혼자 하는 편이 낫다고 생각하는 것이 대세이다. 어차피 도움도 안 되는 사람과 조가 되면 골치 아픈 문제만 많아진다. 게다가 아무 기여도 못한 사람과 학점을 나누기 싫을 법 하다. 그러나 정말 그들의 생각이 옳은 것일까?

우선 한가지만 짚고 넘어가자. 나도 뛰어난 사람과 조를 짜고 싶었다. 그러나 이번 학기에 수강생이 달랑 12명이고, 그나마 친구끼리 미리 조를 구성해놓은 상황이라 선택권이 전무하다시피 한 것도 사실이다. 하지만 나는 홀로 즐겁게 지내는 길을 선택하지는 않았다. 어떤 사람이 걸리적대느냐 아니냐는 순전히 평가자의 관점에 달린 문제라고 본다.

확실히 처음 두 프로젝트의 90%는 나 홀로 처리했다. 한번은 자료 구조 탐색 코드에 대해 테스트 케이스를 만들어보라고 했지만, 역시나 무리였다. 결국 프로그래밍과 테스팅은 온전히 나의 몫이었다. 그렇다면 나의 선택을 어리둥절해 하는 이의 생각이 맞는 것 같다. 하지만 나의 팀원은 결정적일 때 큰 도움이 되어 주었다. 우선 순위 스케줄러의 골격을 작성했다고 믿고 있을 때였다. 막상 테스트를 돌려보니 어이없게도 20% 정도 밖에 통과하지 못했다. 무언가 크게 잘못되었다는 생각이 들었다. 그 당시에는 어떤 특별한 이유 때문에 디버거를 사용할 수 없었다. 그러니 순전히 나의 두뇌만 믿고 문제를 해결해야 할 상황이었다. 프로그래밍을 해 본 사람은 누구나 알겠지만, 이것은 말도 안 되는 짓이다. 왜냐하면 분기점이 서너 개만 되더라도 재수없으면 2의 4승 개라는 엄청난 경우의 수를 고려해야 하기 때문이다.

나 혼자서는 해결의 기미가 보이지 않았다. 결국 이틀 뒤에 팀원과 함께 코드 검토에 들어갔다. 오후 4시부터 저녁 8시까지 둘이 미친 듯이 코드 검토에 매진했는데, 의외로 성과가 컸다. 디버거 없이도 또 다른 20%의 테스트를 통과할 수 있었다. 정말 중요한 성과는 겉으로 드러난 진행률이 아니었다. 나 자신은 우선 순위 스케줄러의 개념을 이해했다고 믿고 있었지만, 팀원과 코드 검토를 하고, 서로 토론하는 과정에서 새로운 사실을 많이 알게 됐다. 내가 생각치 못했던 무엇을 그 친구는 알고 있었다. 때로는 토론 과정에서 둘 다 지나쳤던 사실을 발견하기도 했다. 프로그래밍에서 가장 힘든 것은 키보드를 두드릴 때가 아니다. 오히려 키보드에서 손을 떼고 머리를 싸 매고 있을 때 생산성이 결정된다. 그런 의미에서 팀원과 4시간을 토론하고 났을 때, 이미 프로젝트는 끝난 셈이었다. 남은 것은 머리 속에 내용물을 꺼내서 구현하는 것 뿐.

누가 손해냐? 나와 내 팀원이 프로젝트에 들인 시간을 단순히 비교해 보자면, 아마도 내가 10배 이상 많을 것이다. 노력을 서로 다르게 들였는데 성과는 함께 가져간다. 무엇인가 불편하게 느껴지고, 잘못된 것 같이 느끼는 사람도 있을 것이다. 그러나 정작 내 자신은 아무렇지 않다. 왜냐하면 손익을 곰곰히 따져 보면, 나는 오히려 흑자를 내고 있기 때문이다. 중요한 것은 상대적인 빈부의 격차가 아니다. 그렇게 하지 않았더라면 얻지 못했을 무엇을 손에 넣었다면, 그저 행복해하면 된다. 누군가의 행운을 시기하느라 스트레스 받을 이유가 없다.

Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
택
17 years ago

공감… 다른 사람에게 설명을 하다가 깨닫게되는 경우가 종종있죠.
그리고 같이 하는 사람의 실력보다는 성실성이 더 중요하다고 생각합니다. 실력이 없어도 성실한 사람과 일하는 것은 그다지 힘들지 않은데 실력이 있어도 성실하지 않은 사람과 일하는 것은 일 자체는 힘들지 않을지 몰라도 심적으로 고생을 많이 하게 되더라구요.

nmind
nmind
17 years ago

멋지시네요:-) 조금 더 크게 보면 더 많은 것을 얻을 수 있는 것 같습니다.

daybreaker
17 years ago

실력이 좋아도 의사소통 안 되고 자기 좋아하는 것만 하는 사람이랑 프로젝트하면 피곤해집니다. 정말 말씀하신대로 실력은 좀 안 좋아도 성실한 사람이랑 하는 게 낫죠. 두어 번 당해봐서 절대 공감..ㅠㅠ

최재훈
17 years ago

RE : 그런데 제 팀원이 저보다 이해력이 좋은 것 같습니다. ^^

RE nmind: 멋지다기 보단 이기적이죠. 전 단지 스스로에게 도움이 되는 길을 택했을 뿐입니다. 훗.

RE daybreaker: 4학년 때 세 과목을 친구 두 명과 같이 들었습니다. 그런데 한 친구가 말썽이었죠. 전체의 10% 정도만 할당해주었는데도 배를 째더군요. 이 친구가 원래 이런가 하고 궁금해하고 있었는데, 개인별 과제는 꼬박 제때 제출하는 겁니다. 마지막 프로젝트 때는 회의에 참석만 하랬는데, 여자 친구 만나러 서울 가버리더라구요. 결국 교수님께 말씀 드리고 조에서 빼버렸습니다. 때로는 단호함이 있어야겠죠. 하지만 위험에 대한 두려움 때문에 잠재적인 이익을 놓치는 것도 아깝지 않습니까? ^^

점비
17 years ago

저도 최근까지만 해도 학교 과제 팀 프로젝트의 경우
혼자 하는 경우가 많았습니다.
그런데 정말 여유를 가지고 같이 해보다보니 서로에게 도움이 많이 되는것 같습니다.
Pair 프로그래밍이란 것도 이런것 때문에 하지 않을까 정도로 같이 해보니 도움이 많이 되더군요.. 시간을 정하고 그 시간만 같이 생각하고 한다면 실력 차이는 어느 정도 해소 되는것 같습니다. (그 차이가 확 줄어들진 않지 많요^^;)

하지만 가장 문제는 애초에 할 의사가 없는 팀원이겠지요..

최재훈
17 years ago

동의합니다. 그런데 광운대학교 재학 중이신가봐요? 이번에 운영체제 프로젝트하면서 광운대학교 과목 게시판을 참조했는데, 많은 도움을 받았습니다. 서로 정보를 주고 받거나 토론하는 모습이 부럽더군요.

Donutt
Donutt
11 years ago

잘 읽었습니다.

CHOI, Jaehoon
11 years ago
Reply to  Donutt

고맙습니다. 아, 정말 오래 전 일 같네요.