이번 글에서는 교내 동아리 홈페이지 개발에 약 1년 가량 참여하고 프로젝트를 운영한 경험을 바탕으로 최근에 든 생각을 정리해보려 합니다.

처음 동아리에 가입하자 마자 신입생들을 반겼던 동아리 리뉴얼 홈페이지. 그런데 동아리 가입 전 친구가 내게 보여줬던 이전의 홈페이지와는 외관이 많이 달랐다. 내가 봤던 홈페이지는 정말 정말 옛날에 만들어진 느낌의 UI를 가진 홈페이지였다.
리뉴얼된 홈페이지는 이전의 홈페이지보다 훨씬 나은 UI를 가지고 있었다.
신나서 자유게시판에 글을 올릴려고 열심히 글을 적고 선배님들이 직접 만들었다길래 신기해서 첨부파일도 올려보고 그랬다. 그리고 임시저장을 했는데,
임시 저장글이 사라졌다...?



이 버그는 참고로 아직도 수정되지 않았다. ㅎㅎ 아직 프론트의 문제인지, 백엔드의 문제인지 파악이 안된 것 같다.
이때만 해도 내가 유지보수를 하게 될 거라고는 생각도 못했다 😂
자바와 스프링 스터디에 참여하게 되면서, 어쩌다 보니 개발팀에 합류하여 홈페이지 백엔드 개발을 하게되었다. 스프링과 자바에 대해서 정말로 아무것도 몰랐지만, 잘 이끌어주시는 고수 선배님들이 계셨고 나도 오기가 생겨서 밤늦게까지 코딩하면서 뭐라도 해볼려고 노력했던 것 같다.
기술적 발전을 위해, 유지보수를 위해, 보다 완성도 있는 프로젝트를 만들기 위하여 프론트 팀과 백엔드 팀은 리뉴얼 V2를 하게 된다.
리뉴얼 V2에 대한 이야기가 글의 핵심이 아니여서, 다음 글의 주제로 잡고 자세히 이야기해보려 한다.
https://jojoldu.tistory.com/733
이동욱님이 최근에 쓰신 글인데, 읽고 많은 생각이 들어서 이 글을 쓰게 되었다.
동아리 홈페이지는, 동아리가 사라지지 않는 한 단발성 프로젝트로 끝나지 않는다. 어쨌든 동아리원이 되었다면 사용해야 하는, 있어야 할 홈페이지가 된다.

현재 우리 동아리가 그 증거인게 홈페이지가 2012년부터 운영되어 왔다.
스타트업도 마찬가지로, 단발성으로 끝낼 생각을 하고 시작하는 스타트업 팀은 없을 것이다.
무슨 말이 하고 싶냐면, 둘 다 계속 운영을 이어나갈 수 있게끔의 코드, 구조 설계는 해야 하며 인수인계가 원활하게 이루어져야 한다는 것이다. 그것이 실패한다면 서비스는 퇴보를 걷게 될 것이고 어쩌면 방치될 지 모른다.
실제로 2012년에 만들어졌던 초기 홈페이지는 오래된 디자인, 새로운 기능 추가 및 수정의 어려움, 초기 서버 구축자의 인수인계 부재로 인한 XE 취약점 패치의 어려움, PHP 언어에 대한 부담과 XE에 대한 이해도 부족으로 방치해둔 상태였다고 한다.
오로지 열정페이다. 하지만 이 열정페이로부터 오는 장점이 있긴 있는데,
단계별로, 조직이 가능한 역량으로, 문화, 시스템, 프로세스를 제로에서 만들어가는 경험을 얻을 수 있다.
하지만 추후 유지보수가 불가능하게 막 만들어져서는 안된다. 그러나 동아리 홈페이지는 대부분 학생들이 공부용, 경험용으로 만드는 경우가 많아서, 초기 설계가 잘 잡히기는 어렵다고 생각한다.
일단 배포를 하고, 개선과 고도화를 하는 게 맞다고 생각한다.
이 말은 절대로 대충 얼렁뚱땅 완성 후 고쳐야 한다는 말이 아니다. 정말 중요한 부분과, 눈 감아도 될 부분을 구분하여 기간 내에 배포는 하되, 중요한 부분들은 꼭 짚고 넘어가야 한다. (말이 쉽지 이게 제일 어렵다 사실)
"지금 만들고 있는 그 서비스 6개월 준비하고 3개월만에 접힐 수도 있다. 그러니 한달만에 출시해서 최대한 잦은 개선 주기를 가지는걸 추천한다" 의 이야기를 드리면 그 당시에는 공감을 못하시다가, 나중에 가서 꼭 공감해주셨다.

https://github.com/KEEPER31337/Homepage-Back-R2/pulls?q=is%3Apr+is%3Aclosed
다행히도 우리 팀은 리뉴얼 V2를 하고 있는 만큼, 코드리뷰라는 문화가 확고히 자리잡고 있다. 이 과정에서 앞서 말한 정말 중요한 부분들을 짚고 넘어갈 수 있다고 생각한다.
사실 이정도 수준으로 코드리뷰를 해볼 수 있는 것도 동아리 프로젝트이기에 가능한, 얻을 수 있는 경험이다.
우선 배포가 첫 목표이고, 좀 지겨울 수 있어도 만들었던 기능을 돌아보는 데 초점을 맞추고 유지보수에 집중할 것이다. 모든 기능이 원활하게 동작하고, 제법 안정적으로 서비스가 돌아간다 싶으면 그 다음 절차로 원하는 성능 개선, 고도화 작업 같은걸 마음껏 해보고 싶다. (그럼 둘 다 얻을 수 있지 않을까? ㅎㅎ)
그래도 리뉴얼 V1, V2를 거치면서 db 테이블도 그렇고 확실히 개발 여건이 좋아진 건 맞다. 이제 홈페이지를 자유롭게 커스텀 할 수 있고, 원하는 기능을 추가하기 쉬워졌다.

이전에 데이터베이스 마이그레이션을 담당하신 선배님의 피땀이 섞인 결과물...
약 1년간 프로젝트를 운영하고 보니, 이번 글에서 풀어낸 내용 말고도 정말 많은 걸 내가 깨달았다는 걸 알았다. 기능 구현에 집중하다 보니 그동안 이렇게 프로젝트를 되돌아보는 회고 시간을 가지지 못한 것 같다. 좀 더 프로젝트가 정리되면 글도 많이 써야지 😄