brunch

숲의 포용력과 다양한 개발자

by 박동기


가을이 왔습니다. 입추가 지나서인지 거짓말처럼 날씨가 선선합니다. 다알리아꽃 농사를 짓던 분이 다알리아꽃이 다 말라서 타 죽어 간다고 했던 것이 일주일 전입니다. 외부 온도는 38도이지만 다알리아꽃이 땅에서 받는 온도는 55도에서 60도까지 되기에 양파 같은 다알리아꽃 뿌리를 까 보면 뜨거운 물이 나옵니다. 기후 재앙이 미치지 않은 곳이 없습니다. 창문을 열고 자면 새벽에는 날씨가 서늘해져 얇은 이불을 덮어야 합니다.

그 뜨거운 여름을 이겨낸 숲으로 산책을 나섭니다. 휴가 마지막 날 이제 일상으로 돌아가기 전날이어서 정상적인 컨디션을 회복해야 합니다. 매일 찾는 숲 산책은 일상을 살기 위한 중요한 루틴 중 하나입니다. 낮이지만 날씨가 선선하니 숲을 거닐어 봅니다.


하루 만에 다시 만나는 숲에서 엽서를 써봅니다. 오늘은 숲과 더 가까이 접촉하기 위해서 양말을 벗고 맨발로 걸으며 감촉을 느껴봅니다. 숲을 맨발로 거닐며 숲의 포용력에 대해 생각해봅니다. 숲은 모든 것 포용하는데 인간을 포용하고 나무를 받아들이고 동물들을 포용합니다. 여름 막바지인지 매미들은 늦여름에 자기 존재감을 드러내기 위해 목청껏 울어댑니다. 며칠 후면 저 소리도 듣지 못하는 가을이 옵니다.

숲에서 살아가는 다양한 유형의 생명이 있듯이 개발자 유형도 다양합니다. 숲은 자신을 해치는 인간을 포용합니다. 성질이 더러운 인간이든지, 품격이 있는 인간이든지, 숲을 개발해서 언제 없앨지도 모르는 인간들까지 모두를 포용합니다. 숲은 어떻게 저런 다양한 인간들을 품으며 스트레스를 받으면서 버틸 수가 있는지 사뭇 대단함이 느껴집니다. 한편으로는 존경스럽기까지 합니다.


숲은 안달복달하는 모기도 포용을 합니다. 안달복달 형은 모기처럼 시도 때도 없이 달려들어 공격해대는 유형입니다. 모기는 사람 발바닥 같은 약점을 파고들어 공격해서 귀찮게 합니다. 모기 같은 인간에게 시달리면 큰 상처는 입지는 받지 않지만, 정신적 스트레스를 많이 받습니다. 개발에는 하나도 도움을 주지 못하면서 개발하고 있는데도 언제 마무리되느냐고 안달복달을 합니다. 푸닥거리하듯 온통 난리를 치고 가는데 막상 개발자는 홀로 남아 모든 것을 감내해나가며 개발하게 됩니다. 모기같이 쏘아대는 안달복달 유형은 개발에 전혀 도움을 주지 않는 유형입니다. 숲은 모기도 품는데 모기 같은 사람은 모든 인간을 품을 수는 없습니다. 이런 인간과는 사회적 거리두기가 필요합니다.


숲속에서 눈을 들어 하늘을 보면 아슬아슬한 경계로 이루어진 나뭇잎 사이로 하늘이 보입니다. 흥미로운 건 숲속의 소나무, 녹나무 같은 나무들이 자라면서 꼭대기 부분이 상대에게 닿지 않는 현상인데 이를 수관 기피라고 합니다. 수령이 비슷한 나무들은 자라날 때 옆 나무의 영역으로 침범하지 않습니다. 이른바 나무들 사이의 사회적 거리 두기인 셈이다. 식물학자들은 수관 기피를 공간이 겹치지 않게 확보해, 뿌리 끝까지 햇빛을 받아 동반 성장하기 위한 식물들의 생존 전략이라고 설명합니다. 동반성장하기 위해서 모기와 같은 안달복달형과는 건강한 틈새가 필요합니다.


