brunch

You can make anything
by writing

C.S.Lewis

by 공대생의 심야서재 May 26. 2016

개발자가 스트레스를 해소하는 방식

부정적 방어 기제 유형

 아주 오래전 대학교 신입생 시절, 심리학에 특별한 관심이 있었던 나는, 컴퓨터 공학 전공임에도 불구하고 교양 과목으로 심리학을 수강한 적이 있다. 당시 지그문트 프로이트의 이론을 완벽하게 이해할 수는 없어도, 그의 사상에 심취했고 그가 정립한 논리에 따라 내가 처한 현실을 비교, 분석하곤 했다.  


 <방어기제>는 지그문트 프로이트의 딸인 안나 프로이트가 정립한 개인의 자아에 관련된 이론이다. 안나 프로이트에 따르면 개인은 자신이 받은 상처, 스트레스, 고통을 극복하기 위하여 무의식적으로 자아의 평정심을 찾는 과정을 겪는다고 한다. 방어기제는 성격과 유형에 따라서 긍정적인 방어기제가 있고 부정적인 방어기제가 있다. 인터넷 사이트에서 우연히 읽은 '개개인이 스트레스를 해소하는 습관, 방식'이라는 글에 감명을 받았고, 원문의 내용을 개발자 입장에서 패러디해보고 싶었다. 나는 원문에서 받은 영감을 통하여, 개발자는 자신이 받은 스트레스를 해소하기 위한 방법으로, 어떻게 방어기제라는 수단을 활용하는지 파헤쳐 보기로 했다. 나는 심리학의 전문가가 아니기 때문에 분석의 결과는 어설플 수 있다. 그냥 재미로 본문을 읽어줬으면 좋겠다. 원문의 자세한 내용은 아래 사이트를 참조하기 바란다.



방어 기제는 위에서 언급했듯이, 개인이 무의식적으로 스트레스를 해소하는 방법이라고 한다. 방어기제의 첫 번째 유형은 행동화이다. 


1) 행동화(개발자의 행동화 유형) 


스트레스를 받자 즉시 행동으로 옮겨, 외부로 자신의 본능을 표출하는 것으로, 무의식적인 반사적 행동이라고 한다. 개발자 입장(김 부장: 가상인물)에서 흔히 발견할 수 있는 일상을 예로 들어본다. 


예) Github에서 최신 소스코드를 동기화시키고 나서 확인해 보니, 이전에 본인이 작업했던 소스가 누락되어있고 충돌이 다수 발생하였다. 다른 팀원 중, 누군가 소스 관리 시스템에 익숙하지 않은 팀원이 서버로 푸시하는 과정에서 실수를 한 것 같다.

물론 충돌이 일어나기 전 소스는 로컬에 보관되어 있지만, 다시 정리하려니 짜증과 분노가 솟구쳐 오른다. 모든 팀원이 듣는 앞에서 "아 어떤 XX가 이 따위로 푸시를 한 거야!"라고 욕설을 퍼붓는다. 부장이 크게 화난 것 같아서 팀원들은 눈치를 보며 불안해지기 시작한다. 팀원들은 혹시나 자신이 저지른 잘못이 아닌가 싶어서 로그를 몰래 확인한다. 

 


예) 팀원들이 개발한 소스코드를 통합, Merge 하는 과정에서, 알고리즘 전개 능력이 모자란 팀원이 짜 놓은 스파게티(엉망) 소스를 발견한다. "도대체 어떤 인간이 10줄이면 될 소스를 1000줄로 짜 놓은 거야!, 소스코드를 누가 이따위로 코딩했어! 김 차장! 프로젝트 관계자들 모두 소집시켜!"라고 화를 낸다. 팀원들에게 공포 분위기가 조성된다. 


김 부장은 팀원들을 모두 소환시키고, 회의실에는 언어폭력이 난무한다. 원문 링크의 저자에 따르면 행동화라는 방어기제는 유아들이 자신의 불만을 전달하기 위한 효과적인 방법이라고 한다. 욕구가 충족될 때까지 단순히 울기만 하면, 스트레스가 해소되어 스스로 울음을 멈춘다고 한다. 차차 성인으로 성장하면서 스스로의 감정을 억제하고 제어하기 위한 능력이 생기는데, 유아기 때, 이러한 능력을 제대로 배우지 못하거나 내면이 제대로 성장하지 못하게 되면, 성인이 되어서도 감정 조절이 안 되는 방어기제가 행동화 형태로 나타난다.



그것이 바로 위의 "예"에서 나타나는 분노가 짜증으로 표현되는 상황이다. 개발하다 보면, 다른 사람과 협업을 흔히 하게 되는데, 위의 상황처럼 소스코드가 충돌이 나거나, 내가 코딩 한 걸 누가 임의로 수정하여 바꾼 경우, 코딩 표준을 만들었는데 팀원들이 제대로 준수 안 하는 경우, 간단한 로직을 수백 줄, 수천 줄 코드로 무식하게 코딩한 경우 등의 다양한 분노의 상황이 연출이 된다. 이런 분노가 표출되는 상황에, 방어기제를 업그레이드 하지 못한 사람은 유아 때 쓰던 방법을 계속 사용한다. 사소한 문제에도 짜증을 내고, 극단적으로 화를 내고, 잠시 후 아무렇지도 않은 듯, 다시 감정이 차분해진다. 자신의 상사 중, 이런 유형의 사람이 있다면, 유아기 때, 분노의 감정을 제대로 추스를 수 있는 방법 - 말과 생각을 다른 사람에게 구체적으로 표현하는 것, 자신의 불만을 조곤조곤하게 다른 사람에게 전달하는 것, 화를 제어하는 것 - 을 터득하지 못한 어리석은 사람이라고 간주하면 된다.




