본문 바로가기

Software for Life

프로그래머와 침대 메트리스

의미있는 이야기 하나 해드리겠습니다. :-)

침대를 쓰시는 어느 여자분이 계셨습니다. 이분은 매일같이 허리 통증을 느끼고 계셨습니다. 그래서 한의원에서 침도 맞아보고, 허리 디스크 관련 전문 병원도 다녀보고, 허리에 좋다는 약(설마 고양이 ^^;;)도 드셔보았습니다.

하지만 전혀 허리 통증은 나아지지 않았습니다.

어느날 그녀의 어머니가 와서 그녀를 간호하다가 그녀의 침대 메트리스의 허리 부분이 꺼져있는 것을 발견하고, 그녀의 허리 통증이 침대 메트리스 때문이라는 것을 직감하였습니다.

그길로 바로 그녀와 함께 가장 좋다는 침대 메트리스 가계를 돌아다녔습니다.


첫번째 가계의 점원에게 메트리스에 대한 설명을 들었습니다.

이 메트리스는 아시다시피 과학적으로 만들어진 메트리스입니다. 아시죠~ 메트리스는 최첨단 과학의 집결체인거~ 저희 메트리스는 과학입니다. 저희 침대 박사님들이 가장 좋은 메트리스를 만들었죠~

라고 설명했습니다. 이 여자분과 어머니는 과학적이라는 말은 선전을 통해서 잘 알고 있었지만.. 선뜻 그 메트리스를 사지는 않았습니다.


그래서 두번째 메트리스 가계를 들렸습니다.

이 메트리스는 포켓 스프링으로 되어 있어서 옆에서 자는 사람이 아무리 뒤척여도 흔들리지 않습니다. 흔들리지 않는 편안함이 생명이죠~ 포켓스프링이 독립적으로 구성되어 있으며 각 스프링은 반영구적으로 사용할 수 있습니다.

라고 설명했습니다.


이 설명은 들은 여자분과 어머니는.. 조금 망설이다가 다른 메트리스 가계로 향했습니다.


세번째 가계에 점원은 다음과 같이 말했습니다.

이 메트리스는 편안한 잠자리를 제공합니다. 저희는 편안한 잠자리를 제공하기 위하여 포켓 스프링을 사용했습니다. 하지만 포켓 스프링은 독립적이긴 하지만 편안함을 제공해주는데 부족합니다. 따라서 라텍스를 포켓 스프링 위에 올렸습니다. 혹시 잠자리가 편안하지 못하셨다면 이 메트리스를 한번 사용해보세요~

이말은 들은 여자분과 어머니는 이 가계에서 가장 좋은 메트리스를 묻지도 따지지도 않고 바로 질렀다고 합니다. :-)


여러 점원의 설명중 왜 하필 이 여자분은 세번째 가계에서 메트리스를 구매했을까요?

아시다시피 침대는 과학이고 흔들리지 않는 편안함이 너무도 잘 알려져 있음에도 불구하고 왜 세번째 메트리스를 구매했을까요?
당연하다구요~ 요즘에는 라텍스 + 포켓 스프링이 대세라구요~ 아마 다른 침대 가계에서도 라텍스 + 포켓 스프링이나 라텍스 + 메트리스 제품은 있었을 것입니다.


하지만 진정으로 그녀가 원했던 것은 편안한 잠자리 였습니다. 그래서 편안한 잠자리를 제공해주어 그녀의 문제인 허리 통증을 없앨 수 있는 메트리스를 찾았던 것입니다.

여기서 중요한 점은 과학적인 침대로 아니고, 포켓 스프링의 독창적인 기술도 아닌 그저 편안한 잠자리라는 것입니다. 이것이 그녀의 목적이며 선택의 동기이고 그녀가 진정으로 원하는 것이었습니다.

따라서 그녀가 원하는 편안한 잠자리를 제공해준다고 설명한 세번째 가계의 점원의 설명을 듣고 그 메트리스를 구매하게 된 것입니다.

아마 첫번째나 두번째 가계의 점원은 이렇게 말할지도 모릅니다. 그녀는 침대 메트리스를 잘 모른다고.. 그녀는 메트리스에 대해서는 완전 무식쟁이라고.. 우리가 만드는 메트리스가 얼마나 과학적이고 독창적인지 알지도 못한다고.. 그녀는 잘못된 메트리스를 구매했다고..

