velog dashboard v2 - 프로젝트 init.

정현우·6일 전
2

Project Records

목록 보기
7/7
post-thumbnail

V.D v2

velog dashboard 를 살려주세요..! 로 부터 다시 시작된 velog dashboard project v2, (이하 V.D v2) 프로젝트 진행에 생각보다 많은 관심을 주신 모든 분들께 진심으로 감사드립니다. 🙏🙇🏻‍♂️

감사합니다!

  • 제가 뭐라고 꽤 많은 분들, (허수 제외) 약 50분 내외 분들이 google form 을 제출해주셨습니다. 그만큼 주니어, 신입분들에게 지금의 채용 시장 분위기가 얼마나 추운지 보여주는게 아닌가 했습니다. 😥

  • n년차 이상 분들도 꽤 많이 제출해주셨지만 아쉽게 project 목표와 달라 모시지 못했습니다! 미리 죄송합니다!

  • (PS. 제출 결과에 대해서는 모두 개별 이메일로 전송 드렸습니다!)

1) form 제출 통계

원하시는 포지션 통계는 아래와 같았습니다!

선호하는 tech stack

  • 제가 주관식으로 받아서, 크게 언어로 묶어보면 아래와 같았습니다! (%는 추산치입니다 ㅎㅎ)
    • js (node) 70%, java (jvm) 25%, python 2%, etc 3%
    • js 는 아무래도 client-side & server-side 통용되어서 비율이 높은 것 같고, 사실 jvm stack 이 가장 높았습니다.

자유롭게 입력하는 부분

  • 놀랍게 마지막 자유롭게 입력하는 부분에는 [ 평균 200자 ] 정도 작성해주셨습니다!
    • 너무 다양한 고민을 가지고 계셨고, 어떤 형태로든 제가 도움을 드릴 수 있으면 영광입니다.
    • 하지만 이미 form 제출 해주셨다는 것 만으로도 이미 능동적으로 활발한 활동을 하시고 계시다고 생각되며, 제출 주신 모든 분들은! 언젠간 생각하신 목표 무조건 이루실 수 있을 것 같습니다!

2) 제안 기준

  • 언급한 바와 같이, n년차 이상의 개발자, 현업 분들은 모시지 못했습니다. 죄송합니다!

  • 충분히 많은 포텐셜을 가지신 분들, 저희 project 없이도 오히려 저보다 주도적으로 잘 해주시고 계신 분들, 그리고 제출 주신 분들과 tech stack 조합에서 아쉽게 sync 가 맞지 않았던 분들은 모시지 못했습니다.

  • 여러 조합을 생각했고, 이번 프로젝트의 목표가 "개발 분야를 막론하고 여러 부분에서 다 같이 고민할 수 있는 분들" 이었기 때문에 다양한 tech stack 을 합쳤습니다!


프로젝트 init

  • 일단 프로젝트의 인프라 지향점은 무조건 K.I.S.SSPoF 의 최소화 이다.

1) 전체 러프한 tech stack

  • 크게 3가지 tech side 로 정했고, 세부 stack 은 아직 러프하게만 정했다.
    • server side & api
      • ts & express 가 후보다.
    • server side & back-office (batch 포함)
      • python & django & aiohttp 가 후보다.
    • client side
      • ts & nextjs 가 후보다.
    • 신청 주신 분들의 조합으로 최종 선별하다보니 이런 구조로 생각을 하고, 후에 tech stack은 논의 후 fix 했다.
  • 개발 도메인은 크게 아래 3가지가 될 것 같다.

    1. 인증과 인가, 사용자 관리 도메인
    2. 통계 관리 도메인
    3. 통계 수집 도메인
  • "해야할 것을 무조건 한다!" 느낌보다는 "하지말아야 할 것은 안한다!" 라는 생각을 계속 했고, 최대한 담백하고, 심플하게 만들기로 했다. (그럼에도 scalbility 를 고민 많이 하는 중이다. ㅎ)

2) V.D v2 목표

  • 프로젝트의 완성을 향해 빠르게 달려가는 것 보다, 프로젝트 과정의 가치와 모든 부분에서 고민을 모두가 같이하는 형태로 만들고 싶었다.

  • 그래서 최대한 생각의 align 을 맞추기 위한 North startOKR 기반으로 목표를 잡고, epicstory 로 나누고, kanban 을 사용한 agile 한 형태로 진행하고 있다.

    • 굉장히 모든 단어가 판교 사투리 스럽다ㅋㅋ 홈텍스 불러야 할 듯
    • 현업에서 경험할 수 있는 (물론 스타트업에 가까운...) 형태로 구조를 잡고 싶었다..

North Star

  • “velog를 사용하는 모든 사람이 velog dashboard를 사용하도록 한다.” 를 north star 로 잡았다. 원래 포부는 간지를 살려야..

  • 프로젝트가 성공적으로 끝난다면, "모든 blog platform 의 통계를 모아서 보여주고, 콘텐츠 데이터 파편화를 해결한다" 라는 거시적인 north star 도 생각해 봤다 ㅎ

