아래와 같은 A집단과 B집단이 있다.
A집단 :
- 협업을 위한 코딩 컨벤션 준수
- 테스트 코드를 적극활용한 코드작성
- 주어진 분량의 일을 일정에 맞출 수 있다고 믿고 야근안함
B집단:
- 협업을 위한 코딩 컨벤션을 잘 지키지 않음 (어쨌든 작동될 것 같은 걸 대충 만들고 봄 : 의도한대로 작동되지 않는 경우가 다반사 -_-;)
- 당연히 될꺼라 믿고 테스트 코드를 잘 활용하지 않음 (버그가 나오면 그때 처리하는 식)
- 컨벤션을 잘 지키지 않아 코드가 읽기 혼란스럽고 테스트 되지 않아 코드에 버그가 많기 때문에 실제 코딩분량이 얼마 되지 않음에도 불구하고 버그를 잡기 위해 밥먹듯이 야근을 함 (분명히 더 많은 분량의 일을 하는 것이 아닌데 스스로 훨씬 더 많은 일을 하고 있다는 생각을 항상 가지고 있음)
이상 :
행복한 개발자 / 무리해서 야근하지 않는 즐거운 개발 / 의도대로 잘 동작해서 속썪이지 않는 결과물
현실의 일부 :
일정 지연의 주요 원인은 B집단이나, 야근을 하지 않은 A의 평가는 B보다 나쁘게 나옴. (주로 인간적이고 주관적인 것이 상대적으로 높게 평가됨. 버그로 인한 사고 수습 건수가 많을 수록 더 성과가 많은 것으로 인정?)
현실의 나머지 :
이상과 비슷했으면...
왜 이럴까... A집단의 코드분량은 결코 B보다 적지 않을 뿐더러 버그도 훨씬 적어도 결과적으로 A집단은 알 수 없는 미안함과 죄책감에 시달린다. 더 심각한 상황은 (실제 작성한 코드의 난이도는 A집단의 것이 더 높더라도) 버그가 적으면 더 쉽고 간단한 것이고 버그가 많으면 더 복잡하고 어려운 부분을 하고 있다고 B집단 스스로 생각하고, 설상가상으로 그것을 지켜보는 다른 집단의 팀원이나 상급자도 그렇게 여기더라는 것이다.
결국 억지로라도 함께 야근을 할 수 밖에 없는 분위기가 형성되고, 야근을 하면 뭔가라도 해야겠기에 주어진 업무분량을 훨씬 초과하여 무리하게 된다. 그렇게 하지 않아도 가능한 것들인데도... 그냥 그렇게 된다. 자연스럽게 특정 몇몇 사람은 업무과다로 야근하며 몸은 몸대로 망치고 시간은 시간대로 버리게 되고 만다. (그럴리가 없을 것 같지만, 실제로 코드분량의 상당 부분을 특정 소수의 인원이 하게 되고 나머지는 묻어가는 듯이 보이는 경우가 상당하다.)
혹시 무언가를 함께하지 않으면 무리에 끼워주지 않으려는 이상한 그 무언가가 (혹은 내가 했으니 너도 당연히 해야 한다는 보상심리 같은) 야근을 권하는게 아닐까... 누구의 잘못인지 잘 모르겠다. 함께하지 않은 A가 잘못한 부분도 있는 것 같기도 하고 B가 잘못한 부분도 있는 것 같기도 하고... (아마도 실력보다는 고집/습관/성격 등의 문제가 큰 것 같다.) 대화로 서로 잘 풀어나가면 안되는 일이 어디있겠느냐마는, 결국 자기합리화에 찌들 수 밖에 없으니... 그게 어디 쉬운일이던가... 보통 대화로 잘 풀어나가려던 상황이 결과적으로 엄청난 스트레스와 피곤을 자초하고 마는 경우가 태반이 아니던가? 시간을 들이면 무조건 된다. 하지만, 그러기에 인생은 너무나 짧다.
ps.
어쩌면 다수가 기대하는 대로 행동해야 하는 것이 모두를 위한 것일 수도... 결국 모든 것은 자기 하기나름이라는 것이 결론이려나.. 이상적인 것과 현명한 것은 과연 같은 것인가? |