팀 프로젝트

개요

웹 환경 기반의 4인으로 이루어진 팀 프로젝트를 시작한다. 3가지 정도의 아이디어를 가지고있는데 이 아이디어들을 좀 더 세밀하게 분석하고 구체화 해보려 한다. 모든 부분을 다 챙기면서 완벽한 프로젝트를 하면 물론 좋다. 하지만 그러기엔 현실적으로 쉽지 않다. 필자는 본 포스팅에서 3가지 아이디어를 3가지 요소들의 비중에 의거하여 소개해보려 한다.

지난 프로젝트들에 대한 회고

필자가 진행해본 프로젝트는 3가지 정도이다.

  • java Swing 이용한 손님 데이터 저장 데스크탑 어플리케이션 (혼자 진행한 토이 프로젝트)

java Swing과 DB호스팅을 이용하여 회원가입/로그인을 구현하고 기입된 정보들을 분류, 탐색 할 수 있는 간단한 데스크탑 어플리케이션을 제작하였다.

  • 자전거 후방 표시등 및 감지 유닛, 맞춤 앱 제작 (4인 팀 프로젝트)

4인으로 진행해 본 첫 프로젝트였다. 하드웨어와 소프트웨어를 모두 다루는 프로젝트인 만큼 3팀으로 나뉘어(하드웨어, 하드웨어의 소프트웨어, 앱 제작) 프로젝트를 진행하였고 필자는 앱 제작을 맡았다. 아두이노로 제작한 하드웨어 기기와 제작한 앱을 블루투스로 연동시켜 자전거 후방에 LED를 조작해 방향지시등을 만들고 RADAR센서를 탑제하여 후방 20m 내의 물체에 대해서도 감지 할 수 있게끔 설계하였다.

  • 머신러닝을 이용한 손글씨 만들기 (혼자 진행한 토이 프로젝트)

머신러닝의 신경망 중 하나인 GAN(생성적 적대 신경망)과 MNIST라는 데이터셋을 이용하여 50,000가지의 손글씨를 학습시키고 그 글씨를 행렬을 이용해 그래프 상의 산포표현으로 학습한 글씨체의 글씨를 생성하는 프로젝트를 진행하였다.

이 외에도 몇 가지 있기는 하지만 끝까지 마쳤고, 구색을 어느정도 갖춘것을 3가지 정도로 꼽아봤다. 첫번째 프로젝트를 통해서 라이브러리의 개념과 사용을 익혔고, 두번째 프로젝트를 통해서 분업과 협업, 그리고 하드웨어와 그에 맞는 소프트웨어의 관계에 대해서 익혔다. 그리고 세번째 프로젝트에선 최근 이 업계의 대세라고 할 수 있는 Python과 머신러닝을 다뤄보면서 어느정도의 개념을 학습 할 수 있었다.

공통적으로 느꼈던 것은 첫번째, 대부분이 혼자 진행했던 프로젝트인 이유인지는 몰라도, 좀 더 깊이 있는 프로젝트가 되지 못했다는 점이다. 깊이라 함은 기술스택에 대한 깊이도 있겠지만 무엇보다도 현업과 관련이 깊은 Github를 잘 이용하지 못한것이 아쉽다. Github를 잘 활용했다면 버전관리, 문서화는 당연하고 협업을 할 당시에 팀원간을 이어주는 최고의 매개체가 되어주었을텐데 그것을 활용하지 못한것이 아쉬웠다.

두번째, 서비스화가 되지 못했다. 특히 아쉬웠던 부분이 두번째 프로젝트였던 자전거 후방 표시등 및 감지 유닛인데, 초창기에 아이디어를 확립할때 우리팀이 이 아이디어를 채택했던 이유 중 하나는 단순 프로젝트에서만 그치지 않고 자전거 이용자들에게 실제로 서비스 할 수 있는 제품으로써의 가치를 높게 평가 했던게 주된 이유 중 하나였는데 구색은 갖췄지만 베터리 문제, 크기의 문제 등 '자전거'와는 끔찍할 정도의 단점들의 문제들 때문에 마무리 할 수 밖에 없었다.

세번째 오픈 api, 공공 데이터 등 생각보다 웹 상에선 우리가 이용 할 수 있는 요소가 많았음에도 불구하고 이를 이용하지 못한게 아쉬웠다. 이와 같은 생각은 두번째 프로젝트에서 느꼈던 서비스화의 어려움과 세번째 프로젝트에서 느꼈던 데이터의 중요성을 거치면서 확립되었다. 특히 오픈 api에 대해서 관심이 많이 생겼는데 던전앤파이터 라는 인기게임의 유저들이 자주 이용한다는 이 사이트를 본 후 오픈 api를 이용하면 일단 그 기능 자체는 보증이 되어있기 때문에 외관이 어떻든 많은 유저들을 끌어 모을 수 있다는것을 알았다.[링크] 그리고 우리가 이용 할 수 있는 api들이 생각보다 구체적으로 잘 정리가 되어있다는 것도 알았다.[링크]

