서론

흔히 프로그래머는 논리적으로 생각하는 능력이 발달하여 종교가 없을 것이라 생각하는 경우가 있다.

본론

프로그래머야말로 가장 종교적인 직업이 아닌가 싶다. 특히 코드를 작성할 때 말이다.

여기서 말하는 종교의 정의

절대적 존재가 있음을 믿는다는 의미로써의 종교라면 프로그래머는 종교적이라고 말할 수 없다. 그러나, 자신이 믿는 것과 배치되는 이야기에 감정적으로 대응한다거나, 자신에게 익숙하고 주변에 많이 보이는 무엇인가를 지배적 종파로 인식한다거나(이 경우 조직을 옮기면 큰 충격을 받음), 새로운 개념을 접했을 때 유용하게 여기기보다는 비판하며 쉽게 받아들이지 못한다거나, 상대방의 고집을 꺾고 자신의 교리로 개종시키려는 점에서는 상당히 닮아있다.

예시

  • 헝가리안 표기법 쓰냐 안 쓰냐

예: https://santacop.tistory.com/m/6

  • 들여쓰기 탭이냐 스페이스냐
  • 문법적으로 뭔가를 강제하는 언어에 대한 저항 (파이썬 입문 시)
  • 클라이언트 프로그래머에게 서버 일을 맡아달라고 했을 때(혹은 그 반대) 상황에서의 심리적 거부감. 프론트엔드-백엔드와의 관계와도 비슷하다.


업무 중 사례

보통 사수 또는 시니어 프로그래머가 들어온지 얼마 안 되는 프로그래머에게 이래라 저래라 하는 것이 대표적인 모습이다. 좋게 이루어진다면 코딩 컨벤션을 알려주고 조직 문화를 동기화한다고 볼 수도 있겠다. 그러나 이것이 과하면 조직의 규율이 아닌 개인의 신념을 주입하게 된다. 본인만의 종교가 발달하지 못한 생 신입(무종교자)에게는 효과가 있을 수 있지만, 이미 경험이 쌓인 사람에게는 종교 전쟁을 거는 행위와도 같다.

결론 - 그래서 어떻게 해야되나?

신입에게는

신입에게는 조직 차원에서 합의되지 않은 의견을 말할 때 반드시 "이건 내 개인적인 생각인데, 반드시 따라야 하는 것은 아니지만 내 경험상 도움이 되었다" 라고 하면서 이야기해주자. 그렇게 하지 않으면 그 신입이 다른 프로그래머가 작성한 코드가 사수가 말한대로 작성되어 있지 않은 경우 혼란을 느끼게 된다.

동료와는

존중하는 자세로 이야기하라. 토론 도중 목소리를 높인다거나 표정 관리를 못 한다면 아예 이야기 자체를 꺼내지 읺는 것이 좋다. 특히나 내가 연차, 직급, 직책이 더 우월한 입장에서 "짬"으로 강요하는 행위는 절대 삼가야한다. 차라리 팀 회의 시간에 팀이 모두 지켜야 할 하나의 코딩 컨벤션(성경)을 만들자. 개인의 신념을 조직으로 이동시키는 것이다. 성경 또한 여러 번 합의를 거쳐 개정시키자. 모든 조직은 처해 있는 상황이 다르므로 다른 성경이 나오게 될 것이다.

마지막으로

본인의 교리가 너무 오랫동안 변하지 않는다면, 어쩌면 발전하고 있지 않은 것일 수 있다. 교리는 경험의 축적이다. 계속 같은 경험만 반복적으로 하고 있지 않은지 돌아보자. 나에겐  새로운 언어를 배워보는 게 가장 효과적이었다.


이런 글을 쓰는 이유는

최근 우리 팀에 상당히 이질적인 교리를 가진 분이 나타났다. 그 분의 코드를 살펴보니 이해하기 어려워 처음엔 불쾌한 느낌이 들었다. 시간이 지나고 보니, 그 코드 또한 문제를 잘 해결하고 있다는 느낌이 들었다. 양쪽의 유전자를 합치면 더 좋은 코드가 나올 것 같은 느낌이 들었다. 그 분에게도 너무 이질적인 코드를 일부러 작성하지는 말아달라고 부탁을 드렸다. 아마 평소 하던대로 했던거겠지만.

반응형

+ Recent posts