디자인 씽킹을 넘어 프로그래밍 씽킹으로

Seungwon Go
5 min readJan 23, 2021

--

프로그래밍 씽킹은 문제 해결에 있어서 프로그래머들이 문제를 풀던 방식대로 사고하는것.

프로그래밍 씽킹은 컴퓨터 중심 디자인(computer-centered design) 방법으로써, 모든 문제를 감성보다 이성을 기반한 논리적인 방법으로 문제를 해결하는 방식이다.

에어비앤비, 핀터레스트, 배달의민족의 공통점은 모두 CEO가 디자이너 출신이라는 것이다.

IDEO의 팀브라운 역시 디자이너 출신이고, 팀브라운은 디자이너가 일하는 방식을 비즈니스에 적용하는 “디자인 씽킹” 이라는 개념을 시장을 내놓았다.

디자인 씽킹은 “문제 해결에 있어서 디자이너들이 문제를 풀던 방식대로 사고 하는것”을 말한다.

디자인 씽킹은 인간에대해 공감하고, 이성보다는 감성을 기반으로 하여 창의적으로 문제를 해결하는 방식이다.

디자이너가 일하는 방식을 보면, 디자이너는 고객과의 인터뷰를 통해 고객의 니즈에 공감하고 이를 바탕으로 여러개의디자인 시안을 작업하게 된다.

여러개의 디자인 시안을 고객에게 보여주고, 그 중 고객이 마음에 들어하는 몇가지 시안을 추려낸다.

그 다음 또 그 추려낸 시안을 가지고, 여러가지 색상, 그리고 좀 더 변화된 모양의 시안을 만들어내게 된다.

이렇게 만들어진 시안들을 고객에게 보여주고, 또 피드백을 받는다.

이러한 작업을 반복적으로 수행함으로써 고객이 원하는 최종 결과물을 만들어내게 된다.

디자인 작업은 결과가 정해져 있지 않다.

그럼 프로그래머의 작업은 어떤가?

개발은 input과 output의 명확히 정해져 있는 상태에서 개발을 시작한다. 그래서 감성보다는 이성에 기반하여 이미 정해진 결과물을 가장 빠르고 안정적으로 만들어 내는것이 중요하다.

여기서 나는 프로그래머가 문제를 풀던 방식을 좀 더 광범위하게 비즈니스에 적용할 수 없을까 하는 의문을 가지게 되었고, “프로그래밍 씽킹”이란 개념을 만들게 되었다.

프로그래밍 씽킹은 “문제 해결에 있어서 프로그래머들이 문제를 풀던 방식대로 사고 하는것”이라 할 수 있겠다. 모든 문제를 감성 보다는 이성을 기반한 논리적인 방법으로 문제를 해결하는 방식이다.

프로그래밍 씽킹은 입력과 출력(결과)이 정해진 상태에서 발생할 수 있는 모든 경우의 수를 찾아내고, 이에 대한 해결책을 제시한다. 프로그래밍 씽킹은 눈에 보이는 단면 뿐만 아니라, 눈에 보이지 않는 그 이면에 숨어 있는 다양한 요소(사람과 사람, 사람과 사물, 사물과 사물)간의 관계를 체계적으로 관찰하고 분석하여 그 대상을 명확히 인지하는 사고를 키우는것이다.

마이크로소프트의 사티아 나델라, 페이스북의 마크 저커버그, 구글의 선다 피차이는 모두 프로그래머 출신의 대표적인글로벌 기업 CEO이다.

개발자 출신의 글로벌 기업 CEO들

마이크로소프트 — 사티아 나델라
페이스북 — 마크 저커버그
구글 — 선다 피차이

왜 프로그래머 출신 CEO 들이 생겨나는 걸까?

미래 산업의 핵심인 ICT 분야에서는 변화와 발전 속도로 인해 중요한 결정들을 더욱 빠르고 정확하게 내려야 한다. 모든결정에는 시간과 노력, 비용 투입이 요구된다. 기술을 모르는 경영자는 판단을 내릴 수 있는 분야가 한정 될 수 밖에 없다.

비즈니스에서 의사 결정을 할 때는 가능한 모든 대안에 대해 탐색하는 과정을 거친 후 그 중 가장 효과적인 방식을 결정해야 한다.

최적의 답안을 찾아 내기 위해서 프로그래밍 씽킹(관찰-탐험-확장-세분화-발전 단계)을 통해 생각지 못했던 모든 위험요소를 찾아내고 가장 효율적으로 기업을 운영하기 위한 방안을 도출해야 한다.

프로그래밍 씽킹은 단지 개발자만을 위한 것이 아니다.

누구나 프로그래밍 씽킹을 통해 사고를 확장하고, 재정의 하여 자신의 하고 있는 일을 더욱더 발전시킬 수 있다.

2000년대까지는 경영학이, 2010년대에는 디자인 씽킹이 비즈니스를 리드 할 수 있는 중요한 역량이였다면, 2020년대에는 프로그래밍 씽킹이 비즈니스를 리드 할 수 있는 최고의 역량이 될 것이다.

프로그래밍 씽킹 5단계

프로그래밍 씽킹은 관찰-탐험-확장-세분화-발전 이라는 5단계로 이루어져 있다.

  1. 관찰단계 — 사물을 다각도로 살펴보기
  2. 탐험단계 — 가능한 모든 경우의 수를 찾아내기
  3. 확장단계 — 깊게 사고하고, 과정을 구체적으로 확장하기
  4. 세분화단계 — 과정을 쪼개서 여러과정으로 세분화하기
  5. 발전단계 — 각 과정을 다시 한번 세분화하여 확장하기

나는 20년이 넘는 시간을 IT에 종사하면서 훌륭한 프로그래머는 단지 소프트웨어 프로그램을 개발하는 역량을 넘어서 프로그램 뿐만 아니라 모든 문제에 대한 접근 방법 및 이를 해결하는 방법에 있어서 탁월한 모습을 보게 되었다. 그래서 프로그래머가 문제를 해결하는 방법에 대해서 관찰하고, 이를 비즈니스에 적용할 수 있는 방법을 고민하게 되었고 “프로그래밍 씽킹” 이라는 방법론을 만들게 되었다.

--

--

Seungwon Go
Seungwon Go

Written by Seungwon Go

Writer, Youtuber, Investor, Programmer, Founder

No responses yet