OKR

  • 아쉽지만 objective 와 key-result 를 세부적으로 잡지는 못했다.

  • 그러기에 협소한 (긍정적으로는 뾰족한) 프로젝트이기 때문에, 핵심 "key-result" 는 아래와 같이 잡아봤다.

  1. 사용자가 아무리 많아져도 1시간안에 일배치를 끝낸다.
  2. 사용자가 아무리 많아져도 API response P95 0.5s 유지한다.
  3. 토큰을 한 번 입력하면 다시 입력할 필요가 없는 접근 방식을 설계한다.
  4. 크로스 플랫폼으로 어떤 환경에서든 좋고 편한 UIxUX 를 구성한다.
  5. 일주일안에 실사용자 100명 이상 모은다.
  6. 한달안에 실사용자 2천명 이상 모은다.
  • 정도를 잡았고, 이는 개인적으로 specific 하지 못한 "key-result" 인 것 같아서 아쉽다.

아직은

  • 아직 github repo 에 코드 한 줄 올리지 않았다. 철저하게 stack 에 대한 고민, 프로젝트 이해도와 얼라인 (고민), 모델링과 설계 방향에 대해서만 쓰고, 적고, 얘기했다.

3) 새로운 도입

  • 레거시(V.D v1)와 다르게, 위에서 언급한 것과 같이 포부와 목표가 훨씬 크다 ㅎㅎ

  • 그래서 "마치 벌써 수만명 되는 것 마냥" 상상을 해보고, 다시 현실로 돌아와 모델링을 하고 타협하는 형태로 정했다.

    • 이 방법은 개인적으로 선호하는 방식이다. "마치 벌써 수만명 되는 것" 마냥 상상은 하고,
    • 이에 진짜 수만명을 당장 핸들링한 infra 나 structure 를 짜는게 아니라, "확장 가능성" 이 있는 형태로 "당장 미니멈한 선택" 을 하는 데 아주 좋은 전략이라고 생각한다.

timescaleDB

  • 따로 정리해서 글을 하나 쓰려고 한다. 이번에 daily 정보, 시계열 데이터를 Postgresql 기반 3rd-party 성격의 timescaleDB 를 활용해 보려고 한다.

자체 daily traffic 저장

  • velog 는 daily 를 초기 구조적인 이슈로 (24.11.18 기준) 제공을 멈춘 상태이다.
  • 이를 V.D v2 에서 조회수, 좋아요 수에 대한 다양한 daily traffic 을 제공해 볼 예정이다.

그 외 다양한 고민

  • 완전 새로운 feature 가 나올 수 도 있다는 것, 이는 스포가 될 것 같아서 지양한다. (없는거 아니다.. 진짜 있다.. 진짜..!🤐)

앞으로는

  • 프로젝트에 유의미한 릴리즈가 있기 전까지는, 프로젝트 자체에 대한 세세한 process 기록은 잠깐 멈추려고 한다. 그 과정에서 레슨런에 더 집중해서 글을 쓰려고 한다.

  • 프로세스 진행 상황에 대한 기록은 함께하는 훌륭한 팀원들이 새로운 시각에서 더 상세히 작성해 주실 것이다. (?)

  • 그리고 이 V.D v2 는 velog platform 을 넘어서 multi-platform 에 대한 statistics data 를 aggregation 하는 SaaS 가 될 수 도 있다고 생각하고 있다.🔥🔥

관련 글 (연결 글)

https://velog.io/@onding/Velog-Dashboard-V.D.-1주차-회고
https://velog.io/@six-standard/Velog-Dashboard-V.D.-1주차-회고
https://velog.io/@bdlhj/Velog-Dashboard-1%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A0

profile
도메인 중심의 개발, 깊이의 가치를 이해하고 “문제 해결” 에 몰두하는 개발자가 되고싶습니다. 그러기 위해 항상 새로운 것에 도전하고 노력하는 개발자가 되고 싶습니다!

6개의 댓글

comment-user-thumbnail
5일 전

현우님 글 정말 잘 봤습니다! 프로젝트의 시작부터 지향점까지 체계적으로 잘 정리해주셔서 팀원으로서도 다시 한번 방향성을 확실히 되새길 수 있었네요 📝
특히 '하지 말아야 할 것은 안한다'라는 부분이 와닿았습니다! 현업처럼 프로젝트를 진행하는 점에서 정말 많이 배우고 있습니다🔥

1개의 답글
comment-user-thumbnail
5일 전

글 잘 읽었습니다. 😄
현우님이 만들어주신 경험이 (러프하다고는 하시지만..) 꽤 체계적이었어서 그런지 그리 어렵지 않게 꾸준히 룰을 지켜나갈 수 있었던 것 같네요.
그리고 현업처럼 진행되는 프로젝트인 만큼 모르는 용어가 많긴 하지만, 오히려 배울 기회인 것 같아 좋았습니다!

1개의 답글
comment-user-thumbnail
5일 전

이게 바로 파워블로거...!! 오랫동안 꾸준히 블로그를 운영해오신만큼 편하게 읽히는 글을 작성하신 것 같아 대단하다고 느꼈습니다ㅎㅎ 한 주 동안 수고 많으셨고 앞으로 더 거시적인 north star를 위해서 더 파이팅해보겠습니다💪🏻🔥

1개의 답글