주니어 개발자의 우당탕탕 입사기
안녕하세요! 23년 7월에 CJ올리브영 리테일플랫폼개발팀 백엔드 개발자로 합류한 알렉스입니다 :)
올리브영에 입사한 지 벌써 5개월이라는 시간이 흘렀는데요. 🐥🐥 지금에서야 비로소 올리브영에 합류하기까지의 여정을 소개해 보려고 합니다.
사실, 올리브영에 합류하고 한 달이 지난 시점에 유스콘 23 이라는 컨퍼런스에서 이직기에 대한 내용으로 약 100여 명 앞에서 발표한 적이 있었습니다. 오늘은 그 발표 내용과 더불어 시간이 부족해서 말하지 못했던 내용들을 추가로 말해보려고 합니다.
목차
- CJ올리브영 리테일플랫폼개발팀에 지원한 계기는?
- 올리브영의 입사하기까지의 여정
- 온실에서 성장하기
- 야생에서 성장하기
- 마무리
CJ올리브영 리테일플랫폼개발팀에 지원한 계기는?
우선 제일 질문이 많았던 부분을 이제서야 답변해 보려고 합니다. "올리브영을 선택할 때 어떤 요소들을 고려했었나요?"
제가 생각했던 올리브영 리테일플랫폼개발팀의 매력은 아래와 같았습니다.
- 국내 최대 규모의 O2O 서비스 (오프라인 매장 개수: 1350개 이상)
- 거대한 스파게티 시스템을 장기간에 걸쳐 내재화, 모듈화&모던화 계획
- 1년에 4번, 올영세일로 인한 대규모 트래픽 경험 기회
- 같이 일해보고 싶다는 생각이 자연스럽게 들었던 면접 경험
[국내 최대 규모의 O2O 서비스]
우선 리테일플랫폼개발팀(구. 코어시스템 파트)은 전국의 1,350개 이상의 오프라인 매장에서 일어나는 모든 이벤트를 관리하고, 매장관리에 필요한 서비스를 제공하는 팀입니다.
또한 오프라인과 온라인을 연계해 주는 “오늘드림” 서비스 또한 오프라인 매장을 꼭 거쳐야 하는데요.
이처럼 국내 최대 규모의 O2O 서비스를 경험해 보는 것은 개발자 인생에서 매우 값진 경험이라고 생각했습니다.
[거대한 스파게티 시스템을 장기간에 걸쳐 내재화, 모듈화&모던화 계획]
레거시가 없는 회사는 없다고 생각합니다.
하지만 레거시를 장기간에 걸쳐 내재화하고 모듈화 & 모던화 하려는 계획을 세우고, 외부에 오픈하는 회사는 드물다고 생각합니다.
저는 올리브영에 지원하기 전에 [원티드XCJ올리브영] LIVE 채용 설명회를 시청했었는데요.
현재 저의 팀장님으로 계신 장회수님이 소개하신 내재화, 모듈화&모던화 계획이 저에게 매우 매력적으로 다가왔었습니다.
[1년에 4번, 올영세일로 인한 대규모 트래픽 경험 기회]
올리브영에서는 1년에 4번 대규모 올영세일을 진행하기로 유명한데요. 물론 올영 세일이 아닌 달에도 이벤트는 많이 진행되지만, 올영 세일 시즌에는 트래픽이 폭발합니다.
정확한 수치를 기재하기는 어렵지만, 최대 동시접속자 수도 절대 낮지 않은 수치이며 시즌마다 계속 상승할 정도로 올영 세일에 대한 사용자 유입은 무시 못 하는 숫자입니다.
따라서 백엔드 개발자로서 이 정도의 트래픽을 주기적으로 경험해 볼 수 있는 회사는 많지 않을 것 같다고 생각했습니다.
[같이 일해보고 싶다는 생각이 자연스럽게 들었던 면접 경험]
올리브영 채용 프로세스에서 면접은 총 2번을 진행했었습니다. 이때 저는 파트 내 기술 리드 분(1차)과 팀장님(2차)을 만났는데요.
팀장님은 앞서 말한 원티드 LIVE 채용 설명회에서 간접적(?)으로 뵀을 때 되게 시원시원하고 재밌는 성격을 가지셔서 이미 반한 상태였고, 실제로 면접에서 뵀을 때도 이분 밑에서 일해보고 싶다는 생각이 들었던 면접이었습니다.
그리고 파트 내 기술 리드 분과도 1시간 동안 쉼 없이 질문과 답변이 이어졌는데요. 이때도 되게 넓고 다양한 영역을 질문받고 답변하면서 티키타카가 잘 맞아서 정말 재밌는 면접으로 기억에 남았습니다.
따라서 합격 메일을 받았을 때 고민 없이 올리브영을 선택했습니다.
올리브영에 입사하기까지의 여정
이제부터는 제가 올리브영을 들어오기 위해 어떤 노력들을 해왔는지 소개해보겠습니다.
또한 앞으로의 내용은 유스콘23 컨퍼런스에서 소개했던 내용이니, 발표 영상을 같이 첨부하겠습니다.
1. 온실에서 성장하기
[환경 만들기]
첫 번째는 환경 만들기입니다.
저는 이전 회사를 그만두기 직전에 공유 오피스 스터디를 만들었습니다.
공부할 수밖에 없는 환경을 세팅해 놓고 그곳에 제 몸을 던지는 전략이 가장 효과가 좋다고 생각했기 때문입니다.
스터디 멤버 3명을 모집해서 공유 오피스 4인실을 6개월간 임대했고, 그곳에 각자의 작업 환경을 세팅해 놓았습니다.
이 사진은 22년의 마지막 날인 12월 31일에 공유 오피스에서 찍은 사진인데요.
이 시기에 저는 하루에 최소 12시간씩 주 6일 이상을 공부하였고, 스터디 멤버들과 출근 시간 내기 등을 하며 약간의 강제성을 부여하였습니다.
이쯤에서... 혹시 회사에 다니면서 이런 환경을 만들기는 어렵다고 생각하시나요?
분명 회사에 다니면서도 업무에 필요한 공부나, 일을 더 잘하기 위해 별도로 공부하는 시간이 필요하다고 생각합니다.
현재도 저는 퇴근 후 기술 스터디/모각코 등에 지속적으로 개인 시간을 투자하고 있습니다.
따라서 여러분도 출근 전이나 퇴근 후에 기술 스터디나 모각코 스터디 등을 통해 꼭 공부할 수밖에 없는 환경을 만들고 그곳에 몸을 던져보시는 것을 추천해 드립니다.
[객관적인 현재 상태 진단]
다음은 자기 객관화입니다.
공부할 환경을 구축했다면 현재 내가 어떤 부분이 자신 있고, 어떤 부분이 부족한지를 객관적으로 파악하는 단계를 갖는 것이 중요하다고 생각합니다.
하지만 본인 스스로 객관적인 판단을 하는 것은 매우 어려운 미션인 것 같습니다.
따라서 저는 여러 멘토링을 통해 현재 제가 부족한 점이 무엇인지, 지금 당장 무엇이 필요한지를 객관적으로 파악하였습니다.
현재는 팀장님과 팀 내 시니어분들께 많은 조언을 받고 있지만, 입사 전에는 여러 개발 커뮤니티를 통해 시니어 개발자분들(동욱님, 기선님, 재성님 등)께 도움을 많이 받았습니다.
이런 경험들을 통해 현재는 아래의 개인 학습 로드맵을 참고해서 공부하고 있는데요. 여러분들도 이 학습 로드맵을 참고하여 보완해야 할 부분을 체크해 보시는 것을 추천해 드립니다.
[학습 로드맵]
학습과 적용, 응용에 대한 태도 -> 클린 코드, 좋은 설계를 이끄는 단위 테스트 -> 웹 기술과 웹 프로그래밍 -> 스프링 프레임워크 -> 데이터베이스 -> ORM 프레임워크 -> … -> CI/CD를 위한 인프라스트럭처 -> 클린 아키텍처 -> DDD -> 분산 시스템 -> 인프라스트럭처 -> MSA -> …
2. 야생에서 성장하기
[면접을 보면서 점검하기]
주변에 좋은 분들이 많아 멘토링(조언)을 매번 필요할 때마다 받을 수 있다면 참 좋겠지만 이런 환경이 쉽지는 않습니다. 그렇다면 혼자 공부할 때 내가 올바른 길로 가고 있는지 확인할 방법은 없을까요?
저는 제일 좋은 방법은 면접이라고 생각합니다.
면접을 통해서 공부 방향이 올바른지 체크할 수 있고, 부족한 점이 발견되면 보완을 통해 좌표를 조정할 수도 있습니다. 따라서 면접을 최대한 많이 보면서 간접 멘토링을 받아보는 것을 추천해 드립니다.
여기서 가장 중요한 건 면접 직후에 바로 회고하고, 대답 못 한 질문들은 바로바로 공부하는 것입니다.
또한 이 모든 기록을 메모장에 잘 정리해 놓는 것이 중요합니다.
[면접 준비 방법 (with. ChatGPT)]
면접을 아무 준비 없이 보기만 하는 것보다는, 준비를 하고 간다면 훨씬 의미 있는 경험이 될 것입니다.
따라서 저는 CJ올리브영 면접을 어떻게 준비했는지 간략하게 소개해 드리겠습니다.
앞서 말씀드린 것처럼 모든 기록을 메모장에 정리해 놓았다면, 아래와 같이 나만의 족집게 자료가 생길 것입니다.
저는 이 족집게 자료 중에서 질문들만 따로 모아서 ChatGPT에게 찾아갔습니다.
아래와 같이 GPT에게 면접관 역할을 부여하고, 요구 사항을 명확하게 작성한 뒤 질문 리스트를 통해 모의 면접을 자주 진행하였는데요. 이런 식으로 심심할 때마다 GPT와 모의 면접을 하다 보면 꼬리에 꼬리를 무는 질문들도 잘해줘서 재밌게 기술 토론을 할 수 있었습니다.
[기업 분석]
최근에 제가 느낀 바로는 많은 기업들에서 기술 역량도 물론 중요하지만, 회사에 대한 관심도(로열티) 등도 중요하게 생각하는 것 같습니다.
저 또한 제가 가고 싶어서 지원한 회사에 대해서는 관심이 많았는데요.
하지만 올리브영의 면접을 준비하면서, 생각보다 올리브영 개발 조직에 대한 정보를 많이 찾을 수 없었습니다.
따라서 실제 올리브영의 오프라인 서비스와 온라인 서비스를 모두 경험해 보며 능동적으로 움직였었습니다.
오프라인에서는 픽업 서비스를 사용해서 직접 매장에 방문했고, 이때 매장 직원분을 붙잡고 궁금한 점들을 모두 여쭤보았습니다.
실제로 얘기를 나눴던 질문을 예시로 한 가지만 들어보면 다음과 같습니다.
- Q: 올리브영에서는 오늘드림 서비스를 통해 점심에 한번 저녁에 한 번 배송해 주는 시스템이 있는 것으로 알고 있는데, 해당 시스템이 어떤 방법을 통해 잘 돌아갈 수 있는건지?
또한 온라인 배달 서비스를 이용할 때도 배달 와주신 기사님께 문자로 궁금한 점을 모두 여쭤보았습니다.
- Q: 어떤 방법을 통해 올리브영 물건을 배달해 주시는 건가요?
- Q: 빠른 배송과 나머지 배송 방법의 가격이 다르던데, 나머지 배송은 고정 배차인 건가요?
마무리
마지막으로 지원하는 회사의 서비스를 몸소 느껴보는 경험이 중요한데, 만약 인터넷에 정보가 많이 없다면 능동적으로 정보를 수집해보라고 말씀 드리고 싶습니다. 이렇게 기술 관련 부분과 기술 외적인 부분들까지 모두 준비한다면 회사가 원하는 인재상에 부합할 확률이 높다고 생각합니다.
오늘은 CJ올리브영 리테일플랫폼개발팀에 합류하기까지 제가 어떠한 준비를 했고, 어떻게 공부를 해왔는지를 소개해 보았습니다.
다음 글에서는 저희 리테일플랫폼개발팀에서 O2O 서비스를 모듈화 & 모던화 하면서 직면하는 기술 문제들을 해결해 나가는 경험을 소개해 보면 좋겠다고 생각하면서, 이만 글을 마칩니다.
긴 글 읽어주셔서 감사합니다 🙂