brunch

You can make anything
by writing

C.S.Lewis

by 포자랩스 Apr 14. 2023

끊임없이 더 나은 기술을 고민하는

인터뷰/개발팀 백엔드

포자랩스의 개발팀은 SW 엔지니어, 프론트엔드 엔지니어 그리고 백엔드 엔지니어로 구성하고 있으며

현재 여러 서비스 개발을 맡고 있어요. 오늘은 그중 백엔드 엔지니어 주완님과 함께 포자랩스 개발팀 문화에 대하여 이야기를 나눠보았어요.

 


Q. 안녕하세요. 먼저 자기소개 부탁드려요.


주완: 안녕하세요, 저는 김주완입니다. 현재 B2C 서비스인 viodio와 AI 음원 생성 자동화 시스템(내부 제품) 백엔드 엔지니어로 일하고 있어요.



Q. 포자랩스 합류 과정이 궁금해요.


주완: 포자랩스에서 먼저 인터뷰 보자고 연락을 주셨어요. 그전에는 사실 포자랩스라는 기업이 있는 줄도 몰랐죠. 그런 포자랩스의 채용절차에 참여하며, 합류하기로 결정한 이유는 크게 두 가지가 있었어요.

첫 번째, 면접 때 과제에 대한 코드 리뷰를 받으면서 좋은 인상을 받았어요. 제출한 과제와 관련된 질문을 받고 대답하며 좋은 피드백 경험을 했다고 느꼈어요.

그런데 사실 제가 합류하기 전까지, 포자랩스 백엔드에서 자신의 의견을 제안하는 코드 리뷰는 대부분 선웅님이 하고 있었어요. 코드 리뷰를 하긴 하지만, 과제에 대한 피드백을 받을 때만큼의 설계에 대한 고민이나 코드에 대한 의견을 주고받는 리뷰는 아니었죠.

하지만 저는 과제에 대한 피드백을 받을 때만큼의 설계에 대한 토론을 기대했기 때문에, 저부터 제 생각을 코드 리뷰에서 공유하기 시작했어요. 그랬더니 팀원들도 리뷰에서 조금씩 자기 생각을 이야기하게 됐고, 그러면서 자연스럽게 리뷰 문화가 정착되기 시작했던 것 같네요.

어쩌다 보니 합류하게 된 계기보다는 리뷰 문화가 정착하게 된 이야기까지 이어지긴 했지만, 어쨌든 제가 기대했던 문화를 팀원들과 함께 만들어 나가는 경험도 하게 되어 좋았던 것 같아요.


두 번째 이유로, 앞서 말씀드린 것처럼 제가 제의 받았을 때의 포자랩스는 관련 기사도 거의 없었고 홈페이지도 유지 보수가 되고 있는 상태가 아니었기 때문에 어떤 회사인지 잘 알 수 없었어요. 그래도 합류 여부 결정을 위해 포자랩스에 대해 열심히 검색했었습니다.

그러다가 이전에 포자랩스에서 인턴으로 일하셨던 분의 회고록 같은 블로그 글을 발견할 수 있었어요. 그 글을 읽으면서 그분 스스로도 열심히 노력하는 분 같았지만, 포자랩스라는 회사도 구성원의 의견을 존중하고 동기부여도 될 수 있는 환경을 제공하고 있다는 생각을 하게 되었던 것 같아요. (읽은 지 오래되어 자세히는 기억나지 않지만요.)

그래도 위와 같은 점을 발견하고 포자랩스에 합류하고 싶었어요. 개발자로서 빠른 성장을 기대할 수 있는 환경이라고 생각했거든요. 개인적으로는 성장이야 어느 곳을 가든 잘 할 수 있다고 생각하지만, 환경이 갖춰졌을 때는 그 속도를 더 빠르게 할 수 있다고 생각했거든요.



Q. 다른 회사와 포자랩스의 코드 리뷰 문화가 어떻게 다른가요?


주완: 제가 이전에 다녔던 회사는 코드 리뷰 문화가 없었습니다. 다른 사람이 제 코드를 읽거나, 제가 다른 사람의 코드를 읽을 일이 많지 않았어요. 아키텍처를 설계하고 설득할 필요도 없었죠. 코드에 대한 팀원 간의 합의가 이루어질 수 있는 환경은 아니었던 것 같아요.


제가 합류했을 때의 포자랩스 백엔드는 적어도 팀 간의 합의를 하면서 개발하고 있었어요. 즉, 팀이 개발하면서 지향해야 하는 철학이 있었죠. 이 철학은 각자의 코드를 평가할 기준이 되었기 때문에, 어느 정도 일관성 있는 코드를 작성하도록 서로의 코드를 리뷰할 수 있었어요.



Q. 포자랩스의 개발 철학은 무엇인가요?

