우아한테크코스 레벨 4 생활기 - 최종 데모데이까지

이재민·2024년 10월 29일

우아한테크코스

목록 보기
13/13

2024년 우테코에서 대장정이 레벨 4를 끝으로 거의 마무리가 되었다. 공식적은 교육은 레벨 4가 끝이다.

레벨 4에서는 프로젝트와 동시에 레벨 1, 2처럼 미션도 진행했기 때문에 레벨 3에서보다 바쁘게 보냈던 것 같다.

지금까지 데모데이 별로 회고를 작성했는데 할게 많다보니 생각보다 쉽지 않았던 것 같다. 그래도 원서까지 지원했던 크루에 비해서는 여유가 있었지만...

5차 데모데이까지

첫 한 주동안에는 프론트앤드 성능 개선을 위한 개인 미션을 진행했다. 또한 레벨 4에서 모우다 팀을 앞으로 어떤 방향으로 나아갈지를 주로 이야기 했다. 레벨 3와는 다르게 레벨 4에서는 미션도 있고 본격적으로 기업 원서 접수를 하는 크루도 있었다. 레벨 4에서는 프로젝트 참여도가 이전과는 같지 않을 것이라고 생각했다. 또한 레벨 3에서 받은 피드백을 바탕으로 어떤 방향으로 서비스를 발전시킬지 서로가 합의를 하는 시간이 필요했다. 서로 레벨 4에서는 어떤 계획을 가지고 있는지, 모우다 서비스를 어떻게 생각하는지 공유했다. 우리 팀은 전체적으로 아직은 프로젝트에 집중하고 싶다는 의견이 많이 나왔다. 그래서 우리 팀의 우선 순위를 프로젝트, 미션, 원서 순으로 두고 진행하고자 했다.

프로젝트 진행에 앞서 레벨 3 런칭데이에서 받았던 피드백을 살펴보았다.

개선이 필요한 것

  • 처음 들어갔을 때 안내 페이지가 있으면 좋겠음.
  • 치코 소개팅 빨리 시켜주세요.
  • 방장 이외에도 채팅방의 + 버튼에서 할 일이 있었으면 좋겠다.
    • 상돌 의견: 투표 기능 등.. 있으면 좋긴 하겠다.
  • 답글 기능 UX 개선
    • 상돌 의견: 브리 / 크론이 시연했을 때 댓글 답글에 대해서 언급한 적이 있음. 답글이면 바로 아래에 작성할 수 있게 해주면 좋겠다.
  • 약속 정했을 때 달력이 보였으면 좋겠어요.
    • 테바 의견: 치코 해줘!
  • 프로필 사진 / 프로필 기능 확대
  • 알림이 없을 때 문구 표시해주세요.
    • 상돌 의견: 알림센터에서 아무것도 없을 때 “알림이 없어요” 와 같은 문구가 있으면 될 듯!
  • 채팅기능에서 사진이 있으면 좋겠어요. - 호기 여친 -
  • 채팅방에서 입력창이 너무 밑에 있어요.
  • 해주세요 기능에서 글자수를 모르겠어요.
  • 카테고리, 검색 기능이 필요해요
  • 중요: 모임을 만들 때 이전 날짜를 지정하면 그 창은 넘어가지고 마지막에 생성 버튼을 눌렀을 때 안됨
    • 날짜 지정 페이지에서 이전 날짜이면 넘어가지 못하게 해야함!
  • 모임의 최소 인원이 정해지면 좋겠어요
  • 참여를 안했는데 참여 취소가 왜 나오나욤?
  • 인원만 선택하는 등 빠르게 만들기 기능이 있으면 좋겠어요.
  • 유저 닉네임을 변경하고 싶어요.
  • 방장의 강퇴 기능이 있으면 좋겠어요
  • 방장이 아니어도 다락방에 누가 있는지 볼 수 있으면 좋겠어요.
  • 모임장만 초대코드를 공유하는 것이 별로. 쫓아내는 기능도 필요해요
  • 중요: 모임을 생성하고 뒤로가기 버튼을 누르면 만들기 페이지로 이동함

