thumbnail
2022 미리디 여름인턴 후기
회고
2022.09.02.

2022 미리디 여름인턴 후기

2022 미리디 여름인턴 후기입니다.

프로그래머스 썸머 코딩 프로그램으로 참여하게 됐고

코딩테스트 -> 서류 -> 전화 면접 -> 인턴(22.07 ~ 22.08)

전형으로 진행을 했었습니다.

결과는 아쉽게도 정규직 전환은 안됐습니다. (눈물…)

그래도 개인적으로 기록을 남기고 혹시라도 궁금한 분들에게는 도움이 될 수 있을까봐 후기를 남겨봅니다.

미리디는 무슨 회사?

DESIGN : anyone, anytime, anywhere

미리디는 디자인을 누구나 쉽게 사용할 수 있도록 서비스를 제공하는 회사입니다.

사업으로는 미리캔버스, 비즈하우스, 스마일캣 3가지의 사업이 있습니다.

미리캔버스는 무료디자인 템플릿으로 저작권 걱정없이, 누구나 간편하게 디자인할 수 있는 웹기반 디자인 툴을 제공합니다.

간단하게 말하면 웹에서 포토샵 같은 작업을 할 수 있는 서비스를 제공합니다.

현재 블로그의 썸네일도 미리캔버스로 간단하게 만들었습니다.

이런 미리디에서 저는 미리캔버스에디터 스쿼드에서 FE 직무를 수행했었습니다.

만약 미리디에서 개발자가 어떻게 일하는지 자세히 알고 싶다면 해당 문서를 보시면 도움이 될 것 같습니다. (해당 PPT는 만들어진지는 좀 됐다고 하네요)

내가 했었던 일

그럼 2개월 동안 나는 무슨 일을 했는가?

인턴을 시작하기전에는 과제 같은걸 시키지 않을까? 라는 생각도 했었는데 실제로 인턴들 모두 기존 개발자들과 똑같이 이슈들을 담당해서 개발을 했었습니다.

물론 처음에는 간단한 백로그에 남아 있었던 VOC(Voice of Customer)들을 처리하면서 적응을 했고 이 후에는 각자 새로운 기능들을 맡아서 개발을 했었습니다.

VOC 이슈를 예를들면

  • 설문조사 팝업이 모바일에서는 스크롤이 안됨.
  • 폴더 이동 버튼이 활성화가 안되어야 되는데 활성화가 됨.
  • 용량이 큰 동영상을 업로드 했을 때 업로드 완료 후 다시 업로드 할 때 아직 업로드 중이라고 뜸.

같은 문제들이 있었고 사소한 문제들이지만 어쨋든 실제 서비스에 수정이 필요한 사항들을 개선을 했었습니다.

그리고 저는 표 개선 관련 에픽 중 몇가지 기능을 개발했었습니다. 에디터 스쿼드의 일은 아니였지만 지원 형식으로 배정을 받아 개발을 진행했었습니다.

  • 우클릭 메뉴로 표 편집 기능. (페어프로그래밍으로 인턴 동료와 함께 진행)
  • 표 속성창에서 숫자 입력 맟 버튼으로 표 행/열 추가 삭제.

현재 위의 기능들은 모두 실서버에 적용이 됐습니다.

내가 한 일

좋았던 점

페어프로그래밍

처음 인턴 한달 동안을 페어프로그래밍으로 개발을 했었습니다.

저희 스쿼드에는 인턴이 4명이 있었는데 2명씩 짝을 지어 맡은 이슈를 처리하는 식으로 진행을 했었습니다.

기존에 페어프로그래밍으로 개발을 해본적이 없었는데 직접 해보니 너무 좋은 경험이였습니다.

한명은 직접 타이밍하면서 코딩을 진행하고 다른 한 명은 말로 어떤식으로 개발을 진행해 나갈지 말하거나 현재 작성중인 코드에 대해 바로 바로 피드백을 남기는 식으로 진행을 했었습니다. 정확히 시간을 나누어서 역할을 바꾸지는 않았고 어느 정도 진행이 됐거나 혹은 너무 같은 역할을 계속 유지할 때 교대를 했었습니다.

이렇게 진행을 하니 같은 문제를 봐도 접근하는 방식이나 관점이 다르기 때문에 새로운 시야를 얻을 수 있었습니다. 또한 오타 같은 사소한 실수나 제가 놓치는 부분이 있으면 상대방이 바로 잡아줄 수 있는 장점도 있었습니다.

가장 빈번하게 의견을 나누었던 것 중에 하나는 변수명이였습니다. 저는 변수명은 구체적일수록 좋다고 생각해서 길어지더라도 자세하게 쓰는 편이였는데 짝 프로그래머는 이렇게 너무 길어지면 축약어로 조금 줄이는게 좋지 않을까라는 의견이였습니다. 또한 저는 숫자를 세는 변수명은 count를 사용했었는데 짝은 number로 사용을 해서 당연하게 생각했던 변수명들도 아닐수가 있겠구나라는 생각을 했습니다.

그래서 보통은 기존에 사용중이였던 변수명의 형태를 따르고 변수명 자체는 너무 길어지지 않도록 작성하려고 했었습니다.

배포 사이클 경험

배포가 되는 한 사이클을 직접 경험해 볼 수 있어서 좋았습니다.

