로토의 블로그

2021년을 회고하며

2021년을 회고하며 대표 이미지

어느덧 2021년의 마지막 날이 찾아왔다.

연례행사인 올 한 해를 되돌아보는 시간을 가져본다.

Software Development

ondemandlatino 출시

ODL 웹 화면

  • 올 상반기, https://ondemandlatino.com 을 출시했다.
  • 2019년에 https://blog.roto.codes/odc-tech-stack/ 를 출시하면서 만들어둔 컴포넌트들을 최대한 재사용했다.
    • 레이아웃과 테마를 추상화하여 처리했고, window나 document 등에 바로 접근하는 컴포넌트들에 방어코드를 넣은 것 빼고는 거의 대부분 재사용 할 수 있었다.
  • 기존에 만들었던 ondemandchina 은 Creact React App 기반이고 약간의 SSR이 필요한 곳은 AWS Lambda Edge를 사용했었는데, ondemandlatino의 경우는 next.js 기반으로 작업했다.
  • Jamstack을 활용했다. 2020년부터 Jamstack 관련 연구 및 삽질을 지속적으로 해왔었는데 ondemandlatino에서는 그 부분이 적용되어 있다.
    • SSG + ISR 기반이며 vercel로 배포한다.
    • 이로 인해서 lighthouse 점수가 상당히 올랐다.
  • 관련하여 정리된 슬라이드는 https://blog.roto.codes/cra-to-nextjs/ 에 걸어두었다.
  • 실제 프로젝트를 진행하며 여러가지 사건사고들도 있었는데, 자세한 내용은 https://wiki.lucashan.space/post-mortem/2021-memoir/#ondemandlatino 참고.

좋았던 점

  • 개발 외적으로 많은 고통이 있었지만 개발만 놓고 보면 유의미한 경험이었다.
  • 머릿속에서 여러번 시뮬레이션 해보고 지속적으로 연구해왔던 부분을 실제 프로젝트에 적용했을 때, 그리고 그것이 유의미한 가치를 만들어냈을 때 오는 쾌감(?)을 오랜만에 느꼈다. 이게 좀 마약 같아서 이 일을 계속 하는 것 같다.

아쉬웠던 점

  • 구조 자체가 다량의 트래픽이 발생해도 충분히 견딜 수 있는 구조인데, 그 다량의 트래픽이 발생하지 않아서 해당 부분에 대해서는 큰 임팩트를 느낄 수 없었던 점.
  • 아래에 후술하겠지만 회사를 옮기게 되었다. ondemandchina, ondemandlatino를 거치면서 ondemandkorea 사이트에 대해 개선하는 것을 계속해서 고민해왔고, 차근차근 쌓아온 경험과 자산들을 이용해 2021년에는 ondemandkorea를 전격개선하는 걸 목표로 했지만 언제나 삶은 생각대로 되지 않는다.

인디스트릿 웹 개발

