개발자 생각 #14
개발자와 대화하기 힘들어요
왜 그렇게 부정적이에요?
이런 대화는 주로 비지니스맨들의 입에서 나온다
먼저 두괄식으로 말할 것이 있다. 업무에 따라 사고방식은 다르다. 타분야에서 부정적으로 보이는 모습이 실제로는 그 분야에서는 긍정적인 것들이 많다. 부정적이고 까다롭게 보여지는 모습들이 전문가 집단에서는 "요청한 업무 이상의 수많은 변수"까지 고려해서 말하는 경우가 대부분이기 때문이다.
그 분야의 문외한이 입장에서는 간단한 질문에 엄청난 단서를 붙이며 설명하는 모습이 부정적으로 보일 수도 있다. 그러나 이는 개발자만의 문화가 아니라 전문가 집단과 비전문가 집단의 대화에서 발생하는 일상 일 뿐이다.
이런 내용은 문장으로 만드는 것보다는 구조적으로 정리하는 것이 이해가 빠르다. 그래서 다음과 같이 정리를 했다.
(1) 개발자가 부정적인 것이 아니다.
개발자의 업무 중 70%가 만들기, 30%가 문제해결이다.
문서나 논리적으로 입장에서, 기본적으로 되어야 할 것들이 안되는 것이 현실이다.
공학이 완벽하다면 (기계설비, 서버 관리자, ..)가 왜 필요하겠는가?
오류는 현실이고 관리는 능력이다.
개발요청을 완수하려면 요청의 기술적 한계와 오류부터 잡아야 한다.
결국 요청의 문제점을 요청자에게 알려주어야 한다.
사람들은 이것을 부정적으로 느낀다.
(2) 문제를 파악하지 못한 설계는 실패확율이 높다.
만들어진 프로그램의 오류를 잡는 것도 힘든데, 만들어야 할 프로그램의 문제점을 예상하기는 더 힘들다.
오죽하면 개발자 짤이 이런것(Why 시리즈)이겠는가?
문제를 파악하지 못한 설계는 되돌릴 수 없는 사태까지 발생한다.
그래서 초반 기술설계는 긴장하며 서로에게 까칠한 질문을 할 수 밖에 없다.
비지니스 영역의 사람들은 이런 공정과정에 답답함을 느낀다. 그러나 이런 공정과정을 거치지 않고 만들어진 소프트웨어는 모두에게 비참한 결과를 가져다 준다.
(3) 긍정의 힘, 인문학적 사고방식?
인간의 삶에서 필요한 것이라고 생각한다.
그러나 개발자에게 직접적인 도움은 전혀없다.
단지 사고의 전환을 통해 문제점 파악을 하는 경우는 많다.
그렇다고 인문학이나 긍정의 힘과 관련있지는 않다.
(3) 인문학이 필요한 곳은 개발자 영역이 아닌 “기획자” 영역이다.
인문학적 사고가 정량적으로 어떤 도움이 되었는 지, 물어볼 필요도 없다. 나를 포함한 많은 공학영역의 사람들은 인문학의 정의를 정확히 모르는 사람들이 대부분이기 때문이다.
개발자는 알 수없는 상황을 극한의 스트레스를 받으면서도 해결해야 하는 사람들이다. 지구력과 인내력이 필수이다. 이를 통해 문제를 해결했을 때, 희열감을 느끼는 사람들이다. 마치 운동선수들 처럼 말이다.
개발자에게 필요한 것은 공학적 지식을 기반으로 한 인내력과 추리력이지 인문학적 통찰력이 아니다.
긍정의 힘과 인문학이 필요한 곳은 개발이 아니라 UX 쪽이고 전문분야이다. 그들이 기획자이다.