런칭 데이에 참여한 크루들 덕분에 다양한 피드백을 받을 수 있었다. 하지만 여기에 있는 모든 피드백을 수용할 수도, 할 필요도 없다고 생각했다. 당장 필요한 개선 사항부터 적용하기 위해 각 피드백을 3개의 우선순위를 두어 분류했다.

모우다에서 가장 개선이 시급하다고 생각하는 우선사항들은 다음과 같다.

안내 페이지 (온보딩,랜딩) → 디자인 / 어떻게?

글자 수 제한 등 유효성 검사

모임 생성 후 뒤로가기 시 만들기 페이지로 이동하는 문제

초대 코드로 들어간후 뒤로가기 누르면 에러

카톡 인앱 브라우저에서 사용 못함

새로고침

당장의 사용성에 저해가 되는 부분들을 중점적으로 선정하고 담당자를 정했다. 나는 글자 수 제한 등 유효성 검사와 새로고침을 구현했다.

그렇게 한 주가 마무리 되고 나는 예비군으로 떠났다. 아쉽게도 휴학생인 나는 가차없이 동원예비군을 진행했다.

훈련을 갔다온 후, 바로 추석연휴가 시작되었다. 레벨 4 시작한지 얼마 되지도 않았는데 훈련도 있고 쉬는 날도 있었고 레벨 4 초반에는 한 것도 별로 없는데 벌써 달의 절반이 지나갔다.

추석 연휴가 끝이나고 마음의 정리가 제대로 되지 않음을 느꼈다. 레벨 4가 시작되고 계속 프로젝트에 집중하지 못했다.

쉬는 날이 많아서 집중하지 못하는 것이라고 생각했다.

스스로 목표를 정하지 못해서 생긴 문제였다. 다른 크루들은 이제 원서도 쓰고 취업 준비하는 것을 보고 불안해하며 마음을 잡지 못했던 것 같다. 말은 프로젝트에 집중한다고 했지만 실제로 준비하는 크루들을 보니 흔들렸던 것 같다.

그래서 정확히 레벨4에서는 프로젝트에 집중하고 남은 시간에 미션을 진행하자고 정했다. 이력서의 경우는 레벨 5부터 작성하고 마음 먹었다. 생각을 정리하니 나의 것에 집중할 수 있었다.

팀적으로 추석이 끝나고 모우다 서비스를 어떻게 진행해야 할지 추가적으로 회의를 거쳤다. 커뮤니티 사이트는 지속적인 사용자가 있어야 서비스가 유지되었다. 존재한다고 의미있는 서비스가 아니였기 때문에 많은 고민을 했다. 이대로 우리 서비스 도메인을 유지할지, 아니면 다시 회의를 통해 새로운 도메인을 찾을지 회의를 했다.

먼저 현재 모우다 서비스의 문제점을 찾는 것부터 시작했다. 현재 모우다 서비스는 초기에 기획했던 '슬랙에 비해 모임을 만들기 편한 환경'을 만족했는지 평가했다. 슬랙이 업무용 메신저이므로 보통은 모임글을 올리기 어렵다고 생각했고 이에 분리된 환경만 갖추면 이용자가 있을 것이라고 생각했다. 하지만 기존에 익숙했던 환경을 버리고 새로운 서비스를 이용하는 것이 사용자에게는 부담이었고 이를 감안하면서까지 우리 서비스를 사용할 이유가 부족했다는 판단이 나왔다. 기존의 도메인을 유지한채 어떻게 하면 유입자를 만들 수 있을지 고민하는 방향으로 의견이 모여졌다.

일단 5차 데모데이가 앞으로 다가왔기 때문에 개인 미션에서 수행했던 성능 개선을 프로젝트에 적용하는 시간을 가졌다.

데모데이에서는 코치분들에게 지금까지 피드백으로 받았던 변경사항을 설명했다.

FE에서 칭찬 받았던 부분인 모바일 퍼스트팀이기 때문에 시연을 모바일로 진행했던 점, 요구사항이었던 운영체제와 브라우저 지원 범위를 구체적으로 확인한 흔적과 그에 대한 대응의 흔적을 잘 확인할 수 있다고 하셨다. 또한 성능 개선도 기존 대비 몇 %가 개선되었는지 가시적으로 확인할 수 있었다고 해서 다행히였다.