숲은 개미 같은 인간도 품습니다. 성실형 개발자 유형은 어떠한 발전도 없어 보이는데 계속 일만 하는 개발자입니다. 목적 없이 일하는 것 같고 크게 열매도 없어 보이는 개미 같은 개발자 유형입니다. 가능하다면 성실형 개발자 보다는 열매가 많이 맺는 사람을 만나 일하고 싶습니다. 열심히 하는 모습도 좋지만 지혜로운 방법을 찾아서 열매를 빨리 맺는 방법을 가진 개발자들과 만나 결과를 빨리 내고 싶습니다. 숲은 개미를 아무 거리낌 없이 포용하지만, 개발자는 어제와 오늘이 다른 성장한 개발자 유형과 같이 일하고 싶어 합니다. 개미개발자유형은 성실한 유형이고 자기가 맡은 프로젝트에 대해서는 성실하게 코딩을 해나가며 안정적인 기반을 마련합니다. 꼼꼼하고 치밀하여 버그가 좀 덜 발생하는 편입니다. 하지만 거기까지이고 성장 없이 같은 일을 반복합니다.


숲은 노루 같은 인간도 품습니다. 숲은 이리저리 뛰어다니는 노루처럼 존재감 없이 살아가는 노루도 포용합니다. 변화무쌍형 개발자 유형입니다. 개발환경은 기본적으로 조용할 때 생산성이 올라가는데 변화무쌍형 개발자는 산만하여 집중하는 것을 방해합니다. 개발 방향을 이미 정했는데 철학 없이 물꼬를 다시 틀어 프로젝트가 좌충우돌합니다. 즉흥적인 결정으로 개발 방향에 대해 혼란을 줄 때도 많습니다. 토의할 때에는 회의실에서 의견 나누고 방향을 정리되었으면 개발하는 업무 공간에서는 조용한 편이 생산성 향상에 효율적입니다. 하루 종일 입으로만 떠든 후에 퇴근 시간이 되면 바로 퇴근하는데 그 사람의 역할이 정확히 무엇인지 의심스럽습니다.


숲은 올빼미형도 품습니다. 올빼미형 개발자는 어차피 야근해야 하니 근무시간에는 느슨하게 일하고 딴 짓을 합니다. 요즘에는 야근이 예전보다 많이 줄어 이런 개발자는 많이 줄었습니다. 저녁밥을 먹은 후부터 일을 본격적으로 하기 시작합니다. 밤늦게까지 일하고 아침에 부랴부랴 일어나서 오전에는 거의 멍한 상태로 일하지 못해 생산성이 떨어지는 형태입니다. 이런 사람은 프로젝트에 도움이 되지 않고 주위 개발자 개인 생활까지 방해합니다. 근무시간에 근무하고 정시에 퇴근하는 습관을 들여야 합니다.


숲은 벌도 품습니다. 숲에 다니면 벌을 보게 된다. 벌 같은 표리부동형 개발자입니다. 잘 대해주다가 뒤에서 뒤통수를 칠지 모르니 항상 긴장해야 합니다. 평상시에는 아무렇지도 않은 것처럼 보이지만, 한번 쏘이면 목숨까지도 위협받는 위험한 유형의 인간입니다. 이런 인간들을 상대할 때는 항상 대비해야 하기에 에너지가 많이 소비됩니다. 벌 같은 인간을 만날 때는 1년 내내 무장해제를 하면 안 되기에 피곤한 인간관계를 맺어야 합니다. 숲은 천성이 모든 것을 포용하는 관대한 마음을 갖고 태어났습니다. 나는 그리 못합니다.

