MCMS(Media Content Management System)는 솔루션 사업이기 때문에 이전 프로젝트와 비슷한 프로젝트를 맡게 되었습니다. MCMS는 디지털 아카이브 사용자 웹 페이지이며, 이전 프로젝트에 비해 새로운 기능들이 많이 추가되었습니다. 모달, 컬렉션, 포탈 다운로드 기능 등 다양한 기능들을 직접 만들어 볼 수 있었던 좋은 기회였던 것 같네요😀
개요
사실 상 새롭게 추가된 기능들을 제외하고는 이전 프로젝트와 동일한 기능들이 많았습니다. 기업의 시청각 자료들을 관리하고 임직원 분들이 사용하는 웹 사이트이기 때문에, 여러 유형별 파일들에 대한 기능이나 사용자가 헷갈릴 만한 부분들을 최대한 고려하여 개발을 진행하였습니다.
두 번째 프로젝트를 진행하면서 사진, 영상, PDF 관련 파일들을 추출하고 또 다운로드할 수 있게 하는 기능들, 큰 이미지로 확대하거나 새로운 팝업을 띄워 보여주는 형식의 기능들은 이전에 경험을 해봐서 큰 어려움을 못 느꼈지만, 앞서 말씀드린 컬렉션과 모달 부분에서 헤맸던 기억이 나네요
컬렉션은 말 그대로 사용자가 여러 유형들의 아이템들을 한 곳에 모아 관리할 수 있는 카테고리입니다. 데이터를 jsp에 바인딩시키는 작업은 쉬웠지만, 각 섹션별로 대화 상자나 파일들을 가져와야 하기 때문에 Service단과 Query 부분에서 어려움을 느꼈습니다. (다행히 시간 안에 완료했습니다..^^)
모달 부분에서는 ajax 기법을 사용해서 진행하였는데, 선택할 수 있는 카테고리가 정말 많았고 선택/비선택에 따라 다양한 이벤트들을 구성해야 하는 로직들이 많았습니다. 또한, 선택 값들을 검색 이후에도 남겨야 했는데 같은 jsp 화면에서는 리 바인딩시키기 쉬웠지만 모달 부분의 값들을 남기기가 생각보다 복잡했었습니다. 이 부분도 다행히! 잘 마무리했네요
팀 분리😥
프로젝트 직전에 사내에 개발자가 많아지면서 팀을 분리하게 되었어요. 그리고 그 팀 안에서도 사수와 부사수로 나뉘었습니다. MCMS 프로젝트 같은 경우에는 기존 솔루션 사업이기 때문에, 관리자 웹사이트는 이미 다른 팀에서 구현이 되어 있는 상태고(업체에 따라 커스터마이징), 사용자 웹페이지는 제가 전담으로 맡아서 진행하게 되었어요.
저희 회사는 매일 아침에 회의를 진행하면서 각각의 프로젝트의 방향성과 관련 종사자들끼리 대화를 자주 나누었는데, 팀이 분리되면서 회사 내 자리까지 재배치되어 자연스럽게 나눴던 대화들도 조금씩은 줄어든 것 같네요😂
또, 팀이 분리되면서 프로젝트를 진행할 때 각 팀끼리의 요구 사항이나, 기한 같이 중요한 부분들에서 의견 충돌이 자주 일어나 불편했던 적이 왕왕 있던 것 같아요. 아직 초기 단계니깐 그렇겠죠?
배운 점📝
이번 MCMS 프로젝트에서 배운점은 크게 세 가지로 나뉘는 것 같아요.
첫째로, 인수인계 부분이에요. MCMS는 솔루션 사업이기에 기존 소스를 많이 참고하고 만들어요. 그렇기에 제가 이전에 만든 프로젝트를 다른 분들이 가져다 사용하는 걸 보면서 많은 책임감을 느끼곤 했었어요. 그래서 이번 프로젝트에서 코드를 작성할 때 이전보다 많은 생각을 하면서 진행한 것 같아요. 간단한 naming이어도 직관적으로 이해할 수 있게 작성하려고 노력했고, 잘 쓰지 않는 기술들을 사용해야 할 때는 주석 처리를 통해 결과값을 미리 알려주는 등의 노력을 했어요.
그리고 어떻게 보면 당연한거지만 그동안 그렇게 못했었던 불필요한 코드 제거하기! 도 최대한 실천했습니다😃 앞으로도 더욱 더 다음 인계자를 위해 직관적인 코드를 만들어야 할 것 같아요 :)
두 번째로, jsp에 대한 이해력이 조금은!? 넓어진 것 같아요. 최신 글인지를 판단하기 위해 사용했던 jstl/function, 모달과 페이지간의 이벤트 처리, ajax 등 더욱더 친숙해질 수 있는 시간이 된 것 같아요. 사실 입사 초기부터 vue.js를 써서 jsp를 쓰는 내내 불편하고 헷갈렸지만, 그래도 하루 안에 다시 잘 적응해서 무리 없이 프로젝트를 완료했어요.
세 번째로, 짱구(?)를 굴리는 법이에요. 모든 개발 과정은 다양한 상황을 예측해야 하는데, 이제 1년을 다 채워가서 그런지, 이미 한번 해봤던 프로젝트여서 그런지는 잘 모르겠지만, Business Logic을 포함한 중요 코드를 작성할 때 연관되어 문제를 일으킬만한 관계들에 대한 생각까지 깊게 하곤 했어요.
이전에는 어떤 로직이 구성할 때 무지성 구글링을 통해 그 기능만 해결하는 작업을 했었더라면, 이제는 조금 더 넓은 시선으로 문제를 파악하기 시작했어요. 이번 프로젝트를 진행하면서 '아 이건 크게 문제 되니깐 다른 방법을 고려하자'라는 생각을 2번 했었는데, 결국엔 그 생각이 맞았고 그만큼 시간을 절약했다는 생각에 뿌듯하기도 하네요😁
다음 프로젝트에서는 조금 더 넓은 시선을 가지고 바라봐야겠다는 다짐을 했어요!
아쉬웠던 점📝
첫 번째로 아쉬웠던 점은 커뮤니케이션의 부족이었던 것 같아요. 다른 팀으로부터 스토리 보드와 디자인을 받아서 작업을 진행했는데, 애매하고 사소한 부분이 있을 때는 '아 보통 이런 기능은 이렇게 처리하니깐 이렇게 해야겠다'라는 생각을 가지고 작업을 진행했어요. 하지만, 제 예상과는 다른 로직이었고 수정해야 할 기능들이 있었습니다.
제가 혼자 전담한 프로젝트였기에 코드를 다 알고 있어서 수정하는 과정은 어렵지 않았지만, '만약 큰 기업에서 수십 명이 함께했던 프로젝트였다면?'이라는 생각과 더불어 잘못된 습관을 가지고 있는 걸 깨달았습니다. 아무리 사소한 로직이라도 애매모호할 땐 꼭 대화를 나누어 방향성을 잡아야겠다는 다짐을 하게 되었네요!
두 번째로 아쉬웠던 점은 코드의 복잡함이었습니다. 물론 이전 프로젝트에 비해 최대한 재사용성을 고려하며 만들었고, 다음 인계자를 위해 주석처리도 열심히 하고 Naming도 정말 고민하면서 개발해왔지만 프로젝트가 끝나고 다시 보니 복잡한 건 매한가지였어요.
가장 크게 느꼈던 것이 DTO 부분이었는데, 한 DTO에 몰빵(?)하는 성향이 있어서 다음 프로젝트부터는 가능한 중복되지 않는 DTO를 만들어서 헷갈리지 않도록 구현해야겠다는 생각을 하게 되었습니다 :)
👨💻 전자책 출간
아울러 제가 🌟비전공자에서 2년만에 보안 전문 중견기업으로 이직 한 방법들을 정리한 전자책을 출간 하게 되었습니다. 어떤 걸 공부해야 하는지, 이직을 위해서 무엇을 준비해야 하는지, 제가 받았던 기술 면접 리스트 등 다양한 목차로 구성되어 있습니다. 또한, 구매 시 1:1 채팅을 이용하여 포트폴리오 첨삭을 도와드리고 있습니다. 🐕전자책으로 얻은 모든 수익은 유기견 센터 '팅*벨 입양센터'에 후원될 예정입니다. 관심 있으신 분들은 아래 링크를 참고해주세요😁
마치며
사실 이번 프로젝트를 진행하면서 사수의 무관심한 태도를 보며 어떤 선배가 좋은 선배일까에 대한 고민도 많이 하게 되었어요. 그래서 고민만 하지 말고, 새로 들어온 신입 개발자 분과 프로젝트를 맡아서 신입분을 이끌며 프로젝트를 진행하고 싶다는 욕심이 생겼습니다.(저도 10개월 차 병아리지만요..) 팀장님께 말씀드리니 그렇게 진행해도 좋지만 PL(Project Leader)은 한 분 배정해주신다고 하셨고, 다음 프로젝트는 그렇게 셋이서 진행할 것 같네요!
아직 많이 부족하지만 누군가를 이끌면서 진행할 기회가 생겼다는 것에 많이 감사하고 설레기도 하네요. 조만간 좋은 후기 가져와서 포스팅할게요🙌
'Project > Team' 카테고리의 다른 글
Smart Encoder 프로젝트 후기 (1) | 2023.04.18 |
---|---|
MCMS-YJCF 프로젝트 후기 (0) | 2022.11.23 |
MCMS-YGPA 프로젝트 후기 (0) | 2022.07.11 |
신입 개발자 동시 접속자 2만 명 프로젝트 경험 (0) | 2022.04.27 |