개발자가 비개발자와의 의사소통을 배워야 하는 이유.


예전에 일했던 회사에서 인사담당자가 이런저런 사람을 뽑으면서 했던 말이 생각납니다.

다른 기업들이 왜 말도 안되고, 확인도 잘 안되는 조건인 '의사소통 가능한 자' 라는 조건을 모집공고에 그렇게 커다랗게 적는지 알겠다는 겁니다.

사람을 뽑아놓고 보니 그 사람의 개인적 역량이 어떤지는 둘째 치고, 서로 간에 대화가 안통한다고 느끼는 일이 매우 빈번하다는 것입니다.

의사소통 가능한 자. 는 눈을 크게 뜨고 찾더라도 사실 찾기 쉽지 않습니다.

그 중에서도 개발자와 다른 부서 인원 간의 회의는 대부분 짜증으로 마무리 되는 경우가 많습니다.

개발자와 다른 부서 인원의 관점 차이에서 오는 경우가 많습니다. 용어 하나하나를 설명하기도 힘들고, 그렇다고 명백히 하지 않으면 결국 시간만 낭비하고 다시 회의를 해야하는 결과를 초래하게 되기 때문입니다. 찾아보니 유독 개발자들과 대화를 하려고 하는 사람들은 개발자들과의 대화 방법을 배워야 한다는 글이 많습니다. 맞습니다. 배워야 합니다. 하지만 지금 부터 제가 하려고 하는 이야기는 아닙니다. 제 생각은 오히려 개발자들이 비개발자 사람들과 대화하는 법을 배워야 한다는 것입니다. 결국 서로 상호 간에 함께 배워야 하는 것이 되겠죠. 그럼 왜 개발자는 의사소통 방법을 배워야 할까요?


사진 : https://unsplash.com/


1. 대다수가 비개발자다.

단순합니다. 개발자보다 비개발자가 더 많습니다. 언제나 소수는 다수를 고려해야 합니다. 소수와 다수에 대한 논쟁이 아닙니다. 소수는 힘이 없다는 정치적 의견 같은 것도 아닙니다.

개발자는 개발자와 이야기할 일보다는, 비개발자와 대화할 일이 훨씬 더 많습니다. 의문을 가질 수 있습니다. 난 개발자들끼리만 대화하는데? 그렇다면 오히려 더 경계하십시오. 밖으로 나가서 비개발자들과 더 많이 이야기 하시기 바랍니다. 당신이 오너가 아니라면 당신을 빼고 큰 그림은 비개발자들이 정하고 있는 겁니다.



2. 사용자는 비개발자다

개발자를 대상으로 하는 서비스는 많고, 저 같은 사람은 언급조차 하지 못할 성공사례도 엄청 많습니다. 하지만 대부분 서비스들은 비개발자들이 사용합니다. 사용자들이 사용방법을 모른다고 사용자들의 무지와 게으름을 탓하지 마십시오. 사람들의 무지와 게으름을 고려하지 않은 제품의 잘못입니다. 보다 많은 다양한 사람들과 대화함으로써 사용자의 관점을 배워야 합니다. 의사소통 방법을 배운다는 것은 상대방의 입장에서 생각하는 것과 비슷합니다. 카톡을 하기 위해서 함수 선언을 해야 했다면, 카톡은 아무도 사용하지 않았을 것입니다.



3. 돈을 내는 사람이 비개발자다

