나쁜 프로그래머 이야기를 시작하며

이슬람교에서 이블리스는 기독교의 사탄과 비슷한 류의 악마계통 캐릭터다. 전승에 의하면 그들은 추악하게 생겼고, 공포스러우며 쳐다만봐도 눈이 썩는느낌이 나고, 악취가 코를 찌르며 듣기 싫은 괴성을 내며 사람들을 꼬신다고 한다. (못생기고 냄새나고 목소리도 별로인데, 사람 꼬시는걸 보면 말빨이 얼마나 대단한거야?)

하지만 실제로 만난 사람들은 그들이 알려진 것과 달리 젠틀하고 멋지며 기품이 느껴지는 목소리를 가졌다고 말한다. 그래서 그를 만난 사람들을 되묻곤 한다.

“글로 읽은 것과 다르게 멋진 모습이네요.”

그러자 그들이 말한다.

“당연하죠! 펜은 당신들이 쥐고 있으니까요.”

프로그래머들은 본인의 일에만 보통 신경을 쓰기 때문에 다 른사람이야 뭐라든 내 앞에 주어진 이 문제점들을 해결하는데 관심을 두고, 나머지는 신경을 꺼버리는 경우가 많다. 온라인 상에서 그러한 개발자들에게 토로하는 불만이나, 그들의 문제점을 지적하는 것들은 대부분 프로그래머가 아닌 사람들이 쓴 글 들이다.

의사를 비판하는 글은 의사가 제대로 문제점을 지적할수 있고, CEO를 비판하는 글은 CEO을 경험한 사람들이 원인부터 짚어 줄 수 있고, 개발자를 비판하는 글은 개발자들이 제대로 비판할 수 있다고 본다. 물론 동업자 정신으로 리그안에서 지켜야할 도덕적인 부분도 있는 점은 인정한다.

앞으로 쓰게 될 글들은 내가 겪었던 매우 나쁜수준의 개발자들에 대해서 기분이 나쁠랑, 말랑 아슬아슬한 줄타기를 하면서 유쾌하게 써보려 한다.

투덜이 스머프 이야기

어릴적 ‘스머프’라는 난쟁이들이 가가멜과 그의 애완묘인 아즈라엘의 사냥과 음모에 대적해 하루하루 겨우 살아가는 내용의 애니메이션을 매우 좋아했다.

인간들처럼 스머프들도 여러 다양한 캐릭터를 가진 무리들이라, 그 내부에서 갈등도 있고 음모와 배신, 우정과 사랑 등이 얽히고 설켜있었고, 꼬꼬마일적 나에게는 매우 재미있게 다가왔다.

그 중 ‘투덜이’라는 이름을 가진 스머프가 있었는데, 매번 투덜투덜 거리고 불평불만이 가득하기만 한 녀석이었다. 어쩔수 없이 ‘그 녀석도 원래는 좋은 녀석이었어’이라는 어린이 애니메이션의 특성상 결과는 해피엔딩으로 마무리 되기는 하지만, 많은 에피소드에서 스머프 마을내부의 분쟁에는 꼭 이녀석이 끼어있다.

분쟁의 핵심이 되는 경우도 있고, 분쟁을 거드는 역할 혹은 불난데 석유를 뿌리는 캐릭터 등 분위기를 흐리는 기믹으로 이야기가 시작되곤 한다. 가장먼저 ‘나쁜 프로그래머’라고 꼽고 싶은게 바로 이런 유형의 프로그래머 들이다.

이들의 특징이라면 한 회사에 오래 근무하지 못한다.

이미지: shutterstock
이미지: shutterstock

당연히 일반 기업보다 더 끈끈한 팀웍과 커뮤니케이션 능력이 필요한 스타트업에서는 거의 볼수 없고, 일반 기업에 취업에 성공한다 해도 분위기를 흐리는데 일조하게 된다. (단 하나의 흠이 있어도 그것에 대한 불만을 노골적으로 뒤에서 툴툴대는 식이다.)

기본적으로 이런 친구들은 자기애가 겉으로 보이는 것 보다 매우 강하다. (겉으로야 자학하는 것처럼 보일때도 있지만, 실상은 관심을 필요로 하는 행동들이 많다.)

자신이 너무 소중하기 때문에 그 소중한 자신을 괴롭히는 (사소한 일이든, 큰 일이든 ) 요소를 극복하려거나, 회피하지 않고 그대로 멈춰서 불만을 토로하는데만 집중한다.

극복하려 시도하는데, 다칠 내가 너무 소중해서 시도하지 못하고 회피하자니 소중한 자신이 비겁하다 욕먹는 것도 참지 못한다.

예를 들면 이런식이다.

투덜이 : “이 회사는 월급은 따박따박 잘나오고 일도 크게 없지만, 배울게 하나 없다. 퇴사하고 나가면 기술력이 딸려서 어디 명함도 못내미는 상황을 만드는 회사다. ”