그녀가 정말 세번째 가계에서 구매한 메트리스 덕분에 매일 편안한 잠자리를 가지게 됬는지는 저도 잘 모르겠습니다. 하지만 저는 분명히 첫번째 가계의 점원과 두번째 가계의 점원은 그녀가 원하는 것을 잘 알지 못하는 가계 점원이란 사실은 명확히 알고 있습니다.

그 점원들은 고객이 원하는 것을 파악할 생각도 하지 않고 그저 자신들의 기술적인 장점만 앞세웠습니다. 그리고 이렇게 기술적으로 좋은 침대이니 사야된다고만 했죠..


여기서 이 점원들은 프로그래머라고 한번 생각해 보세요~

첫번째 점원은 최고의 기술력을 가진 소프트웨어를 만들고 있다는 자부심에 가득한 프로그래머일 것입니다. 프로그램은 과학이라고 생각할 것입니다.

두번째 점원은 독창적인 기술을 가진 소프트웨어를 만들고 있다는 자존심이 있는 프로그래머일 것입니다. 이 알고리즘은 워낙 독창적인 것이라 다른 소프트웨어에서는 흉내조차 낼 수 없으며, 자신이 만든 소프트웨어만이 가장 최고라고 생각할 것입니다.

하지만 세번째 프로그래머는 소프트웨어를 필요로 하는 사람에게 가장 필요한 기능과 기술이 무었인지를 고민하는 프로그래머일것입니다. 그리고 그 필요 정도에 맞게 소프트웨어를 설계하고, 알맞은 기술을 도입하여 가장 사용하기 편리한 소프트웨어를 개발할 것입니다.

여러분은 어느 프로그래머이십니까?

저는 세번째 점원과 같은 프로그래머가 되기 위하여 오늘도 노력하는 프로그래머입니다. 프로그램은 결국 사람을 위해서 존재합니다. 여러분의 기술이나 독창적인 알고리즘을 위하여 존재하지 않습니다.

사용하려는 사람에게 너무도 버거운 알고리즘보다는 원하는 기능을 처리하기에 적합한 알고리즘을 고민하는 프로그래머입니다. 그래서 저는 알고리즘을 잘은 모르지만, 사용하려는 분에 맞는 알고리즘을 만들어내고 찾아내고 적용시켜서 결국 좋은 소프트웨어를 만드는 것은 잘 할 수 있다고 생각합니다. 제가 주로 믿는 구글신과 함께 한다면 말이죠 ;-)


프로그래머가 진정으로 프로그램을 잘 만들려면, 고객이 진정으로 원하는 것을 이해할 수 있어야 하며, 이를 소프트웨어에 잘 녹여낼 수 있어야 합니다.

그래서 저는 진정한 프로그래머는 고객의 요구사항(Needs)를 잘 파악하고, 이렇게 파악된 내용을 바탕으로 최적의 설계를 할 수 있어야하며, 설계된 내용을 구체적으로 구현할 수 있는 기술을 가지고 있어야 비로서 진정한 프로그램을 만들 수 있는 프로그래머라고 생각합니다.

만약 기술만 가지고 있으면서 설계 능력이 없거나 고객의 요구사항을 파악하지 못하는 프로그래머는 사실 프로그래머라기 보다 코더(Coder)라고 생각합니다. 물론 정도의 차이는 있겠지만요..


오늘 문득 이런 생각이 들더군요~ 프로그램(Program)을 왜 프로그램이라고 부를까?
사실 프로그램은 차례표라고 번역될 수 있습니다만, 원하는 대로 하게 하다 라는 뜻도 있더군요~ 결국 누군가 원하는 것을 하게 만들어주는 것이 프로그램이며, 이 원하는 것을 원하는 대로 만들어주는 사람이 프로그래머가 아닌가 하는 생각을 하였습니다.

즉, 자신이 원하는 것을 만들려고 하시는 분들을 프로그래머라고 부르기 보다는, 편안한 잠자리처럼 진정으로 누군가 원하는 것을 만들어 만족시키려고 노력하는 분들이 프로그래머라고 생각합니다.

감사합니다. :-)