더 커리어가 깊어지면 어떤 결과에 도달할 지 모르겠지만, 지금은 훌륭한 엔지니어링이란 결국 변화하는 비즈니스 환경에 맞추어서 유연하게 대응할 수 있는 엔지니어링이라고 생각한다. 그래서 나는 스스로를 비즈니스를 만들어나가는 엔지니어라고 부르고 싶지만, 아쉽게도 비즈니스 지식이 뛰어난 것은 아니라 그저 어떤 일이 비즈니스에 더 중요한가를 고민하고 우선순위를 정하는 수준에 머물러 있다.
종종 어떤 엔지니어들은 “어떤 문제를 해결하기 위해서는 어떤 기술을 사용해야만 해” 또는 “이 기술을 사용하면 우리가 가진 문제가 해결될거야” 같은 추상적인 결론에 도달하기도 하는데 실질적으로 그렇지 않을 확률이 더 높다. 오히려 문제가 무엇인 지를 명확하게 하고 적절한 수준의 기술을 사용하는 것이 더 도움이 될 때가 많기도 하다. 이미 잘 굴러가고 있는 바퀴를 재발명해야할 때는, 기존 바퀴보다 더 잘 굴러갈 수 있다는 확신을 줄 수 있어야 한다 (모두와 합의가 필요하다).
간혹 아키텍처에 대한 의사 결정을 내려야할 때, 마음 한 켠에 늘 ‘이 방법이 가장 나은 방법인가’ 라는 생각을 한다. 하지만 기술 아키텍처란 결국 그런 것이다, 지금은 정답이었던 게 미래엔 아닐 수도 있다. 지금 정답이라고 생각했던 게, 막상 시작하고 나니 아닐 수도 있다.
언젠가 훌륭한 엔지니어링이라는 말에 대해 과하게 집착했던 때가 있다. 이렇게하면 더 낫겠지, 이런 기술을 쓰면 더 낫겠지. 라고 생각하며 스스로를 몰아넣었다. 하지만 이제 훌륭한 엔지니어링에 대한 생각은 좀 다르다. 결국 우리는 비즈니스를 만들어나가는 사람들이고, 비즈니스가 더 나은 방향으로 갈 수 있게 도움을 주는 사람들이다.
비즈니스가 잘 돌아가도록 만들고, 엔지니어들도 만족하게 만드는 것. 그것이 훌륭한 엔지니어링이라고 스스로 생각한다.