본문 바로가기

Software for Life

상상력이 좋은 소프트웨어를 만든다.

상상력에 관한 좋은 격언이 있습니다.

상상력은 지식보다 더 중요하다.


만약 아인슈타인이 상상력이 없는 사람이었다면,  E=MC2이란 유명한 공식은 탄생하지 않았을 것이며, 우리는 블랙홀의 존재를 알 수 없었을 것이며, 빛을 통한 여행이란 것이 무었인지 알 수 없었을 것입니다.

이 모든 것은 상상력에서 시작되었습니다.

무었인가를 상상한다는 것은 정말 즐거운 일이라고 생각합니다.
하지만 정신없이 일하다보면 상상하는 것을 잊어버릴때가 있습니다.

내 앞에 닥친 이넘의 버그를 잡아야... 이 문서를 완성해야.. 이 비즈니스 로직을 완성해야.. 이 프로그램을 완성해야.. 이 소프트웨어를 완성해야.. 이렇게 바로 앞에 있는 수 많은 일때문에 즐거운 상상을 하지 못할때가 많습니다.

하지만, 가끔 이 소프트웨어에 이런 기능이 더 부가된다면.. 이 소프트웨어를 사용하는 사람 중에 이런 사람도 있다면.. 이 소프트웨어가 이렇게 발전할 수 있다면.. 이렇게 멍때리듯이 상상을 해본다면 분명히 어려분들의 소프트웨어는 더욱 풍요로워질 것이라고 생각합니다.

개인적으로 직장이 집에서 먼관계로.. 거의 두시간 가까이 걸리는 관계로 소위 멍때리는 시간이 많습니다.
이때 이런 저런 상상을 합니다.

그냥, 스쳐가는 바깥 풍경을 바라보면서, 내가 지금 만들고 있는 소프트웨어에 대한 이런 저런 상상을 합니다.

제가 만드는 소프트웨어가 가장 훌륭한 기능을 제공할 수 있다면.. 제가 만드는 소프트웨어의 UI가 사용자가 정말 쓰고 싶은 UI라면.. 제가 만드는 소프트웨어의 가치가 더 높아진다면... 이렇게 상상을 하다보면, 아 우선 이렇게 하면 되겠구나! 이런 기능이 추가되면 좋겠구나! 이렇게 함께 만들면 더 재미있겠는걸~ 등등의 생각을 하게 됩니다.

그리고 그러한 생각을 하나씩 하나씩 동료들과 나눕니다. 그리고 소프트웨어는 점점 개선되어 가고, 더욱 좋은 소프트웨어가 되어 가고 있다는 느끼고 있습니다. 물론 앞으로 가야할 길은 많이 많이 남았지만, 이러한 상상을 하나 하나씩 현실로 변화시키면서 저는 즐거움을 느끼고 있습니다.

그래서 전 소프트웨어가 가장 큰 원동력은 상상력이라고 생각합니다.
소프트웨어 개발자들의 경우 상상력이 풍부하여야 한다고 생각합니다. 주어진 비즈니스 로직대로.. 주어진 설계서대로.. 주어진 개발 방식대로.. 주어진 프레임웍대로.. 아무런 의심과 상상없이 개발한다는 것은 사실 아주 따분한 일입니다.

내 상상력이 묻어나는 소프트웨어를 만든다는 것, 그리고 그것을 함께 만들어 간다는 것, 거기에 다른 사람의 상상력까지 함께 보탠다면, 아마도 세상에서 가장 훌륭한 소프트웨어가 만들어지지 않을까요?

한번 상상해보세요 :-)
물론 시간은 걸릴지 모르겠지만, 여러분들이 만들고 꿈꾸는 것들을 상상해보세요~ 그리고 너무 큰것부터 상상하기 보다는 바로 앞에 있는 소프트웨어에 대한 상상부터 시작해보신다면, 쉽게 그리고 빠르기 여러분들의 상상을 현실로 바꿀 수 있을 것입니다.

저 역시 오늘도 오고 가는 지하철에서 그리고 차안에서 삶을 위한 소프트웨어에 대한 상상을 마음껏 하렵니다.
감사합니다. ;-)