구본형 변화경영연구소

연구원

칼럼

연구원들이

  • 불씨
  • 조회 수 901
  • 댓글 수 3
  • 추천 수 0
2018년 8월 5일 08시 21분 등록
"커널(Kernel)이 변경되었으니, 테스트 진행을 요청드립니다."

도대체 이게 무슨 말인가? 얼마전 어느 프로젝트의 소프트웨어 변경건으로 SQA(Software Quality Assuarance) 팀에 소프트웨어 테스트를 의뢰하면서, 한 개발자가 요청한 내용이다. 통상 커널은 소프트웨어의 운영 체제의 코드를 말한다. 커널의 변경은 소프트웨어의 동작에 큰 영향을 미치는 사항이기도 하지만, 현업에서 실제 변경하는 부분들을 살펴보면 핵심 코드가 아닌 경우가 태반이다. 하지만 소프트웨어의 구체적인 변경점을 모르는 상태에서는 소프트웨어 동작이 어떻게 바뀌는 건지, 그래서 무엇을 테스트하면 되는 건지 알 도리가 없다.  테스트 요청을 받은 SQA 엔지니어는 뭘 어쩌라는 건지 하는 심정일 것은 불 보듯 뻔하다. 이 경우 다음 예시들과 같이 테스트를 요청하는 것이 적절하다.

"커널이 변경되어서 소프트웨어의 모든 동작에 영향을 줄 것으로 예상되오니, 풀(full) 테스트를 요청드립니다."

"변경점은 커널의 A 부분이며 소프트웨어의 B 기능에만 영향을 주므로, B 기능을 테스트해주시고 혹시 모를 사이드 이펙트(side effect)를 대비해서 추가적으로 전체 퀵(Quick) 테스트를 진행해주실 것을 요청드립니다."

개발자들만큼 자기만의 세상에 갇혀 지내는 인간들도 없다. 인간 세상의 시간단위는 초나 분이지만, 개발자들의 기본 시간단위는 통상 밀리 초(Mili second)에서 마이크로 초(Micro second)다. 세상을 보는 기본 단위가 틀려서일까? 컴퓨터와 프로그래밍 언어(Programming Language)로 대화하는 그들에게 가끔 인간 세상은 딴 세상으로 느껴져서인지 다른 인간과의 언어 소통에 서툰 경향이 있다. 잘못된 의사전달로 크고 작은 문제가 발생하는 것을 심심찮게 보곤 한다. 프로그래밍 언어는 한 문자만 잘못 사용해도 컴퓨터가 알아 먹지를 못 한다. 소프트웨어 프로그램은 정해진 구문 규칙에 맞게 주의해서 작성해야 원하는 결과를 도출해 낼 수 있다. 기계와의 엄격한 커뮤니케이션 룰(Rule)이 일상화된 개발자들이 외부 세계(?)와의 대화에서는 모호한 표현을 빈발한다는 것은 참으로 아이러니한 일이다. 영업은 숫자로 말하고, 소프트웨어 개발자는 코드로 말한다는 우스개소리가 있다. 개발자는 코드로 말하는 것이 아니라 입으로 말하는 것이다. 

개발자의 언어가 문제가 되는 때는 다른 부서와, 혹은 고객과의 의사 소통을 하는 경우다. 커뮤니케이션 스킬이 없다보니, 자기 이야기만 하는 경우가 태반이다. 사람은 다른 사람과 말을 할 때 듣는 사람의 경험에 맞추어 말해야만 한다. SQA 엔지니어와 이야기할 때는 SQA 엔지니어가 사용하는 말을 써야 한다. 영업과 이야기할 때는 영업의 언어를 사용해야 한다. 해외 출장을 가서 외국 엔지니어 앞에서 혼자 한국말로 떠들지는 않지 않는가? 상대방의 언어에 익숙하지 않다면 최대한 보편적인 언어를 사용하려고 노력해야 한다.

공자 사상의 핵심중의 하나는 충서(忠恕)이다.  충忠은 가운데 중中과 마음 심心이 합쳐진 모양으로 마음의 한 가운데, 즉 진실된 마음을 뜻한다. 서恕는 같을 여如에 마찬가지로 마음 심心이 합쳐진 모양으로 같은 마음을 뜻한다. 주희의 풀이에 따르면 충이란 진심을 다하는 성실한 마음이고, 서란 자신의 마음을 미루어서 타인이 바라는 바를 먼저 해주는 적극적인 태도이다. 커뮤니케이션의 기본은 바로 이 충서에 기반해야 한다. 일상에서 충서는 배려라는 또다른 이름의 표현이 된다. 

개발자에게 필요한 언어 스킬은 C나 JAVA뿐만이 아니라, 상대방을 배려하고 소통하고자 하는 인간의 언어임을 잊지 말아야 한다. 톰 디마르코와 티모시 라스터가 공동 저술한 <피플웨어>에서 지적되다시피 업무에서 발생하는 문제들은 대부분 기본적으로 기술의 문제가 아니라 조직사회학의 문제다. 조직 유지의 기본바탕은 커뮤니케이션이며, 이는 서로가 어떤 언어를 사용하느냐에 달려 있다.









IP *.121.156.75

프로필 이미지
2018.08.05 14:19:11 *.48.44.227

변경연 첫 모임때 그러니까 면접인가요 산에 올라갔었지요.

그 때 죽음의 공포가 느껴지는 엄청난 미세먼지였어요.

그때 산에 가지 말자고 말하는 것이 배려였을까요, 다같이 가만히 있었던 것이 배려였을까요?

나는 나이많은 자로서  모두의 건강에 안 좋으니 실내에서 하자는 말을 안한 것이 그게 과연 교육팀을 위한 배려였을까

문득 생각나네요.




프로필 이미지
2018.08.08 11:55:06 *.124.22.184

경종씨의 개발 업무가 코딩과는 다른 건가요?

요즘 코딩이 유치원까지 내려가서 수업을 한다고 하더군요. 공교육에서도 소프트웨어 교육을 의무화했는데 가르칠 사람이 부족하대요. 한국은 뭐가 뜨면 너무 서둘러서 준비도 안 된 상태로 교육을 해요. 정말 중요한 철학이나 사상은 없이 형식(기술)만을 가르치는 듯해요.

 

개발자의 언어가 아닌 누구나 알아듣는 한국어를 쓰고 있지만 소통이 안 되는 건 마찬가지죠.

 

프로필 이미지
2018.08.08 14:28:29 *.103.3.17

코딩은 소프트웨어 개발자의 여러 업무 중의 하나일 뿐인데, 그것이 전부인양 오인되는 것이 현실이죠. 다음번 칼럼에는 어린이 코딩 교육에 관한 썰을 한번 풀어봐야겠네요 ㅎㅎ

덧글 입력박스
유동형 덧글모듈