그렇게 데모데이를 마치고 앞으로 남은 한달간 달릴 준비를 했다.

최종 데모데이까지

우리가 목표로 삼을 몇가지 포인트를 정했다.

첫 번째, 사용자 유입을 도울 미끼 기능을 넣기. 이를 위해 룰렛 기능을 넣기로 했다. 크루들끼지 커피쏘기같은 내기를 할 때가 있다. 이때 가위바위보로 진행하는데 이를 룰렛 형태의 서비스로 제공하면 미니 모임의 형태로 제공하고 직접적으로 사용자에게 자극을 줄 수 있을 것로 예상되었다.

두 번째, 모임을 만들기 이상이 없게하기. 현재 모우다에서 모임을 만들 수 있지만 실제 모임을 매끄럽게 만들기에는 아직 부족한 부분이 있었다. 이를 보안하기 위해 채팅 기능을 강화하고자 했다. 현재 채팅은 채팅을 할 수 있다 수준이었다. 그래서 채팅을 유용하게 이용하기위해 현재 날짜가 표시되게 만들고 채팅방에서 참여자와 모임 상태를 확인할 수 있도록 개선하고자했다.

세 번째, 실사용자인 것을 어필하기. 닉네임에 생성에 제한이 없는 현재로는 아직 장난식으로 닉네임을 지어 사용자 식별이 어렵다는 문제가 있었다. 모임에 참여하고 생성함에 있어 누가 있는지도 중요한 요소이기 때문에 적어도 실명이 공개되어 있다는 제약을 걸고 싶었다. 또한 개인 식별을 위한 프로필 설정 기능 필요했다. 이를 위해 기존 카카오 로그인은 실명을 받을 수 없는 문제가 있었다. 이를 개선하기 위해 애플, 구글로그인으로 변경하기로 결정했다.

내가 맡은 역할은 마이페이지를 고도화한 프로필 기능과 oauth로그인 기능이었다.

기존 카카오 로그인은 oauth 2.0으로 구현하였는데, 구글과 애플 로그인 또한 이와는 다르지 않는 것 같아서 어렵지 않았다.

그랬어야 했다...

구글 로그인의 경우 oauth 2.0으로 구현할 수 있었고 그렇게 구현을 했는데 프론트에는 문제없이 code값을 받아 서버에 보냈고 서버에서 구글간의 통신을 통해 access_token을 발급 받을 수 있어야했지만 구글은 계속 invalid_Grant 에러를 주었다. 에러 메세지라도 명확했더라면 쉽게 찾을 지도 모르겠지만 2일을 허비했음에도 끝내 왜 서버에서 구글에게 code를 검증할 때 에러가 발생하는지 찾지 못했다.

다른 방법이 필요했다. 구글에서는 oauth 2.0을 직접 구현하는 방식이 아닌 구글 id token값을 이용하는 방식으로 수정했다. 이 방법은 간단하게 구글 로그인을 구현할 수 있지만 구글 로그인을 내가 렌더링하는 것이 아닌 구글에서 지정한 형태로 렌더링되는 문제가 있었다. 이 때문에 구글 로그인 버튼 로그인 크기가 정해져 있어 다른 로그인 UI를 해당 형태와 맞춰야 했다.

다음 애플 로그인이 문제였다. 애플 로그인인 카카오 로그인과 같인 oauth 2.0으로 구현이 가능했다. 실제로 정상적으로 로그인이 되었다. 하지만 사용자 정보를 가져오는데 문제가 발생했다. 애플에서 사용자 정보를 가져올 경우, 로그인에 대한 응답을 클라이언트가 아닌 서버로 응답을 보내는 문제가 있었다. 이를 해결하는 것은 결과적으로 어렵지 않았지만 처음에는 당황하여 바로 해결하지 못했다. 또한 이 사용자 정보를 최초 한번만 전송했다. 이 최초 한 번이 무슨 의미인지 처음에는 잘 몰랐다. 구현하면서 사용자 정보를 가져오지 못하는 문제가 발생해서 확인해보니 우리 서비스에 접속한 최초 한번의 한해서 정보를 받아올 수 있었다. 그러니 계속 테스트를 위해 애플 로그인 해왔던 우리 계정에서는 사용자 정보를 가져올 수 없었다. 이는 나중에 회원탈퇴를 구현할 때에도 어려움이 되었다.