어떻게보면 지난 프로젝트들은 프로젝트라는 거창한 이름이 약간은 부담스러울 정도로 문제점이 있던게 사실이다. 매사에 병적으로 긍정적인 필자는 차라리 다행이라고 생각한다. 어차피 문서화도 제대로 못했고 앞으로 할 프로젝트가 취업을 결정지으리라고 생각하고 있으니까. 앞으로 해야할 팀 프로젝트는 위에서 생각했던 모든 문제들을 보완하여 진행하려고 한다.

3가지의 아이디어

이제 본격적으로 필자가 생각해본 아이디어를 열거해보려 한다. 실제로 서비스가 될 수 있는지에 중점을 두었고 오픈 api에 대해선 아직 막연하게 '사용해봐야겠다.'라는 생각만 가지고 자료를 둘러보는중이라 아직 아이디어화 까진 하지 못했다. 물론 다른 팀원이 낸 아이디어가 선정될 수도 있어 3가지 모두 사용하지 않을 수도 있다. 토이프로젝트로라도 꼭 만들 것이다.

  • 다운로드 플랫폼

https://kr.uptodown.com/windows 라는 사이트를 보면서 생각해낸 아이디어다. 현재 이러한 플랫폼은 naver software가 한국에선 대표적인데 다운을 받는다는 개념은 같지만 좀 더 사용자 지향적으로 만드는것은 어떨까 라는 생각을 해보았다. 웹서비스의 일방적인 정보의 제공뿐만 아니라 사용자가 직접 자료를 올리면서 본인의 설정같은 세세한 부분도 다른 사용자와 공유할 수 있다는 점에 집중해서 만들면 보다 동적인 웹 사이트가 되지 않을까라는 생각을 해보았다.

  • 일회용 메일 생성 사이트

아직 우리나라는 회원가입을 할 때 여러가지 개인정보들을 잔뜩 기입해야하지만 대부분의 외국사이트는 메일인증 하나만 통과되면 회원가입이 승인된다. 근데 대부분이 사용하는 NAVER 메일 같은경우 DISCORD와 같은 외국 서비스의 메일인증이 가끔 먹통이 될 떄가 있다. 해결방법을 찾아보니 '그냥 속 편하게 GMAIL을 쓰세요'가 답변일 정도로 구체적인 해결방법이 없는 실정이다. 그리고 Discord와 같은 규모있고 검증된 서비스는 걱정없이 회원가입을 할 만 하지만 중소 규모의 해외사이트는 아무래도 내 실사용 메일주소를 기입하는것이 꺼림칙 할 때가 있더라 그래서 생각해 낸 것이 일회용 메일 웹 서비스인데 이미 있긴하다.[링크] 그래서 만약에 이 아이디어가 채택된다면 메일 서버의 구축, db구조, 수익구조 등 내부설계에 초점을 맞춰야 할 것 같다.

  • 커스텀 무늬 티셔츠 제작 사이트

최근 나오는 브랜드가 아닌 티셔츠나 맨투맨의 특징은 앞면에 그림이나 문구가 기입되어있다. 간단한 디자인 툴을 제공해서 사용자가 직접 웹 상에서 디자인을 한 후 그것을 받아 볼 수 있게끔하고 한 벌도 가능하게 한다면 나름 괜찮은 서비스가 되지않을까 라는 생각을 해보았다.

마치며

이런 프로젝트를 구성할때마다 느끼는 점은 프로젝트의 초점을 창의적인 아이디어를 기반한 서비스에 목적을 두어야하나 아니면 포트폴리오의 역할을 할 요소만을 갖추고 그 요소들의 알고리즘에 집중해서 내실을 튼튼히 해야되나가 항상 고민된다. 전자의 경우 웹개발자 신입을 평가할 때의 단골 요소인 CRUD 기반의 게시판 기능의 비중이 적거나 없고, 후자의 경우 기계적으로 찍어낸 포트폴리오와 같은 느낌을 줄 수 있다는 생각을 해서 저 두 가지는 항상 고민되고 아이디어를 확정할 때 까지 계속 고민 할 것이다. 어떤 아이디어가 채택되던간에 이번에는 정말 프로젝트다운 프로젝트를 해보고 싶다. 일정, 팀원들의 수준, 역할 분배 등 닥쳐야 하는 경향이 있는 필자 입장에선 필자를 압박하는 상황이 많이 만들어졌으면 좋겠다.