Home 04. 공정 사회를 위한 엔지니어링
Post
Cancel

04. 공정 사회를 위한 엔지니어링

프로그래밍은 당면한 문제에 집중하여 코드를 생성하고, 소프트웨어 엔지니어링은 수십년 혹은 평생에 걸친 유동적이고 모호한 문제에 대응하기 위해 코드, 도구, 정책, 프로세스 등을 응용하는 더 폭 넓은 개념이다.

이번 장에서는 다양한 계층의 사용자를 위한 제품을 설계할 때 엔지니어가 짊어져야 할 책임에 관해 이야기한다.

4.1 편견은 피할 수 없다.

사용자의 국적, 민족, 인종, 성별, 연령, 사회 경제적 위치, 장애 여부, 신념 체계 등에 신경쓰지 않는다면 가장 우수한 엔지니어라 할지라도 의도와 달리 사용자에게 피해를 줄 수 있다. 모든 사람은 편견을 가지고 있다. 무의식적인 편견은 교묘하여 의도적인 배척 행위보다 물리치기 어려울 때가 많다.

사례) 구글에서 이미지 인식 알고리즘이 흑인을 고릴라로 분류한다는 것을 발견했다. 이런 실수를 일으킨 원인으로

  1. 이미지 인식 알고리즘은 학습 데이터셋에 의존하기 때문에 적절한 데이터셋이 필요하다. 구글의 이미지 인식 알고리즘에 제공된 사진 데이터는 명백히 불완전했다.
  2. 구글 자체 흑인을 충분히 대변하지 못했다. 이 사실이 알고리즘을 설계하거나 데이터셋을 수집하는 데 영향을 주었다.
  3. 구글 이미지 인식의 타깃 시장에 대표성이 낮은 그룹이 제대로 포함되지 못해 자체 테스트에서 이런 실수를 발견하지 못했다.

4.2 다양성이 필요한 이유 이해하기

구글은 뛰어난 엔지니어가 되려면 제품 설계와 구현에 다양한 관점을 포용해야 한다고 믿는다. 모두를 위한 제품을 개발하려면 먼저 우리가 어떤 사람들을 대표하는지를 이해해야 한다. 이를 위해 엔지니어들이 폭 넓은 주제의 교육과 훈련을 받도록 장려해야 한다.

사업에 성공하려면 컴퓨터 과학 학위나 업무 경험만으로 훌륭한 엔지니어가 될 수 있다는 통념에서 벗어나는 일부터 출발해야 한다. 엔지니어는 타깃 생태계 전체의 틀을 잡는 데서 모든 일을 시작해야 한다. 자신과 다른 사람들, 특히 제품을 사용하여 해를 입을 수도 있는 사람들에 초점을 맞춰야 한다.

4.3 다문화 역량 갖추기

뛰어난 엔지니어라면 제품이 어떻게 다른 그룹의 사람들에게 유리하게 혹은 불리하게 작용하는지 이해하는 능력이 있어야 한다. 엔지니어가 되려면 기술이 적성에 맞아야 함은 물론 무언가를 만들어야 할 때와 아닐 때를 구분하는 안목도 갖춰야 한다.

뛰어난 엔지니어가 되려면 힘을 발휘하되 해를 끼치지 않아야 할 책임도 함께 있음을 이해해야 한다. 첫 번째로 여러분에게 심어진 편견의 현재 상태를 인식하는 것이다. 이를 인식하고 나면 종종 망각되는 쓰임새나 여러분이 만든 제품으로 인해 득을 보거나 피해를 입을 수 있는 사람들을 비로소 고려할 수 있게 될 것이다.

4.4 다양성 실천하기

다문화 역량을 뿌리내리려면 사회의 불평등 시스템이 직장에, 특히 기술 분야의 일터에 미치는 영향을 더 포괄적으로 이해해야 한다.

대표성이 적은 그룹 출신의 엔지니어를 더 많이 고용해야하는 관리자라면 전 세계에 걸친 차별의 역사와 그 영향을 파고드는 건 학문적으로는 의미있는 싸움일것이다. 하지만 학문적인 것을 넘어서 형평성과 공정성을 심어주는 수량화할 수 있고, 실행 가능한 일에는 뭐가 있는지를 고민하는 게 더 중요하다.

4.5 단일한 접근 방식 거부하기

기술 분야의 불평등을 해소하는 데 단 하나의 철학이나 방법론을 고집할 수는 없다. 우리의 문제는 복잡하며 여러 요인이 복합적으로 작용한다. 따라서 직장에서의 대표성을 높이려면 단일한 접근 방식에서 탈피해야 한다.

