문자는 실제 대상을 가리키는 상징이다. (클린아키텍처와 오브젝트를 읽으며)

플랙트·2021년 5월 2일
1

최근 오브젝트와 클린아키텍처를 시간이 날 때마다 조금씩 읽고 있다. 신기한 점은 1년 전에 해당 책을 접했을때와 느낌이 전혀 다르다는 점이다. 1년 전의 나는 이제 막 회사에서 사용하는 프레임워크를 익히고 있는 신입 모바일 개발자였다. 마음의 여유가 없어 책의 내용을 정독하기 힘들었을 뿐만 아니라 책의 나오는 코드를 읽고 따라가기가 버거웠다.

하지만 약 1년정도 3~4개의 프로젝트를 접하고, 2번의 메이저 업데이트와 3번째 메이저 업데이트를 준비하고 있으며, 신입 개발자에게 인수인계를 하고 있는 지금은 느낌이 완전히 다르다. 책에 있는 코드를 어떻게 따라가야 하는지에 대한 느낌이 어느정도 생겼고, 책에서 나오는 코드에 대한 문제점을 이미 어느정도 경험해보며 어쩔 수 없는 야근을 했기 때문인지, 책에서 제시한 코드를 보고 설명을 보면, "아, 맞아! 이런 문제점이 있었지" 라고 하며 경험을 떠올리고 공감을 할 수 있게 되었다.

만약 내가 현업 경험을 하지 못한 채로, 계속 해당 책을 열심히 봤다면 어떨까? 투입하는 시간에 비해 책에서 얻어갈 수 있는 것이 많지 않았을 것이다. 책은 문자로 지식을 기록해 놓았으며, 문자는 어떤 상징에 불과하다. 만약 내가 책을 읽는데, 해당 문자의 나열이 나타내는 상징을 한 번도 경험해 본적이 없다면 어떨까? 해당 상징을 이해하기가 매우 어려움은 명백할 것이다.

이렇게 단순히 책을 읽는 "간접 경험"으로만 만족할 것이 아니라, 실제 책에서 나타내는 표상이 현존하는 것이라면, 내가 직접 그 현장으로 뛰어들어가 직접 경험하고 느낄때, 내가 읽고 공부한 것들이 의미를 가지게 된다고 생각한다.

그래서 내가 프로그래머로서 가장 중요하게 생각하는 덕목 중 하나는 코드를 작성하고, 아이디어를 구상하는 일련의 제품 설계 및 개발 과정을 많이 경험해 봐야 한다는 것이다. 그러기 위해서 사이드 프로젝트를 통해 다양한 기술을 접하고, 코드를 이리저리 변경해 보면서 더 좋은 구조를 찾는것이 중요하다고 생각한다.

profile
유용한 서비스에 관심이 많은 flutter 개발자입니다.

0개의 댓글