2) 퇴행(개발자 퇴행 유형) 


퇴행이라는 것은 어린아이로 돌아간다는 것을 의미한다. 개발자에게 이 상황을 적용해보도록 한다. 개발자들은 보통 하루에 평균, 20줄 정도의 코딩을 한다고 전해진다. 어떤 날은 집중도 안되고, 일의 진척도 더디기만 하고, 엄마 보고 싶고, 일도 하기 싫고, 그러다 보면 내가 왜 개발자라는 직업을 택했을까? 개발자라는 직업이 내 적성에 과연 맞는 것일까? 후회도 생기고 자괴감에 빠지는 절망적인 경험들을 한 두 번은 했을 것이다.

 

그런데, 요즘의 개발 환경은 과거보다 훨씬 좋아졌다. 불과 20년 전만 하더라도 기술적으로 도움을 얻거나 힌트를 수 있는 방법은 기술서적, 개발자 커뮤니티(PC 통신), Help정도가 전부였다. 그러나 요즘에는 Google, Stack Overflow, 기술 블로그 등의 인터넷을 기반으로 하는 환경이 개선되었고, 과거처럼 날코딩 능력이 없어도 누구나 전문적인 알고리즘을 흉내내고 구현하기 위한 인프라가 좋아졌다. 개발 툴의 기능도 막강해져서 단순한 텍스트 에디터로 개발하는 원시 시절보다는 훨씬 코딩 시간을 단축시켜준다. 

 

하지만 누구나 슬럼프에 빠진다. 그럴 때면 일도 잘 안 풀리고, 집중도 잘 안된다. 슬럼프에 빠졌을 때는 과거 초보 시절의 순수했었고, 모든 것이 신기했으며, 기술적 깊이가 낮았던 설렘의 감정으로 자신의 처지를 돌아보는 것도 스트레스를 풀 수 있는 좋은 방법일 것 같다. 


예) 상사의 관심을 받기 위해서 일부러 버그를 양산한다. 김 부장이 분명 도움을 줄 것이다. 독립적으로 프로젝트를 혼자 이끄는 것보다는, 유능한 동료 또는 상사에게 기생하는 캥거루 개발자 노릇을 한다.
예) 유능한 개발자가 새로 입사했다. 모든 관심이 그에게 쏠리며 특혜를 혼자 독차지한다. 김 부장에게 관심을 끌기 위하여 초보 개발자처럼, 아무것도 모른다고 하거나, 어제 코딩한 소스도 기억이 안 난다고 발뺌한다. 때로는 일부러 지각을 하여 관심을 끈다.



 
3) 투사(개발자 투사 유형) 


투사는 자신의 잘못을 남의 잘못으로 전가시키는 것이다. 



예) 버그가 발생하면 본능적으로 다른 개발자에게 책임을 전가한다. 저기 순하고 만만한 이대리가 있다. 그에게 모든 책임을 떠넘기자. 출시한 제품에서 심각한 버그가 발생하여 고객사에서 거센 항의가 빗발쳐온다. 문제를 분석하기 전부터 해당 버그는 "이대리 때문일 거야! 어제 이대리가 A모듈을 건드렸었잖아. 이대리 호출해서 빨리 문제 해결하라고 해!"라고 동료 개발자에게 헛소문을 내며, 나의 잘못을 은폐시킨다. 


개발자가 투사하는 심리를 분석해보면, 결국 그 심리는 자신의 열등감, 자존감, 망상 등이 투사되어 나타난다는 것을 알 수 있다. 습관적으로 책임을 회피하고 남의 탓으로 잘못을 미루는 개발자들이 조직마다 반드시 존재한다. 목표가 책임자 색출이라는 것이 아님에도 불구하고 자신의 책임을 무조건 남에게 전가시킨다.  



4) 수동 공격(개발자 수동 공력 유형) 


비협조적이거나 완곡한 형태로 공격을 하는 것이다. 


예) 평소에 비호감이고 싫어하는 상사가 업무지시를 한다. 가뜩이나 혐오하는 사람인데, 업무 지시까지 곤란한 부분을 자신에게 전가시키는 것 같다. 지시한 모듈을 구현하기도 어렵고, 기간도 오래 걸릴 것 같다. 일부러 비협조적으로 행동한다. 예상하는 기간보다 오래 걸릴 것이라는 의견을 전달하고 이리저리 핑계를 대며 차일피일 일정을 늦춘다. 결국 출시 일에 문제가 생기고 동료들과 트러블이 생긴다.

 