주완: 가장 우선이 되는 것은 비즈니스입니다. 결국은 사용자에게 가치를 전달할 수 있어야 개발 의의를 찾을 수 있다고 생각하거든요. 그리고 지속적으로 가치를 전달할 수 있도록 이해하기 쉬운 코드를 지향합니다. 따라서, 코드 사용자 관점에서 코드를 작성합니다. 코드를 처음 보는 사람이라도 해당 코드를 이해할 수 있어야 유지 보수하기 용이한 코드라고 생각하거든요. 마지막으로는, 코드 사용자 관점에서 이해하기 쉬운 코드는 읽기 쉽고 테스트 가능한 코드라고 정의하고 있어요. 읽기 쉬운 것 자체가 코드 사용자가 코드를 이해하는 데에 큰 도움을 줄 수 있으며, 어떤 입력에 어떤 출력을 기대하는지를 테스트 코드로 명시해두면 코드 사용자의 이해를 도울 수 있을 것이라 생각하기 때문이죠.



Q. 현재 백엔드 팀원들이 직면한 문제는 무엇이고, 그 문제를 어떻게 해결하고 있나요?


주완: 일반인들도 쉽게 작곡을 해볼 수 있도록, 작곡 자동화 시스템(서비스) 개발하는 것이 가장 큰 당면 과제에요. 이를 위해 모놀리식(monolithic)으로 구축된 아키텍처를 세분화된 목적의 작은 모듈들로 분리하고, 작곡하려는 사용자의 수준이나 니즈 등에 따라 각 모듈들이 재조합되어 재사용될 수 있는 아키텍처를 설계 및 구현하는 작업을 진행하고 있어요.



Q. 포자랩스에서 일하는 동안 어떤 부분에서, 얼마나 성장했다고 느끼시나요?


주완: 여러 부분에서 빠르게 성장했는데요. 그중 pytest를 활용한 테스트 코드 작성 능력을 꼽을 수 있어요. 새로운 분이 합류해도 이해하기 수월한 테스트 코드를 작성하려고 부단히 노력했어요. 지난 1년간 리드 개발자님과 함께 회고 과정을 거쳐 어떤 부분에서 타협하고, 또 어떤 부분에서 엄격해야 하는지 등을 토론하고, 고민하는 경험을 통해 성장했다는 게 느껴져요.


그 외에 또 python에서 의존성을 제어하는 방법과 커뮤니케이션 능력이 성장했다고 생각해요. 포자랩스는 특히나 작곡팀도 있고 다양한 직무의 팀원들이 모여있잖아요. 저는 작곡을 해 본적도, 음악이라는 분야를 다뤄본 적도 없었어요. 작곡 도메인 지식이 없다 보니, 제가 모르는 것이 무엇인지 정의하는 것도 어렵고 해서 질문을 하기도 어려웠네요. 그래도 여러 수단을 사용해가며 소통하다 보니 자연스럽게 내가 알고 있는 개념을 모르는 사람도 이해할 수 있도록 설명하는 능력이나, 모르는 것을 표현하는 능력 등을 성장시킬 수 있었다고 생각합니다.


 

Q. 그렇다면 포자랩스의 백엔드 개발자로 일하는 가장 큰 매력 포인트는 무엇인가요?


주완: AI 음악이라는 다소 비범한(?) 분야를 경험을 할 수 있다는 점이 가장 큰 매력이에요. 그렇기 때문에 대부분의 개발자들에게는 익숙치 않은 것을 학습하는 능력을 기를 수 있죠.



Q. 앞으로 개발팀의 방향은 어떻게 되나요?

주완: 보다 정교한 AI 음원 생성 자동화를 통해 음원 생성 시간을 단축하고, 음원의 퀄리티를 향상시킬 수 있도록 끊임없이 고민하며 달려나갈 예정이에요.



Q. 개발팀과 함께 성장할 수 있는 동료상에 대해 설명해주세요.


주완: 무엇을 구현해야 하는지 혹은 구현했는지 설명할 수 있는 분. 확장성 및 재사용성을 고려하여 설계하는 분. 문제를 찾아 개선하는 걸 즐기는 분을 찾고 있어요. 그 외에는 *DDD를 사용해 보거나, 실무에서 적용해 본 경험이 있으면 더욱 좋고요. 떠오르는 생성 AI 개발에 참여해 사용자에게 사용 경험을 제공해 보고 싶은 모든 분들을 환영해요. *DDD: 아키텍처 설계 방식



Q. 마지막으로 가장 좋아하는 아티스트와 최애 곡은 무엇인가요!


주완: 아티스트는 따로 없지만 좋아하는 곡은 메이플스토리 시간의 신전 BGM과 인생의 회전목마입니다.





포자랩스 홈페이지

포자랩스 채용

매거진의 이전글 비즈니스 목표를 코드로 구현하는 개발자의 일
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari