나름 꽤 긴 기간동안 Unity로 개발을 하다보니 작은 작업 하나를 할 때에도 조금이라도 더 보기 좋고 효율적으로 작업하려고 하는 것 같습니다. 나쁜 건 아니지만 이로 인해 작업 시간이 늘어나는 일이 점점 많아지고 있습니다.
그런 찰나에 튜터님께서 중요한 이야기를 하나 해주셨습니다. 최적화도 좋고 코드를 이쁘게 짜는 것도 좋은데 개발자에게 가장 중요한 것은 그게 아니라고 하셨습니다. 우리는 코드 예술가가 아니라 개발자고 개발자는 소비자들에게 상품을 공급하는 사람입니다. 정해진 기한 내에 상품을 만들어내는 것이 무엇보다도 중요하다고 할 수 있죠.
물론 상품의 질이 좋으면 좋을수록 좋겠지만 정해진 기한 내에 만들어내는 것이 그 무엇보다도 중요할 것입니다. 예를 들어, 어떤 게임을 특정 날짜에 출시하겠다고 약속했다가 코드를 최적화한다는 목적 하에 출시 날짜를 미루는 것은 기다리는 소비자를 실망시킬 것입니다.
생각한 기능을 빠르게 만들고 여러 번의 테스트 후에 버그가 생겼을 때, 대응하는 것이 최적화를 위해 키보드에 손도 대지 못하고 고민만 하는 것보다는 낫겟다라는 생각이 들었습니다.
다만, 어느 정도의 균형은 필요하다고 생각합니다. 팀원과 함께 작업하는데 나만 알아볼 수 있는 코드를 짠다거나 이후의 어떤 일이 발생했을 때, 너무 대응하기 힘들게 작업하는 것은 피해야합니다. 이 균형을 잡는 것이 정말 어려운 일인 것 같습니다. 그렇기 때문에 기한이 정해져 있는 팀 프로젝트 경험이 얼마나 귀중한지 또 깨닫게 됩니다.