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