저는 컴퓨터를 재세팅 하는데 돈을 지불하지 않습니다. 직접 하면 되니까요. 하지만 다른 분야는 좀 다릅니다. 얼마 전에 저희 집에 전기와 관련된 문제가 생겼고, 저는 돈을 지불하고 그 문제를 해결해야 했습니다. 제가 전기에 대해 할 수 있는거라고는 기껏 전구 갈아끼우는 정도 밖에는 없거든요. 일이 마무리 된 후에 저의 형님에게 이야기 했더니, 형님은 그런 간단한 일에 돈을 지불했다고 제가 낸 그 돈을 매우 아깝게 생각했습니다.  형님은 전기와 관련된 일을 하고 있습니다. 형님에게 그 일은 아주 간단한 일이었던거죠. 물론 저도 돈이 나갔으니 아깝긴 했지만, 형님이 느낀 만큼은 아니었습니다. 전 몰랐고, 그 앎의 상태에 가는 것에 대신해 돈을 지불했거든요. 많은 개발자들은 전문가입니다. 특정 상황이나 구조를 정규화해서 생각하는 것에 익숙합니다. 하지만 비개발자들은 그렇지 않습니다. 오히려 누구나 그렇게 생각하게 된다면 개발자들 밥그릇이 없어지는 겁니다. 그래서 그렇기 때문에 개발자들에게 다소 높은 금액을 지불합니다. 일부 개발자들의 착각 중에 하나는 개발비로 돈을 받는 다는 것이 키보드로 뭔가를 쳐서 화면에 결과물을 띄우기만 하면 된다고 생각하는 것입니다. 사실 지불받은 그 돈에는 자신이 만든 해당 로직 또는 프로그램셋을 다른 누군가에게 알기 쉽게 설명하는 비용도 포함되어 있습니다. 소통의 부분은 무료서비스가 아니라 돈을 받고 설명하는 것입니다. 사람들은 돈을 내고 개발자들의 앎의 상태를 자신이 알아듣기 쉽게 이야기 듣는 것을 구매하는 것입니다.



4. 경쟁력을 판단하는 사람은 비개발자다

경쟁이라는 말을 별로 좋아하진 않지만, 경쟁은 피할 수 없습니다. 서로 화합만하는 조화로운 세상을 누구라도 꿈꾸지만, 일단 전 아직 만나본적이 없습니다.  우리는 먹고 살아야하고, 그렇다면 경쟁력이라는 단어를 내 것으로 만들어야 합니다. 그렇다면 한 사람 한 사람의 경쟁력은 누가 평가할까요? 많은 경우, 비개발자입니다.

개발자들은 유려하고 아름다운 코드를 보면, 찬사를 보냅니다. 그것이 단 몇 줄 밖에 안되더라도. 그 사람의 철학같은 것도 함께 느낄 수 있기 때문입니다. 동그라미 몇 개만 그려져 있는데 엄청나게 고가에 거래되는 미술작품들과 비슷한 맥락이라고 생각합니다. 하지만 동그라미 몇 개 그려져 있는데 수천만원씩 하는 미술품을 우리가 사지 않는 이유는 가격대비 효율 때문입니다. 그 돈에 그만큼의 감동을 느낄 수 없기 때문입니다. 느끼는 사람들은. 간단합니다. 구매합니다. 코드도 비슷합니다. 개발자들은 자신이 만든 코드에 감동하기도 합니다. 그래서 비싼 값에 시장에 자신을 내놓기도 합니다. 가장 좋은 케이스는 코드의 아름다움을 누군가 알아주고 제값을 주고 사는 것입니다. 하지만 대부분의 사람들은 느끼지 못합니다. 코드의 아름다움을 느낄만한 사람은 아주 소수이기 때문입니다. 그렇다면 결국은 자신이 비개발자들에게 자신의 코드가 얼마나 아름다운 것인지 설명해야 하는 상황이 옵니다. 이 때부턴 코드가 얼마나 아름다운지는 사실 중요하지 않습니다. 개발자의 표현력의 영역입니다. 개발자는 표현력을 키워서 자신의 업적(?)을 다소 과장(?) 할 줄도 알아야 합니다. 생각해보면 결과가 같다면 나보다 더 뛰어난 개발자가 작성한 더 빠른 코드를 비개발자들은 내 것과 같다고 생각합니다. 0.0001 초와 0.01 초는 무려 100배의 차이지만 타임스탬프를 찍어보지 않는 비개발자들에겐 차이가 없습니다. 저 같은 평범한 개발자들에겐 오히려 다행일지도 모르겠습니다. 뭔가 이상하지만 보다 잘 설명하는 능력은 코드를 만드는 능력만큼이나 중요합니다.