인디스트렛 웹 화면

  • 밴드 홈페이지(https://idiots.band)를 만들고 운영하면서 다른 밴드들의 데이터들도 쌓아보고 싶은 욕심이 생겼다.
  • 과거에 인디스트릿이라는 사이트가 있었고 비슷한 느낌의 사이트를 만드는 것에 계속 고민하던 찰나에 지금은 팀 동료인 rainygirl님께서 https://indistreet.com 도메인에 대한 이전, 그리고 그 이름을 계승해서 만드는 것에 대해 흔쾌히 승락해주셔서 설 연휴 동안 열심히 코드를 짰다.
  • 웹 프로젝트의 경우 Jamstack 기반이다. 시기를 생각하면 여기서 쌓아둔 경험을 ondemandlatino에 적용했다고 볼 수 있다.
  • 현재 사이트의 주요 목적은 인디음악씬의 공연 기록이다. 이를 통해서 공연이 어떻게 늘고 줄었는지, 어떤 팀이 어느 시점부터 성장이 두드러졌는지 등을 보려고 하고 있다.
  • 또한 여기저기 파편화가 되어 돌아다니는 공연 정보에 대한 접근성을 인디스트릿을 통해 개선하려고 하고 있다.
    • 특히 인스타그램을 통해 공지되는 공연의 경우 인스타그램 특성상 불편한 점이 꽤나 많은데
      • 인스타그램의 feed가 실시간이 아니기 때문에 이미 끝나버린 공연이 노출된다던가
      • 인스타그램 내에서는 bio 영역과 story 영역을 제외하고는 하이퍼링크가 걸리지 않아 티켓팅 사이트까지 이동이 굉장히 불편하다는 점이다.
      • 2022년에는 이 부분을 중점적으로 개선해볼 생각이다.
  • 관련 경험을 현재 회사 팀원들에게 발표했다. 관련 슬라이드는 https://slides.com/rotoshine/indistreet-tech-stack/ 이다.
  • 아직은 실험적이지만 linktree와 비슷한 툴을 만들고 있다.
  • 대략 손이 닿는 부분까지 공연 관련 데이터를 계속해서 쌓으려고 했고, 그렇게 쌓인 데이터로 연말결산과 비슷한 걸 만들었다.

좋았던 점

  • 역시 next.js 기반이며 strapi로 back-end를 구성한다. 그리고 graphql codegen 으로 hook을 만들어쓴다.
    • 이 경험이 꽤 좋았다. 요즘 하는 거의 대부분의 개인 프로젝트에서는 strapi + graphql codegen 조합을 거의 무조건 사용한다.
  • 만들고 운영하는 동안 많은 아티스트분들, 인디음악 팬 분들에게 격려의 메시지를 받았다. 이러한 메시지 덕분에 지속적으로 개발하고 운영할 수 있는 것 같다.
  • 그동안 해왔던 사이드 프로젝트는 어떠한 기술적인 갈증을 채우기 위함이 주이고, 대부분 그 갈증이 해소되면 크게 신경쓰지 않았다. 하지만 이 프로젝트는 갈증해소 그 이상의 가치를 주었다.
  • 인디스트릿을 개발하는데 있어서 많은 도움을 주신 에고 펑션 에러의 민정 님, 그리고 일렉트릭뮤즈의 김민규 대표님의 도움으로 인디스트릿 런칭 기념 공연을 해본 경험이 너무 좋았다.

아쉬웠던 점

  • 아직까지는 공연 입력을 별도의 크롤링을 하지 않고 수기로 입력하고 있다. 그러다 보니 놓치는 공연이 꽤나 많다.
  • 이 부분은 공연장용 툴을 좀 더 개선해서 실제 공연장 사장님 혹은 공연 관계자 측에서 직접 입력하는 것을 유도할 생각이다.
  • 서버비가 지속적으로 발생하 것에 대한 고민이 있다. 아직은 광고, 유료 결제 등에 대해 붙일 생각은 없고 patreon과 같은 후원 플랫폼을 붙여야 하나 하는 고민이 있다.

인디스트릿 앱

인디스트릿 앱 화면1
인디스트릿 앱 화면2

좋았던 점

  • 앱 개발 경험이 처음은 아니지만 처음부터 온전히 배포까지 해본 경험을 갖게 된 것이 좋았다.
  • playstore의 경우는 6년전에 등록만 한 상태였고, ios appstore는 요 작업을 하면서 99달러를 내고 등록을 했다. 앱스토어 배포를 하면서 웹 배포와는 다른 색다른 경험을 해보게 된 것이 좋았다.

아쉬웠던 점

  • 런칭 이후 어떤 부분들을 추가할지에 대한 로드맵은 충분히 그려둔 상태인데, 아직 실행하지 못하고 있는 부분이 좀 있다.
  • 기능이 크게 없어서겠지만 사용자 수가 크게 많지 않다. 이점은 2022년에 각종 기능 구현으로 최대한 끌어올려볼 생각이다.

그외

회사생활

  • odkmedia를 떠나 올 7월 Watcha에 합류했다.

이직의 이유

  • 올해 초 일부 직원들에게 권고사직이 있었고, 이 과정에서 상당히 많은 잡음과 진통이 있었다. 또한 주니어 팀원들이 상당히 동요하게 되는 결과가 있었다.
  • 이런 과정에서 상당히 쳐진 팀 분위기를 어떻게든 끌고 가려고 했지만 쉽지 않았고, 이 부분이 상당한 심적 스트레스를 주었다.
  • 결국 팀원들이 이탈하기 시작했고, 그로 인해서 팀원들이 하던 업무를 맡아 밤새워가며 처리하는 나날들이 있었다.
  • 그리고 결정적인 트리거가 된 것은 크롬캐스트 관련 업무였는데, 혼자서 밤새 고군분투하다 연동에 성공하고 나서 좀 쉬려고 침대에 누웠는데 그때 시간이 새벽 7시였다.
  • 그런데 스트레스 때문인지 잠을 못 이루고 10시까지 뜬 눈으로 지새우고 나서 이러다 진짜 죽겠다 싶어서 퇴사를 결심했다.

Watcha를 선택한 이유

  • 이직을 하면서 총 세 곳의 회사에 지원했었고, 세 곳 모두 오퍼를 받았다.
  • 일반적으로 면접이란 면접관이 면접자를 평가하는 자리이기도 하지만, 반대로 면접자가 회사에 대한 분위기나 느낌을 평가하는 자리이기도 하다.
  • 그런 측면에서 지원했던 한 회사는 밴드를 하는 것에 대해 부정적인 뉘앙스를 주었고, 이 때문에 고려 우선순위에서 바로 빼버렸다.
  • 그렇게 남은 두 회사 중에서 Watcha를 고르게 된 이유는
    • 일단 밴드를 하고 있는 것에 대해 굉장히 호의적이었고
    • 회사 업무도 관련하여 시너지를 낼 수 있는 부분이 여럿 보였기 때문이다.
  • 아직까지는 만족하면서 다니고 있다.

이직후 바뀐 점

  • 작년 대비 10kg 정도가 빠졌다. 이전 회사를 다니면서 스트레스성 폭식이 잦았고 이 때문에 살이 상당히 많이 쪘었다.
  • 회사가 주던 스트레스 상당부분이 완화되면서 자연스럽게 폭식 횟수가 줄어들었고 결과적으로 별다른 운동 없이 체중감량이 되었다.

정리

  • 2021년은 next.js의 한 해였다고 할 정도로 진행해온 거의 모든 프로젝트가 next.js 기반이었다.
    • 아직까지는 개발경험이 꽤 만족스럽기 때문에, 특별한 일이 아니면 앞으로도 next.js 기반으로 작업할 것이다.
  • 회사를 옮기게 되었고 열심히 다니고 있다. 이제 이직하는 것도 지겨워서 이번에는 좀 오래 다니는 것을 목표로 하고 있다.
  • 인디스트릿 웹/앱을 만들고 런칭했다.
  • 기술적으로는 2020년 회고에 적어두었던 2021년 목표를 달성한 것 같다.

음악 관련

디지털 싱글

뮤직비디오

인천 / 광주 / 부산 공연

40번의 공연

  • 코로나가 우리의 일상을 앗아간지가 벌써 2년이 넘어갔다. 그 와중에도 방역지침을 준수하면서 어떻게든 공연을 이어나갔다.
  • 수를 세어보니 40번 정도의 공연을 했다. 2019년에도 비슷한 수를 헀었던 것 같다.
  • 100번째 공연은 기획공연을 하나 할 생각인데, 이 속도라면 내년 가을쯤 가능하지 않을까 싶다.

강의

  • 늘 해오던 프로그래머스의 자바스크립트 코드 리뷰 스터디가 어느새 12기까지 마무리 됐다.
  • 위의 강의 외에도 프로그래머스에서 하는 K-Digital Training: 빅데이터 플랫폼 프론트엔드 엔지니어링에서도 강사로 참여했었다.
    KDT 강의 프로필
    • 라이브 강의가 아닌 사전녹화 강의였는데, 사전녹화 강의보단 라이브 강의가 훨씬 체질에 맞는다는 걸 깨달았다.
    • 항상 마감시간 아슬아슬하게 녹화된 강의를 업로드 했었는데, 이 자리를 빌어 Lia에게 진심어린 감사를...
  • 그외에 LG CNS에서 기업 강의를 두번 정도 했었다.

이쪽 교육시장이 계속해서 커지고 있다보니 여기저기에서 강의 관련 요청이 많이 들어오는 편이지만, 2022년에는 올해 한 것 이상으로는 활동을 늘리지 않을 생각이다.

2022년의 목표

Software Development

  • 가지고 있는 기술과 경험을 살려 팀, 그리고 회사에 전반적으로 큰 영향을 끼칠 수 있는 사람이 되는 것을 목표로 하고 있다.
  • 인디스트릿을 지금보다 훨씬 더 많이 발전 시키는 것.

음악

  • 3년 정도 보컬 레슨을 받고 있는데, 2022년에는 지금보다 타이트하게 레슨 받고 훈련하는 것을 목표로 하고 있다.
  • 락 페스티벌 무대 서보고 싶다.
  • 곡 작업....

강의

  • 큰 목표는 없고 그저 2021년에 한 것만큼만 잘하자.

마치며

굉장히 격동의 한 해를 보냈다. 심적으로 고통스러운 나날도 있었지만 밴드를 하며 얻은 에너지 덕분에 가라앉을 수 있던 상황들을 어떻게든 벗어나서 여기까지 올 수 있었던 것 같다. 모두 관객 여러분들, 그리고 같이 무대에서 뛰어준 아티스트분들과 공연 관계자분들 덕분이다.

2022년에는 지금보다 더 재미있고 에너지 넘치는 한 해가 될 것이라는 기대가 있다. 2022년 12월 31일에 쓸 회고에서는 즐거웠고 재밌었던 경험이 가득했으면 좋겠다.

large_269785597_4445070885614866_1506225132706411436_n_a075d24fe4

그리고 오늘 한 해를 마무리하는 공연이 클럽빵에서 진행된다. 업무에 참고하셨으면 좋겠다. https://indistreet.com/live/1688