예) 사장에게 말대답하지 말라는 얘기를 듣는다. '알겠습니다 앞으로는 입 닥치고 있겠습니다.'라고 반항하며 아무런 발언도 하지 않습니다. 



5) 전치(개발자 전치 유형) 


본인보다 약하다고 생각되는 상대에게 스트레스를 전가하는 것이다. 


예) 출시 일을 지키지 못하여 사장에게 심하게 깨지고 온, 김 부장이 팀원들을 집합시켜, 만만한 이대리에게 너는 일 처리가 항상 형편없고, 엉망이라면서 그동안 쌓였던 온갖 스트레스를 풀어버린다.

 


 
전치가 집단적으로 이루어지면 왕따로 확대되어, 약하다고 생각되는 한 사람을 집중적으로 공격하여 스트레스를 푸는 현상이 일어난다.  참고로 '분노조절장애'는 '행동화'와 '전치' 두 가지 방어기제가 같이 사용되는 것인데, 우스게 소리로 '분노 조절 장애자도 자기보다 센 넘 앞에서는 조절이 잘된다'...라는 말이 있다. 그런데 맞는 말이다. 무의식적으로 강한 상대는 피하고, 만만한, 약한 상대를 스캔해서 화를 내기 때문이다. - 원문 중에서...



6) 환기(개발자 환기 유형) 


고민이나 문제를 말로 털어놓은 것만으로도 스트레스가 풀린다. 여성들이 주로 사용하는 방법이다. 나도 아내에게 스트레스 받은 그날의 사건들을 일일이 설명한다. 대신 아내가 스트레스를 받는다. 아내의 스트레스는 누구에게? 스트레스를 주변 사람들에게 푸는 것만으로도 막혔던 숨통이 뚫린다. 남자 개발자도 나이를 먹게 되면 여성 호르몬이 늘어나는 것 같다. 계속 대화가 하고 싶어진다.


 

예) 평상시 해결되지 않는 난제가 있었는데, 페어 프로그래밍을 하자고 팀원을 꼬셔서 코딩을 같이 하며, 여러 가지 대화를 나눈다. 코딩하다 보면 자연스럽게 이런저런 이야기들을 하게 된다. 평상시 상사에게 받았던 스트레스를 팀원에게 하소연하다 보니 자연스럽게 스트레스가 풀리고, 해결이 어려워 보이던 알고리즘도 아이디어를 나누다 보니 일이 술술 풀린다. 평소 쌓였던 스트레스도 풀리고 분노도 가라앉는다.



7) 합리화(개발자 합리화) 


자기 행동에 그럴듯한 근거, 이유를 만들어내고 핑계를 대는 방법이다. 자기 책임 회피라 할 수 있다. 주로 거짓말을 자주 하는 사람 또는 무책임한 유형의 사람들이 자주 사용한다. 


예) 개발자가 스스로 일정을 지키지 못한 이유에 대해서 합당한 이유나, 회피 방안을 찾아내서 변명만을 만든다. 

예) 동료 개발자에게 도움을 요청했다가 바쁘다는 이유로 거절당했을 때, 싹수없는 놈이라고 자기 자신을 합리화시킨다. 자신의 자존심이 다쳤다고 생각한다.

예) 조직에서 왕따를 시키는 사람에 대하여, 원래 저 사람은 커뮤니케이션이 안 되는 이상한 사람이라고 엉뚱한 이유를 댄다.



8) 부정(개발자 부정) 


예) 회사에서 권고사직할 상황이 발생하였다. 절대 내 실력이 모자라거나 능력이 부족한 것으로 생각하지 않고, 나의 잠재력을 제대로 몰라주는 상사가 원망스럽만 하다. 자신은 절대 회사에서 짤 릴 사람이 아니라고 부정한다. 그런 만행을 저지른 상사나 사장에게 분노가 극대화된다. 어떻게 그 사람들에게 보복할 것인가 궁리한다. 절대 자신의 잘못을 인정하지 않는다. 


예) 프로젝트 마감 일정이 다가오는데 오히려 게임 또는 인터넷 서핑에 빠져 있다. 일도 안되고, 집중도 안된다. 무의식적으로 부담에서 벗어나기 위하여 차라리 시간을 허비한다.


예) 아침에 버그를 발견했다. 발견된 버그를 나중에 수정하자고 생각하고 미뤄둔다. 그리고 수정이 안된 상태로 로컬에 계속 방치한다. (골치 아픈 일이라 무의식적으로 미뤄둔다.)  



결론


일반적인 사람들의 부정적인 방어 기제 유형들을 개발자 입장에서 패러디했다. 이런 글을 쓰는 이유는 팀원으로부터 스트레스를 받은 팀장이 그것에서 벗어나기 위하여 자신의 상태를 지식화(intelluctualization)하는 활동일지도 모른다. 이것은 부정적인 방어 기제 유형을 개발자의 지식과 경험을 통하여 재구성한 것이다. 전적으로 재미를 위하여 패러디한 것이니, 심각하게 생각할 필요는 없다. 중년의 개발자가 느꼈던 방어 기제의 유형들을 나만의 세계에 적용해본 것이다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari