세상이 점점 더 복잡해지다보니, 모든 일을 쪼개고 나누어서 사람들은 그렇게 쪼개진 조각에 초점을 맞춰 일을 하게 되었다. 복잡한 세상을 살기 위해 어쩌면 당연한 것이지만, 어떤 경우에는 이렇게 쪼개짐으로써… 서로 간에 필요 이상의 벽을 세우고, 왜 쪼갠 것인지를 망각한 채 서로에게 필요한 부분까지도 이해하려 들지 않는, 그래서 소통이 어려워지는 경우가 종종 발생하는 것 같다.

다음 그림을 보자.

why-programming-pic1.png

왼쪽 그림을 보며 사는 좌박사는 그것을 원이라 말하며, 항상 그것에 대하여 동그라미의 기준을 가지고 이야기를 하고 있다. 반대로, 오른쪽 그림을 다루는 우박사는 이것이 사각형이라 말하며 각과 변을 얘기하기에 바쁘다. 그러나 그것의 실체는…

why-programming-pic2.png

서로 다르게 이야기하고 있는 "그것", "원기둥"을 바르게 이해하고 정말 박사가 되기 위해서는, 그리고 그것의 성격을 바르게 이해하고, 문제가 발생했을 때 그것의 성격에 맞는 해법을 찾기 위해서는 그 대상을 자신이 서 있는 각도(좌박사는 그 위에서, 우박사는 그 옆에서), 바꿔 말해서 자신에게 세분화 되어있는 영역 이외의 각도에서의 이해도 어느 정도는 필요한 것이다.

시스템 엔지니어가 자신이 다루는 시스템을 제대로 이해하고 능수능란하게 다루기 위해서는 자신이 담당하고 있는 "시스템 영역"의 완벽에 가까운 이해와 함께 그것과 공존하고 있는 "프로그래밍의 세계"에 대한 최소한의 이해가 필요하며, 자신이 업무가 개인의 취미가 아닌 전문가의 수준이어야 한다면 그것에 걸맞는 수준의 이해를 바탕에 둬야 한다. 그리고 그것으로 인하여, 자신의 영역에서의 자신의 수준 역시 함께 성장하는 것이라고, 나는 믿고 있다.

시스템 운영자/관리자 여러분들… 기회가 된다면 프로그래밍을 배우시라. 세상이 밝아진다.