기술 업계에서는 소수 집단에 속한 수많은 사람들이 매일매일 성장의 기회를 놓친다. 변화를 이끌고 대표성을 개선하려면 꿈이 있는 모든 엔지니어와 기술 전문가가 훌륭이 성장할 수 있는 생태계를 만들고 있는지를 스스로 평가해봐야 한다.

예) 여성을 더 많이 채용하려는 엔지니어링 관리자라면 단순히 채용 프로세스 개선에만 신경 써서는 부족하다. 채용 후 고용 유지와 승진 등 시스템의 다른 측면에서도 여성을 공정하게 대우하는지 깊이 살펴봐야 한다.

대표성이 낮은 사용자를 위한 제품을 개발하려는 기술자가 수행해야 할 다음 단계는 더 포괄적인 사용자 경험을 연구하는 것이다. 다양한 언어와 문화, 여러 국가에 걸친 사회 경제적 계층, 장애 여부, 연령대를 아우르는 사용자 그룹을 대상으로 진행해야 한다. 가장 소외된 사용 사례를 최우선으로 살펴보라

4.6 확립된 프로세스에 도전하기

구글의 일부 엔지니어링 팀에서 글로벌 채용 요청 시스템을 구축했다. 외부 채용과 사내 이동 모두를 지원하는 시스템이였으나 한 뛰어난 엔지니어가 과거의 성과로 미래의 성과를 예측할 수 있는지 의문을 제기했고, 구글은 이를 심층분석 했다.

그 결과 낮은 평가를 받은 많은 직원이 팀 이동 후 평가가 좋아졌음을 알아냈다. 즉 성과 등급은 해당 평가 시점에 그 사람이 맡고 있던 역할을 얼마나 잘 수행했느냐를 말해줄 뿐 미래의 성과를 예견해주지는 못 했다. 그래서 앞으로 맡길 역할에 준비되어 있느냐를 평가하거나 팀 이동시 자격을 논하는 데 이용해서는 안된다. 이 심층 분석은 상당 기간 소요됐지만 사내 이동 프로세스의 공정성을 개선하는 데 기여했다.

4.7 가치 VS 결과

구글은 채용에 상당한 투자를 해왔다. 공정성과 포용력을 개선하기 위해 내부 프로세스를 끊임없이 평가해왔다. 하지만 전 세계 사용자를 대표하게끔 채용하려는 목표는 매년 미달하고 있다. 실패의 원인은 회사가 추구하는 가치, 의도, 투자보다는 현실에 적용하는 과정에서 정책들을 어떻게 응용하느냐에 달린 것 같다. 그렇다면 우리가 나아갸아 할 방법은 어디일까?

  1. 자신을 솔직하게 바라보고 성찰하자
  2. 모두를 위해 만들지 말자 모두와 함께 만들자
  3. 제품을 이용하기 가장 어려운 이들을 위해 설계하자
  4. 가정하지 말고, 시스템 전반의 공정성을 측정하자
  5. 변할 수 있다.

4.8 관심을 잃지 말고 전진하자

공정 사회로 가는 길은 길고 험난하다. 하지만 단순히 도구와 서비스를 구축하는 데서 벗어나 우리가 만든 제품이 인류에 어떤 영향을 주는지를 더 깊이 이해해야 한다. 미래의 훌륭한 엔지니어로서 우리는 편견과 차별 때문에 가장 고통받는 사용자들에게 최우선으로 관심을 기울여야 한다. 엔지니어가 되려면 함께 그리고 멈추지 말고 전지해야 한다. 우리 목표는 불합리함을 겪는 사람들을 더이상 소외시키지 않고 인류를 더 나은 길로 이끄는 변화를 만들어내는 것이다.

4.9 마치며

소프트웨어 그리고 소프트웨어 조직은 팀이 하나 되어 만들어가는 것이다. 지금 우리는 전세계의 모두가 연결된 세상에 살고 있기 때문에 소프트웨어 조직이 커질수록 사용자들의 목소리에 응답할 수 있도록 설계해야 한다. 엔지니어링 조직의 규모를 늘리려면 소수 집단을 무시해서는 안 된다.

4.10 핵심정리

  • 우리는 편견에서 벗어날 수 없다.
  • 다양한 사용자층을 포용하도록 설계하려면 조직 구성 측면에서도 반드시 다양성을 갖추어야 한다.
  • 포용성은 소수 집단 채용 프로세스 개선에 반드시 필요하다. 포용성은 모든 직원을 차별없이 지원하는 근무 환경을 조성하는 데 에도 아주 중요하다.
  • 제품 개발 속도는 모든 사용자에게 진정 유용해야 한다는 관점에서 평가되어야 한다. 일부 사용자에게 해를 끼칠 수 있는 제품이라면 차라리 출시를 늦추는 편이 낫다.
This post is licensed under CC BY 4.0 by the author.

03. 지식 공유

05. 팀 이끌기