팀원 : “야근 빡세게 하는 회사도 아니니까 퇴근 후에 공부하거나 하면 안될까? 자기 기술은 자기가 스스로 늘리는거지.”

투덜이 : “공부할라고 준비하면 하필 그때 일이 꼭 생기더라 그러고 나면 공부할 맛이 딱 떨어진다. 뜬금없이 일을 주는 상사가 너무 싫다.

팀원 : (그럼 그 일끝나고 하면 되는거 아닌가?) “급여를 받으면서 일하는데, 다 그런 돌발상황에 대한 것도 다 포함되어 있는건데, 매번 그런 것도 아니고 가끔 있는일에 핑계대는것은 좀 아닌것 같다.”

투덜이 : “그런걸 아무리 문제제기 해봐야 들어주는 사람도 없고…

팀원 : ” 모두가 다 들어주고 있다. 지금 내가 들어주고 있지 않나. 문제를 제기한다고 한번에 해결책이 나오진 않는다. 일이라는게 다 시간이 필요한게 아닌가. ”

투덜이 : “그런건 모르겠고, 난 지금 힘들어 하는데 왜 자꾸 회사쪽 얘기만 하느냐. 불쾌하다.”

팀원 : “회사 쪽 얘기가 아니라 서로 생각하고 있는 것을 확인하고 그 균열을 메꿔 보자는 것이다.”

투덜이 : “차라리 야근을 하면 야근 수당을 줬으면 좋겠다.

팀원 : (뭐지…갑자기 왜 야근 수당얘기야.) ” ….. ”

보통 이런식으로 대화가 흐른다. (짧은 대화에 문제제기를 5개나 한다!!!) 줄여 말해 상대방의 말을 이해하려 하지 않는다. 이해한다 해도 강한 자기애에 의해서 대화를 회피하거나 그냥 손을 놓아 버린다. 결국 이런 부분에 있어서 대화도 더이상 진행이 되지 않는다.

그러면서 본인은 스스로 회사의 시스템에 대한 불만을 강하지도 않고 약하지도 않게 논점이 없는 얄딱꾸리한 논조로 제기한다. 그런 것이 인간으로서 잘못된 것인가라고 묻는 다면 나는 그렇지 않다고 말하겠다. (뭐 그럴 수도 있지.)

하지만 그런 것이 ‘개발팀의 팀웍에 있어서는 잘못된 것이다’라고 말하겠다.

어느 회사든 모두가 다 불만없이 다니는 회사는 없다. 누구나 다 크던 작던 불만 한두가지 혹은 그 이상을 가지고 근무를 한다. 가마니라서 가만히 있는 것이 아니다.

이런 불만스런 생각과 아우라가 팀웍 혹은 조직에 있어 안좋은 영향을 미쳐, 그 영향이 나한테까지 돌아오는 것을 원치 않기 때문이다. 물론, 때때로 그러한 불만을 제기 해야할 때가 있다. 나뿐 아니라 다른 모두가 가진 불만이거나, 혼자만의 불만이지만 상식적 혹은 정당한 불만요소들은 얼마든지 불만제기를 할 수 있다. 같은 생각을 하는 팀원들과 뒷골목에서 대화중에 나올 수도 있다. (사실 이런게 꼭 당장 바뀌어야해! 하는 것들은 몇몇 안되잖아?)

하지만 그것도 한두번이지, 매번 입에서 나오는 말이 투덜거림 뿐이라면 본인의 신뢰도 자체에 문제가 생긴다. 하나부터 열까지 불만이 아닌게 없고, 그 투덜거림을 옆에서 받아줘야 하는 팀원도 곤욕이다.

사람이 그런 말도 못하냐. 민주주의 국가에서 그 정도 자유도 없냐라고 할 수 있겠다. 입 밖에 말을 꺼내지 않으면 그 말에 대한 책임은 없다. 하지만 입 밖으로 꺼내면 무게 차이가 있겠지만, 책임이 같이 따라오게 되어있다.

입으로 향기를 말하든 똥을 뱉든 자유지만, 그 행동에 대해 욕을 받아들일 준비도 되어있어야 한다는 것을 이들은 인정하지 않는다. 본인이 뱉은 말에 의해서 조직에 좋지 않은 영향을 줄수도 있다는 점에서도 스스로 책임을 느껴야 한다는 것이다. 하지만, 그들에게 비판은 ‘그냥 내편이 아니다’라고 단정짓고 그것으로 끝이다.

이러한 비판에 대해 스스로 조정할 의지나 생각이 있다면, 해초에 이런상황까지 오지 않았을 것이다.

팀웍 뿐만이 아니다. 업무를 진행하는데 있어서 이런 친구들은 미래지향적이지 못하다. 지금 현재 하고 있는 이 일에 문제가 예상된다면, 그것에 대해 토론하고 협상해야 한다. (발생하기 전에 미리 논의를 해야 한다는 점이 회사에서는 매우 중요하다.)

