이상과 현실 사이의 우리
우리는 언제나 이상과 현실 그 사이에 존재합니다. 가까워질 수는 있어도 잡힐 듯 잡히지 않는 게 바로 이상이죠.
여러분들은 꿈꾸고 있는 이상이 있나요? 현실은 어떤가요? 이상이라는 것은 현실이 있기 때문에 더 빛이 나는 것 같습니다. 어둠 속의 한 줄기 빛이 아주 소중한 것 처럼요.
책을 읽다가 공감 되는 글귀가 있어 가져와 보았습니다.
도메인 주도 설계뿐만 아니라 설계라는 활동에는 어떤 이상과도 같은 측면이 있다. 중요한 것은 이 이상을 현실에 억지로 끼워 맞추는 것이 아니라 현실적으로 사용 가능한 수단을 잘 골라 선택하는 것이다. 이상을 좇되, 현실과 타협해야 하는 상황에 어느 부분에서 타협할 것인가를 고민하는 것도 소프트웨어 개발의 즐거움 중 하나다.
『도메인 주도 설계 철저 입문』 – 나루세 마사노부
이 책의 저자인 나루세 마사노부는 이상을 현실에 억지로 끼워 맞추지 않고 타협점을 찾는 것이 중요하며, 이는 소프트웨어 개발의 즐거움 중 하나라고 말합니다. 즐거움이라고 표현한 점도 인상 깊습니다. 타협점을 찾는 일이 그리 즐거운 과정은 아닐 텐데 말이죠. 그 과정을 당연하게 생각하고 즐길 줄 알아야 한다는 의미가 담긴 것 같습니다.
설계라는 활동에서 뿐만 아니라 인생을 살아가면서 가슴 속에 새겨두면 좋을 말이라는 생각이 듭니다. 완벽한 것은 존재하지 않기 마련이고 우리는 언제나 타협점을 찾아야 하니까요.
현실과 타협 시 주의할 점
일정이 빠듯하여 마감 기한을 맞추기 위해 어쩔 수 없이 기술 부채를 쌓아야 하는 상황이 올 수도 있습니다. 기존의 구조를 변경하려면 너무 많은 비용이 발생하는 상황일 수도 있겠죠. 우리는 서로 상충하는 것들 사이에서 선택을 하게 됩니다. 이때 너무 한 쪽에 치우친 선택만 하게 되면 장기적으로 보았을 때 결국 나쁜 결과를 초래하기 쉬운 것 같습니다. 중요한 점은 적절한 타협점을 찾는 과정에서도 언제나 이상을 포기해서는 안 된다는 겁니다. 잠시 물러날 수는 있어도 포기하지 않고 기회를 엿봐야 하죠.
가령 일정이 너무 바쁘다는 핑계로 유지보수를 거의 생각하지 않은 코드만 작성한다고 생각해 봅시다. 요구사항에 변경이 생겼을 때 유지보수 비용이 증가하게 되고, 그 코드의 상태는 깨진 유리창 이론에 의해 더욱 악화되면서 유지보수 비용이 기하급수적으로 늘어날 가능성이 큽니다.
반대로 일정을 자꾸 미루고 좋은 코드를 작성하는 데만 집중한다고 생각해 봅시다. 마감 기한을 맞추지 못해서 프로젝트가 드랍되고, 융통성 없는 사람으로 낙인 찍힐 수도 있습니다.
우리는 자전거를 타듯이 왼쪽과 오른쪽의 균형을 잡을 줄 알아야 합니다. 달리다가 넘어지면 아프니까요.
현재 어려운 상황에 놓여있나요? 쉽지 않겠지만 상황을 받아들이고 성장할 수 있는 기회로 보는 것도 괜찮은 방법입니다. 필자를 포함하여 우리 모두가 이상을 향한 희망의 끈을 놓지 말고 언제나 현실과 적절한 타협점을 찾아 최선의 해결 방안을 도출할 수 있게 되기를 바랍니다.
마침 저에게 필요한 글이네요 감사합니다
감사합니다. 도움이 되길 바랍니다!