https://ngio.co.kr/6090
다음의 출처에서 얻은 인사이트로 작성한 글입니다
인지편향이란 경험에 의한 비논리적 추론으로 잘못된 판단을 하는 것을 의미한다
대표적으로 확증 편향이 있는데 이것은 정보의 처리 과정에서 일어나는 인지 편향이다
사람들은 자신이 원하는 결과를 바라거나 어떤 사건에 관하여 생각할 때 이성보다 감정이 앞설 때 보이는 경향이다
이러한 감정적인 경향은 이성적인 부분이 필요시되는 개발 분야에서 좋지 않은 결과를 낳는다
개발자로서 우리는 큰 관점에서 생각해야 한다
대니얼 카너먼의 '생각에 관한 생각'이라는 책이 있다
간단하게 요약하자면 인간의 사고는 시스템1과 시스템2로 이루어져 있으며 시스템1은 게으른, 보다 본능적으로 감정적인 사고방식이며 시스템2는 그에 반해 좀더 계산적이고 이성적인 영역이다
우리가 밥을 먹고 화장실에 갈때에는 별 생각을 안하는 반면 무언가를 공부할 때는 신경써야하고 좀 더 하기 싫어지는 게으름을 느끼게 되는 것이 시스템 1과 시스템2의 차이이다. 밥을 먹을 때는 무의식적으로 잘 먹지만 평소에 하지 않던 행동을 하기 위해서는 시스템2를 통한 의식적인 훈련이 필요하다
인간의 의식은 무의식의 집합체이다. 우리의 방향성에 영향을 주는 것 중 어떤 것은 인지하기 힘든 미세한 것일수도, 어떤건 큰 영향을 줄 수도 있으며 내가 잘 할 수 있는 일일수도 있고 잘 못하는 일일 수도 있다
많은 요소들이 우리의 행동을 조종한다. 그렇다면 이렇게 우리의 행동을 무의식이 지배한다면 부정적인 쪽으로 흐르는 행동의 요소를 제거해주고 긍정적인 방향의 행동을 의식적으로 방향을 잡아준다면 우리는 좀 더 좋은 행동(프로그래밍) 만을 골라 할 수 있지 않을까?
다음은 프로그래밍 할 때 알아야 할 5가지 인지 편향이다
나중의 더 큰 보수 대신 지금 당장의 이익을 우선하는 것이다
해야 하는 과제나 복습을 미루거나 기술을 숙달 시키기 위하여 어려운 반복 연습을 해야하는 상황에서 단순하고 1차원 적인 반복작업을 통해 해결해버린 적이 있나?
이런 상황에서 과도한 가치 폄하가 일어나게 된다. 당장의 편함을 위해 노력의 과정을 건너 뛰는 것은 지금 당장은 편하겠지만 미래의 이익을 포기하게 되는 것과 같다
이러한 상황이 쌓인다면, 과도한 시간을 낭비하게 될 것이며 훈련이 쌓인다면 많은 시간을 절약할 수 있게 될 것이다
문제에 대한 자신의 해결책은 과대 평가하는 반면, 다른 솔루션을 과소 평가하는 것
이케아 효과는 직접 조립해서 만든 제품을 훨씬 고 평가하는 경향이 있는데 여기에서 온 이름이다
우리는 문제에 대한 자신의 해결책을 과대 평가하는 경향이 있고, 반면에 다른 해결책은 과소 평가하는 경향이 있다
궁극적으로 추구해 나아가야할 방향은, 주관을 배제하고 데이터를 보며 판단하는 것이다
필요한 것을 이해하기도 전에 최적화하는 것
우리의 시간과 자원은 한정되어 있으며 매 순간 프로젝트에 적절한 배분을 할 수 있어야 한다
자동차의 엔진이 낡고 고장난 상태에서 엔진도 고치지 않은 상태로 외장 프레임을 멋지게 달아봤자 의미가 없다
가장 좋은 예로, 잘 구동되는지 원리만 실험하는 코드를 다듬고 다듬어 완벽한 코드로 작성하는 일이 있다
작업을 완료하는 데 필요한 시간을 낙관적으로 예상하는 것
대부분 사람에 관련된 이야기인 이 계획 오류는 제품을 제작하는 우리든, 계획을 총괄하는 프로젝트 매니저든, 고객이든 실제로 언제 작업이 끝날지에 대해 낙관적인 경향이 있다
이것은 다음과 같은 격언이 있다
코드의 첫 90%가 개발 시간의 90%를 차지하고, 나머지 10%가 또 90%의 개발 시간을 차지한다
이것은 90대 90의 법칙이다
과거에 일어난 일보다 최근의 사건에 높은 가치를 두는 것, 최신 경험을 더 가치있다고 생각하는 것
문제를 해결해야할 때 자주 마주치는 경향이다. 우리는 이미 비슷한 문제를 해결했기 때문에 사례를 들어 그 해결책을 또 재활용하게 되는 경향이 있다
하지만 비슷한 문제라고, 같은 해결책으로 문제가 해결되리란 법은 없다
우리는 편견을 완전히 제거할 수는 없지만, 편견이 우리에게 어떤 영향을 미치고 있는지를 스스로 검증함으로서 그것이 야기하는 문제를 완화시킬 수는 있다
나는 이성적인 부분위에 감성의 영역이 존재한다고 생각한다
우리가 인간으로 태어난 이상 감정을 뛰어넘을 수는 없지만, 적어도 컨트롤하는 의지는 가져야 한다 생각한다
시스템2. 이성적이고 계산적인 영역. 데이터를 통한 검증을 통해 오류를 줄여나가는 노력이 필요하다
다음의 글을 참고하였습니다
https://ngio.co.kr/6090