외부 서비스를 이용하는 것이 구현하는데 더 쉬울 것으로 예상되었으나, 서비스에 따라 정책때문에 구현이 어려움이 있는 경우도 있었다. 특히 프로젝트를 진행하면서 애플에서는 지원하지 않는 css, 함수들 때문에 어려움이 있었는데 끝까지 나를 당황시키는 기업이 아닐 수 없다.

프로필 기능을 구현함에 있어서도 애플은 자기만의 길을 고수했다. 프로필 사진을 업로드할 수 있는 기능을 만들었지만 특정 jpeg에서는 정상동작하지 않는 문제가 있었다. ios로 촬영한 사진에서 이런 문제가 발생했는데 찾아보니 jpeg여도 내부적으로 애플 고유의 인코딩 방식인 heic를 사용하고 있었다. 이 때문에 브라우저 호환성에 문제가 있었다. 이것을 클라이언트에서 일반적은 jpeg로 추가 변환하는 과정을 필요로 했다.

이런 자잘한 문제 때문에 개발을 진행하는데 어려움도 있었지만 문제가 발생했을 때, 문제를 파악하고 해결하는 능력은 길러진 것 같았다.

기능을 구현하고나니 어느새 한달이 지난 최종 데모데이를 앞에 두고 있었다.

최종데모데이와 그 이후

최종데모데이에서는 각 캠퍼스의 모든 팀이 모두 모여 부스를 운영하여 서비스를 소개하는 날이다. 우리 모우다 팀은 오전에 부스 운영을 하게 되었다. 오전 출원중에 신규 이용자가 로그인이 되지 않는 충격적인 사실을 듣고 발을 헏디뎌 넘어지고 말았다..

빨리 가서 확인해보니 서버에서 최초 사용자에 대한 분기 처리가 부족하여 문제가 발생했다. 우리들이 QA를 진행했을 때 모두 기존 사용자였기 때문에 문제가 없었는데 막상 새로운 계정으로 접속하고자 하니 문제가 발생했다. QA는 아무리 진행해도 매번 새로운 에러가 발생하는 것 같다. 왜 기업이 알파 서비스, 베타 서비스를 진행하는 새삼 깨닫게 되었다.

다행히 데모데이에서는 큰 문제없이 서비스를 소개할 수 있었다.

데모데이가 종료된 후, 푹 쉬었다. 지금까지 계속 개발을 진행하다보니 조금 지쳤던 것 같다. 일단 주말동안에는 푹 쉬었고 레벨 4의 버퍼 기간이 되었다.

레벨 4 버퍼에서는 앞으로 모우다 프로젝트의 진행에 대한 결정을 진행할 예정이다.

나의 첫 프로젝트가 어느정도 막을 내렸다. 이후에 서비스 개발을 계속 진행할 의향은 있지만 크루들의 의견도 들어보아야하니 계속 진행하게 될지는 모르겠다.

첫 프로젝트였던 만큼 적응하기 힘들었던 부분도 있었지만, 그래도 이런 크루, 팀원들과 같이 프로젝트를 진행할 수 있었던 것이 영광이었다. 우테코에서 정해준 가이드라인과 크루들 덕분에 어떻게 하나의 서비스가 출시되는지 경헝할 수 있었다.

유저시나리오에서부터 웹 접근성 개선까지 4달간의 여정이 끝이나고 배운 것도 많았지만 배워야할 것도 많이 있다는 것을 느낄 수 있었다. 마지막에는 그간 배웠던 내용을 다시 정리하는 시간을 가지며 내 것으로 만들 계획이다.

아직 부족하지만 새롭게 배우는 것을 즐기는 개발자가 되도록 노력하자!

profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2024년 11월 5일

여러 어려움이 있었는데도 잘 넘고 지금까지 오느라 고생많았습니다 칙호~!!

답글 달기