숲은 소나무 같은 나무도 품습니다. 합리적 유형의 개발자입니다. 소나무는 항상 생명력 있고 사람에게 좋은 에너지를 주고 시원한 그늘을 줍니다. 소나무와 같은 개발자는 합리적 인격을 가진 고고한 개발자이며 일이 힘들어도 이런 사람들로 인해 이겨나갈 수 있습니다. 이런 소나무 같은 합리적인 유형 개발자가 많을 때 팀워크가 좋고 생산성이 올라가 개발에 보람을 느껴 살아가는 가치를 더 기쁘게 가질 수 있습니다. 합리적인 개발자 유형이 많을 때 소프트웨어는 단단해진 가운데 창의성을 발휘해 좋은 제품이 탄생을 합니다.


소나무형 개발자는 합리적 유형이면서도 독야청청한 유형입니다. 소나무가 독야청청한 이유는 뿌리와 솔잎에서는 독성 물질인 갈로타닌이 분비되는데, 이 물질은 주위의 다른 나무의 성장을 방해합니다. 거목 밑에 잔솔(애송) 못 자란다’는 말도 이를 뜻합니다. 산림욕을 할 때 듣는 ‘피톤치드’의 어원은 ‘식물’을 뜻하는 ‘phyton’과 ‘죽이다’를 뜻하는 ‘cide’의 합성어입니다. 이것은 나무가 다른 식물과 해충으로부터 자기를 보호하기 위해 내뿜는 일종의 항균 작용으로 소나무가 홀로 고고한 이유도 비슷합니다. 소나무형 개발자는 독야청청 변치 않고 자신의 코딩을 굳건하게 해나갑니다. 하지만 모두가 자신만의 이익을 위하여 달려갈 때는 독야청청할 수 있어야 하고, 다소 프로젝트가 자신의 이익에 반하더라도 공동체에 도움이 될 때는 함께할 수 있어야 합니다.


숲은 참나무도 품습니다. 자기희생형 개발자입니다. 침엽수인 소나무는 홀로 고고하게 아름답지만 활엽수인 참나무 잎은 흩어져 땅의 비옥한 거름이 됩니다. 자기희생형 개발자는 자신의 코드 보다도 남의 코드를 더 봐주고 코칭을 해줍니다. 나침반과 등대와 같이 길잡이가 되어줍니다. 자기 코딩 지식을 공유하고 전파해서 모두에게 비옥한 지식자산을 전파해줍니다. 모든 개발자가 추구해야할 자기희생형 개발자입니다.

숲은 칡넝쿨도 받아들입니다. 칡넝쿨 같은 개발자는 갈등조장형 개발자입니다. 갈등조장형 개발자는 실타래를 갈수록 꼬이게 만드는 유형입니다. 갈등의 어원은 왼쪽으로 꼬아 자라나는 칡과 오른쪽으로 꼬아 자라나는 등나무입니다. 갈등이 꼭 나쁜 것만은 아닙니다. 갈등을 풀기 위한 각고의 노력이 종종 발전의 토대가 되기 때문입니다. 더구나 개발하며 살아가는 데 갈등이 없을 수도 없습니다. 다만 상대를 인정하지 않고 궤멸을 바라는 건 건강한 개발문화가 아닙니다. 과도한 갈등과 증오는 서로의 올가미가 되기 때문에 둘 모두의 성장을 저해합니다. 모든 일을 꼬이게 만드는 형은 잘 풀릴 수 있는 지혜를 찾아야 합니다. 정상적으로 돌아가던 프로그램도 이 개발자가 코드를 추가하면 에러가 발생합니다. 컴파일도 안해보고 Git 에 소스코드를 올려서 남들의 업무까지 방해를 합니다. 성장을 위한 과정이면 어쩔 수 없지만 습관성이 되면 이미지 추락은 불가피합니다. 자기가 만든 코드에 대해서 스스로 자기 검증하는 시간을 많이 가져야할 유형입니다.