어떻게 운이 좋아서 투덜거림을 캐치한 팀원 혹은 팀장이 토론을 제기해 해결방안을 모색하자는 상황에서도 아래와 같이 생각하는 경우가 있다.

‘난 모르겠고 어떻게 해야하는지 빨리 정해달라. 대안은 당신들이 줘라.’ 혹은 ‘애초에 하면 안되는 일이었다. 근데 지금까지 해온게 있는데 허송세월 보낸 내 시간도 아깝다. 다 나에게 이 일을 준 시스템이 문제다’

그나마 캐치된 상황에서나 이렇고, 누가 옆에서 발견하지 않으면 끝끝내 일이 터질때까지 이 투덜이 스머프 들은 계속 그 벽앞에서 서성이고만 있다.

그럼 이런 유형의 프로그래머들과 일을 하기 위해서는 어떤방식으로 진입해야 하는가. (기본적으로 내글에서는 문제가 되는 대상들은 스스로 변하지 못한다고 전제하고 대안을 제시한다.)

가장 본질적인 이슈인 본인을 너무 소중하게 생각하는 자기애가 강력하다는 점과 그로 인해 벽을 만났을 때 돌아가거나 정면으로 넘지 않고 그대로 멈춰있기만 하는 점 이 두가지를 파고 들어야 한다.

일단 자기애가 강하다는 점에 중점을 두어, 사소한 일부터 임무를 부여하여 과장된 칭찬을 통해 사내의 자존감을 높여주는 방식이 매우 효과적이다.

처음에야 단독 임무를 부여하며 차츰 팀원을 붙여주되 본인이 컨트롤할 수 있는 권한을 하나씩 부여하는것이 좋다.(자기애가 쑥쑥 올라가는 소리가 들리죠?)

혹여 팀장에게 맡겨 일을 시키더라도 잘 맞춰주고 강압적이지 않는 육성에 최적화 되어 있는 팀장이 좋은 궁합이다. (이런 팀장은 모두에게 다 맞지 않느냐고? 결코 그렇지 않다. 오히려 내 기준에선 나쁜 프로그래머에 아슬아슬하게 해당되기도 한다. 나중에 언급하겠다.)

부하 팀원을 붙여 줄때에도 능력이 뛰어난 팀원 보다는 팀장 뒤에서 잘 밀어주는 형태의 팀원이 훨씬더 효과적이다. 어느 사소한 부분에서도 불만을 토로하는 이런 형식의 프로그래머들은 본인에게 실질적으로 부담되지 않는 업무로 시작해 매우 조그마한 권한부터 주어지게 되면서 소속된 팀에게 본인에게 주어진 권한을 자기 자신만큼 소중하게 여기면서 조직에 서서히 융화되기 시작한다.

비판이나 꾸중도 물론 상황에 따라 필요하지만, 가장 중요한 것은 일관성을 유지해야한다는 점이다.

그 일관성이 흐트러지면 그동안 팀에 대한 신뢰를 다 내 팽개쳐버리고 다시 벽앞에 가만히 투덜거리는 사람으로 돌아온다. (얼마 안되는 권한이지만, 회수했을 때 다시 획득하려 노력하기 보다는 그냥 툴툴대면서 포기해 버린다!)

한번 같이 넘었던 벽은 다시 넘을 때에도 혼자서 넘지 않게 해야한다. (혼자서 벽을 넘으려 시도하지 않는다. 혼자서 우연히 넘어봤던 것은 모르겠지만)

어쩔수 없는 상황‘ 이라는 단어는 이친구들에게 있어서 ‘회사의 무책임‘으로만 이해한다.

이친구들을 자극 하는 가장 효과적인 방식은 본인 외의 다른 팀원들이 본인이 해야할 일을 대신하면서 고생하는 상황을 연출하는 것이다. 그야말로 내가 바보 같아서 내 팀원들이 고생하는게 미안한 마음이 만들어지고 곧 그 미안한 마음에 불편해 하는 소중한 자기 자신을 용납하지 않기에 어떻게든 그 미안한 마음을 없에려 노력한다. (너무나 소중한 자기애를 위해서 하는 본능적으로 나오는 행동이다.)

처음 팀원들은 투덜이 스머프 때문에 내가 이렇게 고생을 하는 것이 억울하겠지만, 투덜이 스머프는 그러한 팀원들을 보고 본인이 괴로워 일의 능률을 높이기 위해 노력하게 된다. (어디까지나 자기 스스로만을 위해서 하는 것이긴 하지만)

그런 노력하는 모습에 팀원들도 그 투덜이 스머프를 받아들이게 되는 상황이 되면, 그제서야 어디에서도 어울리지 못해보이는 그 투덜이 스머프는

‘결국 이녀석도 좋은 녀석이었어.’ 라는 결과로 팀에 융화 되기 시작할 것이다.