회사의 배포 사이클을 물어보면 이 회사가 어떤식으로 일이 진행되는지 알 수 있다는 예전에 들은 적이 있었는데 사실 그 때는 그 말의 의미를 정확히 이해를 하지는 못했었습니다. 하지만 직접 경험해보니 배포 프로세스를 알게 되면 그 회사가 어떤 방식으로 일을 진행할지 자연스럽게 알 수 있겠구나라는 생각이 들었습니다.

미리캔버스의 배포는 1주일 단위로 진행하고 절차는 아래와 같습니다. (브랜치 전략 git flow)

  1. 코드리뷰가 끝난 PR을 develop 브랜치에 머지
  2. 배포 날 스테이징 서버에 배포 (release.1.*.*)
  3. QA 진행
  • 이슈 발생시 해당 오류 수정하는 작업 수행.
  • PR 머지시 2개의 브랜치에 모두 머지(develop, release.1.*.*)
  1. QA 완료 후 배포 날 실서버에 배포(release.1.*.* -> main)

해당 프로세스를 직접 경험해보면서 git flow 전략이 어떻게 적용되는지, 지라 티켓으로 어떻게 일정이 진행되고 관리하는지, 배포 프로세스에서 QA가 어떻게 진행되는지에애 대해서 배울 수 있었습니다.

어려웠던 점

일정 관리

일정 관리가 쉽지가 않았습니다.

먼저 내가 이 작업을 몇 시간 안에 마무리할 수 있겠다라는 추정이 잘 되지 않았습니다. 지라 티켓에 최초 추정 시간을 적고 시작을 하는데 보통 제가 생각했던 시간에 2배 이상으로 입력하면 얼추 맞게는 됐던 것 같습니다.

이런 어려움이 생겼던 원인은 저의 현재 역량을 정확하게 파악하지 못 했고 기존의 코드를 확실히 이해하지 못하고 있기 때문이였습니다. 그래서 시간이 지나면서 코드에 익숙해지고 파악이 더 되는 만큼 이런 어려움은 어느정도 해결 할 수가 있었습니다.

하지만 가장 큰 어려움은 일정 조율이였습니다.

예를 들어 이번 스테이징 배포를 목표로 제가 맡은 일이 있다면 PM분께서는 저의 진행상황을 확인할 것입니다. 저는 저 나름대로 개발을 진행할 것이고 PR을 올리고 코드리뷰를 받으면서 승인을 기다립니다. 이런 상황에서 진행상황을 물어보면서 이번 스테이징에 가능할 것인가 물어보면 저는 승인 받고 머지를 하면되니까 가능하다고 대답을 했었습니다. 하지만 실제로는 코드리뷰를 통과하지 못했고 일정이 한 주 밀리게 됐습니다.

안일하게 코드리뷰가 통과가 되겠지라는 생각도 있었고 현재 상황을 확실하게 파악하지 못했던 문제도 있었습니다. 아니면 사실만 전달해서 지금 현재 PR을 올린 상태이고 승인 대기중이라는 말을 전달을 했으면 조금 더 정확했었을 것 같습니다. 이런 부분에서 저는 PR을 검사 받는 입장이였기 때문에 확실한 일정을 측정하기가 어려웠습니다. 그래서 이런 문제에 관해서 조언을 구했었는데 자주 소통하는 방법 밖에 없다고 했습니다. 그리고 현재 사실만 전달을 하면 PM이나 리더분께서 일정을 조율할 수 있다고 말씀해 주셨습니다.

결론은 코드리뷰를 기다리면서 받아야할 입장이니 대기가 길어지거나 일정에 차질이 있을 것 같으면 빠르게 소통을 이어가는게 중요하다는걸 배울 수 있었습니다.

코드 구조

처음에는 프로젝트 코드를 파악하는데 어려움이 있었습니다.

토이프로젝트나 팀프로젝트로 진행했던 코드들은 규모가 크지 않아서 파악하는데 큰 어려움이 없었는데 프로젝트 큐모가 크다 보니 파악하는데 쉽지가 않았습니다.

또한 MVC 패턴을 확장해서 VC(View Contorller), DC(Data Controller) 같은 구조를 갖고 있었는데 익숙한 구조가 아니라서 적응한데 시간이 조금 더 걸리게 됐었습니다.

예를 들어 변수 하나의 초기값을 추적한다고 하면 현재 클래스에서 부터 천천히 찾아 따라가게 되는데 뎁스가 3단계 이상이 되버리면 찾아가면서도 헷갈리고 끝까지 따라가는 것도 쉽지 않았습니다.

물론 볼수록 익숙해지고 적응이 됐었지만 처음에는 장벽이 조금 느껴졌었고 바닐라JS, 클래스형 React, 함수형 React 형태가 모두 같이 있어서 파악이 더 쉽지 않았었습니다.

그래도 큰 규모의 프로젝트 코드의 덩치가 이렇게도 커지는구나라는 걸 볼 수 있어서 좋았습니다.

마무리

공백기간이 길었는데 FE 개발자 경력으로 짧게나마 일할 수 있어서 좋았습니다.

2달이라는 짧은 기간이였지만 기술적으로나 일적으로도 많이 배울 수 있었던 시간이였습니다.

물론 인턴으로만 끝난건 아쉽지만 인턴하면서 배운 내용들과 부족한 점을 채우고 나면 또 다른 좋은 기회가 올거라고 생각합니다.

시간이 더 많아진만큼 더 매진해야겠습니다.

감사합니다.

Thank You for Visiting My Blog, Have a Good Day 😆
© 2023 Developer Hoseok, Powered By Gatsby.