숲은 해충도 품습니다. 해충과 같은 유형은 무임승차형 개발자 입니다. 2015년 한동안 소나무를 말려 죽이는 재선충이 전국적으로 확산했습니다. 0.6㎜∼1㎜ 크기의 머리카락 모양인 재선충은 소나무 수분 이동통로를 막아 나무를 고사시킵니다. 재선충은 고사 확률이 높아 소나무 에이즈’라고도 불립니다. 해충과 같은 무임승차형 인간은 ‘개발자 에이즈’입니다. 코드가 한 줄도 들어가지 않고 마치 자기가 모든 일을 한 것처럼 하는 자들입니다. 남이 한 업무성과를 모두 가로채 가져가는 악한 인간이고 지구상에서 사라져야 할 인간이다. 책으로 치면 무단 복제하고 출처를 명시하지 않고 전부 자기가 낸 책이라고 속이는 유형의 인간입니다. 이런 인간을 만나면 스트레스가 혈액과 숨 쉬는 것을 막아 정신이 피폐해져 건강을 잃게 됩니다. 재선충으로 숲이 노랗게 변하듯이 삶 전체가 생명력을 잃어 피폐해집니다. 재선충은 방제를 해서 죽여야 합니다. 무임승차형 개발자는 방제 작업이 필수고 같이 일 못합니다. 이런 인간과는 사이가 아니라 관계의 크레바스를 둬야 합니다. 개발자들은 직장이 아니라 나쁜 상사를 떠납니다. 이런 해충과 같은 무임승차형 개발자가 되어 남에게 피해를 주는 개발자가 되어서는 안 됩니다. 내가 무임승차형은 아닌지 끊임없이 점검해야 합니다.


숲은 모든 형태의 인간들을 포용한다. 하지만 인간 숲에서는 모두를 포용할 수 는 없습니다. 모기와 해충과 같은 인간에게는 같이 맞받아서 쏘아붙여야 하고 그렇지 않은 개발자에게는 관대해야 합니다. 노루같이 의미 없이 사는 인간들과는 인간적인 관계만 맺고 사이를 두고 살아가야 합니다. 벌 같은 인간이 삶을 한순간에 무너뜨리려 할 때는 항상 긴장해야 합니다. 인격적인 모독이나 폄하하는 인간들에 대해서는 바로 들이 받아야 합니다. 숲은 어느 것 하나 치우침 없이‘더불어’살아가지만 개발자 숲은 티격태격하며 살아갑니다.


참나무같은 자기희생형 개발자로 꾸준히 성장하여 개발자 거목이 되는 것이 의미 있는 모습입니다. 살아가면서 바람이 있다면 소나무와 같은 품격 있는 인간들만 만났으면 하는 바람입니다. 내가 온전한 인격과 실력 있는 코딩으로 당당하게 서면 주위 사람들이 소나무와 같이 품격 있는 사람들도 변합니다. 그 후에 참나무같이 다른 사람에게 유용한 지식의 밑거름을 주는 사람이 되어야 합니다. 인간 관계 숲에서 스트레스 받지 않고 살아가는 것이 가장 행복한 삶일 것입니다.


숲을 거닐 때마다 숲 존재에 대해 감사합니다. 숲이 사라지면 수많은 생명체가 집을 잃습니다. 새도 인간도 나무도 벌레도, 동물도 갑자기 거처할 집을 잃어버리게 됩니다. 지금 집값이 올라서 난민이 된 인간 세상보다도 더욱더 많은 생명체들이 집을 잃고 방황하게 됩니다. 숲에서 받는 좋은 에너지를 통해서 건강을 찾는 사람들도 많습니다. 광합성을 하며 이산화탄소를 많이 먹고 산소를 배출해 이산화탄소로 인해서 지구 온난화가 된 지구를 살릴 수 있는 해법도 숲입니다. 숲은 더불어 살며 아름다움을 추구하고 개발자 숲은 티격태격하지만 온전한 프로그램 숲을 만들어 갑니다. 개발자 인간 숲도 서로 좋은 에너지를 주어 성장하는 아름다운 숲이 되길 기대해봅니다.



keyword
작가의 이전글아침가리 계곡 트레킹 다녀와서