코드박스 X EO 개발그룹 채용 설명회
2022년 9월 14일 EO B2B SaaS 개발그룹 채용 설명회 영상 中
Q. 언제, 어떤 계기로 코드박스에 합류하게 되셨나요?
진경 : 저는 코드박스 법인 설립부터 함께하고 있는데요. 병역특례로 근무했던 회사에 CTO로 서광열 대표님과 일을 했었는데 그때 인연이 되어서 졸업 후에 곧바로 코드박스로 합류하게 되었습니다. 여러 군데 오퍼가 있었지만, 대표님을 엔지니어로서 존경하고 있어 꼭 같이하고 싶다고 생각했어요.
동주 : 원래는 겨울 방학 인턴만 하고 학교로 돌아가려고 했지만, 코드박스에서 개발하는 게 너무 재밌고, 개발 문화에 핏하다 생각해서 휴학하고 1년 넘게 일을 하고 있습니다.
지훈 : 두 가지 이유가 있어요. 디자이너에게 퍼블리싱 권한을 주는 회사가 코드박스였고, 대표님이 좋은 서비스를 만들고 싶은 열망이 있는 것 같아 같이 서비스를 만들어 보고 싶었어요.
진민 : 학교 채용 설명회에서 코드박스를 처음 알게 되었어요. 지훈님이 ZUZU를 소개하는 걸 보고 서비스에 관심이 생겼어요. 설명회에서 프로덕트 디자이너가 CSS를 다루면서 UX를 잘 만들게 되면 어떤 강점을 가질 수 있는지에 대해 설명해 주셨는데 인상 깊었어요. 제가 바라는 커리어이기도 했고, 지훈 님만큼 성장하고 싶다는 욕심이 생겨서 코드박스에 합류하고 싶었습니다.
Q. 코드박스 구성원들은 모두 개발 DNA를 가지고 있다고 하셨는데, 어떤 의미인지 설명해 주실 수 있나요?
진경 : 제품을 만드는 메이커스라면 문제를 정의하고, 해결 방법을 제시할 수 있어야 한다고 생각해요.
저희가 말하는 개발 DNA는 CS(Computer Science)나 개발적인 지식을 말하는 것은 아니고 가지고 있는 리소스를 고려하여 효율적으로 풀어내는 역량을 말해요. 개발하기 전에 기존 리소스와 시스템적으로 풀어낼 수 있는지 파악한 다음 빠르게 실행하고 개선해 나가는 것이죠. 개발 그룹만의 방식은 아니고 구성원 모두가 이런 과정을 중요하게 생각하고 효율적으로 일하기 위해 노력하고 있어요.
Q. ZUZU를 디자인하는 과정에서 가장 중요하게 생각하는 요소는 무엇인가요?
지훈 : 디자인하며 중요하게 생각하는 부분은 세 가지 정도 있어요.
1) 도메인에 대한 이해가 필요해요. 일상에서 쉽게 접할 수 있는 도메인이 아니다 보니 제품을 만들기 전에 충분한 공부가 필요해요. 개발 요청이 와서 개발하는 것이 아닌 왜 이 문제를 풀어내야 했고, 그것을 풀기 위해 어떤 배경지식이 필요한지를 한 번 더 생각해봐요. 결국 서비스와 기능이 왜 필요한지에 대한 충분한 이해가 필요해요.
2) 기술적인 부분도 중요해요. CSS, 스타일컴포넌트와 같은 기술도 중요하지만, 기존에 만들어 둔 디자인을 패턴화해서 이후 개발 과정에서도 재사용할 수 있는 구조로 만드는 것도 중요해요. 리소스를 최소화하고 문제를 효율적으로 해결할 수 있어서 빠르게 개발하는 환경에서는 매우 중요한 부분이에요.
3) 마지막으로 가장 중요하게 생각하는 부분인데, 고집부리지 않는 것이 필요해요. 팀원들, 고객들이 불편하다고 했을 때 이렇게 만들어야 했던 이유나 변명을 만들기보단 인정하고 어떻게 하면 해결할 수 있을까 고민하는 태도가 중요해요.
Q. 기획자가 없이 제품을 개발하는 과정이 궁금해요.
진민: 사업그룹에서 초기 리서치와 꼭 필요한 기능에 대해 정리해 주세요. 꼭 들어가야 하는 기능에 대한 이유와 배경에 관해 설명해 주면 프로덕트 디자인 팀에서 전체적인 기능적 요소를 한 번 더 살펴보며 플로우를 설계해요. 마지막으로 소프트웨어 엔지니어팀에서 기능을 만들고 함께 최종 리뷰하며 보완하는 형식으로 제품을 만들어 나가고 있어요.
Q. 개발자와 디자이너가 직접 소통하며 기능을 구현하면 어떤점이 좋은가요.
진경 : 리소스를 고려한 기획을 할 수 있어서 좋아요. 보통 사업적으로 멋있는 기획일수록 상세한 부분까지 정해져서 개발자에게 전달되는 경우가 많아요. 상세한 기획에서 개발 리소스도 고려하면 좋겠지만 실무자가 아니면 리소스를 100% 파악하기 힘들어요. 개발에 투입되는 실무자들이 기획부터 참여하다 보니 리소스 배분에 더 효율적으로 배치할 수 있고, 린(Lean) 하게 일할 수 있는 것 같아요.
노란 벽돌이 100개 필요한데, 저희가 가용할 수 있는 벽돌은 80개 밖에 없어요. 20개 노란 벽돌을 추가 주문해야 하는데 그만큼 시간이 지체 되잖아요. 실무자들이 직접 조정하고 배치하다 보니 더 디테일하게 리소스를 안배 할 수 있어요. 어떤 벽돌이 얼마나 들어가는지 실시간으로 파악할 수 있고 동시에 가구 배치도 가능해지는거죠. 디자인 시스템에서 재활용할 수 있는 컴포넌트를 조합해서 최소화하고, 기획단에서 업무 효율화까지 계산하여 진행할 수 있다 보니 제품까지 전달되는 시간이 굉장히 짧아요. 다른 회사에 비해 큰 장점이라 생각합니다.
지훈 : 실무자끼리 컴포넌트와 페이지를 부르는 명칭이 완전히 똑같은 부분과 특정 페이지에서 어떤 데이터를 가져올 수 있는지 모두가 알고 있는 점 등. 커뮤니케이션에 들어가는 비용이 적은 게 큰 장점이라 생각해요. 물론 거기까지 가는 데는 시간이 좀 걸리고 힘든 과정이지만 한번 익숙해지면 작은 의사소통 비용으로, 효율적으로 일할 수 있는 것 같아요.
속도감 있는 개발이 가능한 것도 장점이라 생각합니다. 극단적으로 개발 속도를 내기 위해서 어떨 때는 화면을 안 그리고 그냥 문장만으로 제품을 만들어 내는 경우도 많아요. 저희가 만드는 제품은 정답이 없을 수 있어서 완벽한 기획을 통한 개발보단 빠르게 실행하고 고쳐 나가는 것이 중요한데 이런 환경에서 최적의 개발 방식이라 생각합니다.
진민 : 제가 생각하는 가장 큰 장점은 개발 속도가 빠르다는 거예요. 직접 소통하며 같이 만들면 제품을 빠르게 만드는 동시에 더 좋은 퀄리티로 만들 수 있어요. 그렇게 최소한 필요한 기능을 구현해 두고 런칭 전까지 개발자와 디자이너 그리고 사업그룹이 수시로 소통하며 프로덕트의 질을 높이는 작업을 하고 있어요. 기능을 개발하는 담당자가 바로 제품에 의견을 반영해 나갈 수 있는 게 강점 같아요. 사실 이런 개발 방식이 가능해지려면 활발한 소통과 기획 역량을 어느 정도는 가져야 해요.
동주 : 빠르게 수정하면서 완벽한 제품을 만들어 갈 수 있어요. 꼭 필요한 필수 기능과 그것이 작동하는 원리에 대해 파악이 되면 디자이너와 개발자가 런칭 전까지 수정을 반복하며 완벽하게 만들어 가요. 많은 단계를 거치지 않고 개발하다 보니 더 효율적인거죠.
성에 비유하면 꼭 필요한 조각은 베이스로 두고 여러 가지 색, 모양을 조합하여 성을 만들 수 있는 거죠. 지속적해서 소통하며 기능과 서비스를 개선하고 있어요. 그렇다 보니 개발자 입장에서는 유지 보수가 가능하고 재사용할 수 있는 코드를 짜는 데 더 집중할 수 있는 것 같아요.
Q. 코드박스와 핏한 개발자는 어떤 분들일까요?
동주 : 코드박스 채용의 허들을 높이는 말 같지만 코드박스는 소프트웨어 엔지니어가 풀스택 개발을 하고 있어요. 프론트엔드, 백엔드, 배포 프로세스 모두를 잘하고 개발 전반에 대한 관심이 있으신 분들이 핏한 개발자라 생각해요.
하지만 이 모든 것을 잘하고 좋아하시는 분들은 많이 없죠. 저 같은 경우는 혼자 프론트엔드, 백엔드, 배포까지 혼자 제 손으로 하는 걸 너무 좋아했고 학교 다니면서 개인적으로 프로젝트를 계속하고 있었어요. 그 익숙한 방식으로 B2B 제품을 만드는 것은 흥미로울 수 밖에 없었어요. 내가 하던 방식의 일부가 비슷하고 나아가 상용되는 서비스를 만들 수 있는 기회가 정말 특별했거든요.
코드박스에도 저처럼 개발하는 분들이 오면 좋겠지만 이 모든 것을 혼자 다 잘하거나 좋아하지 않아도 괜찮다고 생각해요. 프론트엔드, 백엔드, 배포 프로세스 등 중에 본인이 알고 있는 것을 100% 발휘해낼 수 있는 분이라면 저희팀에서 재밌게 같이 일할 수 있을 거라 생각해요.
Q. 주니어 개발자로서 코드박스로 합류하면 좋은 점이 있을까요?
동주 : 코드박스팀 개발자로 오시게 되면, 두 가지 장점이 있는 것 같아요.
1) 본인의 코드 스타일이나 짜놓은 로직 성능을 고려해서 리뷰를 하기 때문에 평소에 습관이 좋지 않으셨던 분들도 오시면 구조화된 코드를 만들어 가실 수 있는 것 같아요. 코드리뷰를 엄청 자세하고 상세하게 하고 있어요. 코드 수정되기 전까지는 절대로 실 서비스 내보내지 않아요.
2) 엔지니어링 측면에서 다양한 기술을 도입해 볼 수 있는 기회가 열려 있어요. 근거만 분명하다면 새롭고 다양한 기술을 도입하는 것에 열려 있는 조직이에요. 본인이 써보고 싶은 기술이 있다면 합리적인 이유에서는 변화가 가능한 조직이고 써볼 기회가 많을거에요.
Q. 진경님 코드박스에 테크리드로서 어떤 개발 문화를 만들고자 하시는지 궁금합니다
진경 : 이상한 것을 이상하다 말 할 수 있는 문화를 가지고 있어요. 조직이 오래 되다 보면 비효율적이지만 관성적으로 일하는 부분이 있을 수 있어요. 시간이 지나며 비효율적으로 변화했지만 이미 익숙해진 구성원들은 모르는 경우가 종종 있어요. 누구나 문제 제기를 할 수 있는 분위기를 만드려고 노력하고, 판을 만들어 드리려고해요. 어떤 개념적이고 제도적으로 만들어지는 것보단 습관화하는 게 중요한 것 같아요. 이런 문화가 가능한 이유는 더 좋은 결과를 위해 변화에 구성원 모두가 열려 있어요. 이상하다고 여기는 프로세스는 없애고, 비효율적인 부분을 없애려는 태도를 모두 가지고 있다보니 서로 개선하기 위한 불편한 이야기를 비교적 거부감 없이 이야기할 수 있는 것 같아요.
Q. [사전질문] ZUZU는 Python을 사용하는 것으로 알고 있어요. 기술 스택을 선정할 때 특별한 이유가 있는지 궁금하고 현재의 언어에 대한 어려움이나 불편한 점이 있을까요. 앞으로 바꿀 계획도 있으신지 궁금합니다.
진경 : 백엔드는 Python Django를 쓰고 있고, 프론트엔드에서 TypeScript를 쓰고 있어요.
프레임워크를 선택할 때 기준은 생산성이에요. ZUZU는 제품 검증, 보안, 피처 단위로 빠르게 구현하고 스케일업(Scale-up)하는 것이 중요한데 기술 스택 중 가장 적합한 것이 Python이라 생각했어요. 새로운 라이브러리나 프레임워크를 도입할 때 기준도 선택을 통해 생산성이 높아질 수 있는지를 보고, 팀에서 합의를 통해 결정하고 있어요.
예를 들면 지금 사용하고 있는 React 버전보다 신규 버전을 도입하면 코드 퀄리티가 어떻게 더 개선이 될 것 같다 라는 결론이 나면 도입을 하게 돼요. 생산성과 관련 없는데 새로 나왔고, 힙해 보이니까 도입하는 것은 지양하고 있어요. 트랜디하다고 해서 제품 코드를 다 갈아엎는 작업은 저희가 추구하는 바는 아니에요. 기술 스택이나 새로운 기술을 도입할 때 어떻게 생산성에 도움이 될지를 중요하게 보고 있어요.
Q. [사전질문] 모바일 개발자에서 백엔드 개발자로 전환을 꿈꾸고 있습니다. 당장 백엔드 관련 지식이 많지 않더라도 채용하시는지 궁금합니다. 만약 성장 가능성을 보고 채용하신다면 어떤 모습으로 성장 가능성을 판단하시는지 궁금합니다.
동주 : 앱 개발, 웹 개발 둘 다 그 프로세스에 있어서는 크게 다르지 않다 생각해요. 그 보단 앱을 얼마나 정성스럽게 만들었냐 그리고 그 과정을 얼마나 상세하게 설명해 줄 수 있냐가 중요한 것 같아요. 그리고 개발 과정에서 '왜'에 대한 스토리가 연결되면 좋을 것 같아요. 왜 이런 프로젝트를 하게 되었는지, 어떤 것에 관심이 생겨서 무엇을 해봤는지 그 과정에서 어떤식으로 보완하고 개선했는지에 대한 스토리가 있는지가 중요한 것 같아요. 스토리를 듣다보면 주도적인 개발을 했는지를 알 수 있다고 생각해요.
진경 : 채용 과정에서 기술 스택을 크게 보지 않아요. 개발 과정에서 끊임 없이 고민했다는 것 자체가 성장 가능성을 판단할 수 있다고 보고 있어요. 왜, 어떻게 개발을 했는지를 보면 기술 스택은 개발하기 위한 하나의 수단일 뿐이라 생각해요.
성장 가능성이 중요하게 생각하는데 개발만 잘해서는 저희 프로덕트를 잘 만들 수 없다고 생각해요. 도메인 자체가 어렵기 때문에 공부할 의지가 없다면 팀에 적응하기 어려울 수 있어요. 그래서 평소 공부하기 위해서 스스로 동기부여를 어떻게 하고 어떤 활동을 해 왔는지를 많이 보고 있어요. 실제 구현되는 앱을 만들어 보고 싶어서 어떤 노력을 해봤는지, 상상했던 뭔가를 만들고자 했던 경험과 열망이 있는지를 살펴 보는 것 같아요. 그런 분이 저희팀에 오셔서 적응을 잘 할 수 있다고 생각해요.
Q. 지원을 고민하시는 분들에게 한마디씩 부탁드립니다.
진경 : 소프트웨어 엔지니어는 풀스택, 디자이너는 CSS 써야 된다고 해서 겁먹지 않으셨으면 해요. 처음부터 모든 것을 할 줄 알고 조인하는 경우는 없어요. 합류 초기에 충분히 적응할 수 있도록 온보딩 하고 있으니 걱정하지 않으셨으면 좋겠어요. 기술 스택이나 외부적인 조건들 보다는 코드박스에 가서 어떤 역할을 해보고 싶다 어떤 것을 할 수 있을 것 같다는 느낌이 드시면 지원하셨으면 좋겠습니다.
동주 : 코드박스에 오시면 하나의 프로덕트를 정말 최고로 만들어 나가는 과정을 배울 수 있어요. 모두가 한 배에 타가지고 같이 발전시켜 나가는 거에 대한 재미를 느끼실 수 있거든요. 물론 엔지니어적인 측면에서도 성장하실 수 있고요. 이런 모든 것을 즐길 수 있는 분이면 지원하셔서 함께 할 수 있으면 좋겠습니다.
지훈 : 채용 페이지에도 적어 놓은 말인데 저희랑 함께한 시간이 커리어에 되게 빛나는 한 줄이 되었으면 좋겠어요. ZUZU를 만들었던 사람이면 믿고 다음에도 같이 일할 수 있는 팀이 되는 것이 목표이고, ZUZU 서비스 자체가 경쟁력이라고 믿는 사람들이 모여있는 곳이에요. 오셔서 같이 재밌게 일 하셨으면 좋겠습니다.
진민 : 소극적이고 수동적인 회사 생활에 질리신 분들이라면 환영해요. 적극적이고 효율적이고 성취감을 느끼고 싶으신 분이라면 코드박스로 오셔서 함께 프로덕트를 만들어 나가면 좋을 것 같습니다. 감사합니다.
더 알아보기
기술적인 것 외에 사용자 경험도 궁금해하는 사람이 오셨으면 좋겠어요.
예를 들어, 사용자가 이 버튼을 못 쓰게 하고 싶은데, 이때 사용자가 버튼을 누르지 못하게 하는 방식과 버튼을 숨기는 것에 어떤 차이가 있지? 이렇게 자연스럽게 궁금해하는 거죠.
의식적으로 고민하고요. 이런 특성을 가진 분이라면 ZUZU의 소프트웨어 엔지니어 그룹에 잘 맞으실 것 같고, 많은걸 성취하실 수 있을거라 생각합니다.
다른 디자인 팀에도 긍정적인 영향을 미치는 팀이 되고 싶어요.
저는 우리의 일하는 방식이 정말 좋다고 생각하는데, 과연 다른 디자이너들에게도 그럴까?
그냥 수소의 사람들한테만 사람들한테만 좋은 걸까? 하는 궁금증이 있어서요. Scrum 가이드라인처럼 저희도 저희의 일하는 방식을 잘 정리해서, 다른 팀들에도 도움이 될만한 어떤 지침 같은걸 만들어 보고 싶습니다.