5. 당신의 협업자들은 비개발자다

함께 일하고 싶은 사람이 되는 것은 중요합니다. 어쩌면 팀별 프로젝트에서는 그것이 전부이기도 합니다. 함께 일하고 싶다는 것은 개발성과 뿐만 아니라 의사소통 능력을 포함하기 때문입니다. 표현력의 부제로 간단한 내용을 긴 시간 사용하는 회의를 좋아하는 사람은 없습니다. 그렇다고 그 생각차이들을 간과할 수도 없습니다. 팀원 간에 견해차가 있을 때 프로젝트가 기대 이상의 결과가 나오는 경우는 드뭅니다. 각 파트만 맡고 있는 제대로된 프로들이 모였다면 딱 기대만큼만 나올 것입니다. 좋은 성과를 내기 위해서라면 팀원간의 끊임 없는 의사소통으로 최대한의 합의점에서 최적화된 방향으로 함께 진행되야 합니다. 그리기 위해서는 상대방의 입장에서 표현 해주는 능력은 굉장히 중요합니다. 물론 말처럼 그리 쉽진 않습니다. 상대방의 역할, 입장, 환경까지 고려해야 하므로 여간 어려운 것이 아닙니다. 누구도 세상 모든 것을 알 수는 없으므로, 각 협업자들이 사용하는 용어라도 숙지해야 합니다. 비개발자들 역시 명백히 개발자들과의 대화를 열심히 배우고 있을 것입니다. 개발자들 역시 비개발자의 대화를 열심히 배워서 중간 지점에서 만날 때 해당 팀의 의사소통 속도는 비약적으로 상승하게 됩니다.




저는 완전 프로개발자는 아닙니다.

저는 없던 프로그래밍 언어를 새로 만들 줄도 모르고, 운영체제 같은걸 만들 생각은 해보지도 않았습니다. 제가 프로그래밍을 했던 이유는 눈 앞의 문제를 적은 비용으로 빠르게 처리하고 싶었기 때문입니다. 가령 더하기를 많이 해야할 일이 있으면 그 더하기를 자동으로 해주는 프로그램을 만드는 식입니다. 웹페이지가 필요하다면, 가장 쉽고 빠르게 웹페이지를 만드는 방법을 찾아서 실행하는 것이죠. 다행히 아직까진 운영체제를 새로 만들어야겠다고 느낀 적은 없습니다. >,.<;;

이러한 관점은 개발자들 사이에서는 오히려 비주류입니다. 코드의 아름다움을 좇지 않으니, 저 같은 놈이 그들이 말하는 아름다운(?) 코드를 망칠 수도 있기 때문입니다. 어찌됐건 그로인해 저는 온전한 개발자의 입장, 또는 온전한 비개발자의 입장에서는 잘 생각하지 못합니다. 오히려 그 중간의 애매한 위치에 제가 있는데요. 단점이라면 단점이지만, 저는 이러한 조합은 저만의 장점이라고 생각합니다. 덕분에 개발자와 비개발자의 관점 차이를 보다 많이 생각하게 되는 계기가 되었습니다.


의사소통은 대단히 중요합니다.

취미로 혼자서 대가 없이 개발을 하고 있다면 자신의 생각을 다른 사람에게 설명할 필요가 없습니다. 하지만 뭔가 대가를 받고 다른 이들과 함께 작업하고 있다면 개발자들은 염두해야 합니다. 개발자들이 받는 대가에는 의사소통 비용이 포함되어 있습니다.

  1. 유정 2017.09.23 03:11 신고

    잘 읽었습니다.

+ Recent posts