올해 여름, 웹에 제대로 뛰어들기로 마음먹고 호기로운 마음으로 학교에서 팀을 이루어 첫 프로젝트를 시작했다. 내가 가지고 있던 지식은 기본적인 HTML, CSS, JS에 대한 것들과 학교에서 배운 약간의 전공 지식 뿐이었지만, 만들면서 배우면 된다는 생각으로 '일단 해 보자!'라는 생각을 가지고 임했다. 하지만 내 생각대로 프로젝트는 순탄하게 흘러가지 않았다. 일단 팀장을 확실하게 정하지 않았고 팀원 간 역할 구분이 뚜렷하게 이루어지지 않았다. 한 팀원이 짠 코드를 다른 팀원이 갑자기 이어서 완성하는 일이 잦았고, 완성했다고 생각한 코드를 기획이 바뀌어 수정해야 하는 일도 빈번하게 발생했다. 또한 작성한 코드도 다른 사람과의 협업은 크게 고려하지 않고 작성되었으며 따라서 프로젝트 진행 전체에서의 생산성도 낮았다. 확실하게 문서화하여 정리된 기획이 없다 보니 팀원마다 생각하는 서비스의 모습이 달라 잘못된 코드를 작성하였다가 나중에 수정하는 등 비효율적인 상황이 아주 자주 발생하였다.
마감 일정이 다가올수록 마감 기한에 쫓기다 보니 좋은 코드를 짜자는 처음의 다짐이 점차 희미해졌고 결국 아쉬움이 많이 남게 되었다. 그래서 이번 프로젝트를 할 때는 내가 느낀 점들과 프로젝트 진행 과정을 최대한 기록해 놓자고 생각했다. 프로젝트를 생각하며 최대한 내가 짠 코드가 좋은 코드인가? 왜 이렇게 해야 하는가에 대한 고민을 최대한 많이 하고, 전 프로젝트에서 생각한 보완점들을 고려하여 작업을 할 수 있도록 노력할 것이다.
이번 프로젝트를 하면서 내가 가장 중요하게 여겨야 하는 원칙은 깊은 생각을 통해 코드를 짜는 것이다. 코드 한 줄을 적을 때에도 '작동만 하면 된다'는 마인드가 아니라, 어떻게 하면 좀더 잘 읽히도록 깔끔하게 코드를 짜고, 방대한 주석 없이도 내 의도를 코드 속에 녹여낼 수 있을까에 대한 고민을 담으면서 생각을 거듭하는 개발자가 되는 것이 나의 목표이다.
다음 글에서는 어떠한 페이지로 사이트가 구성될 지 조금 더 구체적으로 세부 사항을 정리해 볼 예정이다.