소프트웨어 공학을 공부하면서 분석이라는 단어의 뜻을 한자로 찾아본 적이 있다. 나눌 '분' 쪼갤 '석'자다. 나누고 쪼개어서 내가 만들 시스템은 무엇으로 구성되고, 어떻게 동작하는지 점점 자세히 이해해 나가는 과정이 분석이라고 생각했다.
분석하는 능력은 겉으로 잘 드러나진 않지만 개발자의 모든 작업의 근간을 이룬다. 그래서 잘 해야한다. 이걸 누군가는 코드 레벨에서 잘하고, 누군가는 시스템 레벨에서 잘며, 누군가는 도메인 레벨에서 잘한다.
분석은 대상과 관련된 기술이나 경험이 많으면 많을 수록 쉽게 되어진다. 내가 이미 만들고 운영해 본 시스템은 위에서 내려다 보듯 구조를 정리하고 절차까지 어렵지 않게 작성할 수 있는 것이다. 그래서 모든 현장에서 경력자를 원하는 것 같다.
오늘은 처음 마주하는 대상을 분석하는 작업을 잠깐했다. 내가 잘 모르는 것이라 잘 아는 사람에게 물어 분석 작업을 하고 문서로 정리할 수 있었다. 모르는 것을 분석하려면 질문(검색)을 통해 답을 얻어내야 한다. 경력이 없어도 커뮤니케이션을 잘하면 충분히 좋은 분석을 해낼 수 있다.
잘 모르는 것을 분석해내는 이런 과정이 나는 흥미롭고 재미있다.