About Freewheelin
home
프리윌린 미션/비전 * 5가지 원칙
home
💻

백엔드

생성일
2022/12/08 06:21

Q. 프리윌린에서 맡은 역할과 업무에 대해 소개 부탁드려요.

백엔드 개발에도 수많은 영역이 있습니다. 아키텍쳐 설계, 개발, 데이터베이스, 인프라 등 다양하지만 우리는 스타트업이다 보니 백엔드팀 모두가 해당 업무들을 함께 해내고 있으며 함께 하는 것을 추구하고 있어요.
업무로는 현재 서비스되고 있는 매쓰플랫의 유지/보수와 모두가 깜짝 놀랄 신버전의 개발을 진행하고 있습니다. 현 버전에서는 전반적인 요청을 처리하는 서버와 클라우드 프린팅 서버, 고객 관리 시스템, 그리고 수학 콘텐츠 관리시스템을 유지/보수하고 있습니다. 그리고 신버전을 준비하는 현재, 해당 서버들의 개발 역시 담당하고 있습니다.

Q. 프리윌린 백엔드 개발자로서 언제 성취감을 느끼시나요?

모든 개발자가 그렇겠지만 사용자에게 더 나은 서비스를 제공할 때 가장 성취감을 느낍니다. 제가 바꾼 소스 코드가 반영되고, 사용자들에게 호평 받을 때 기분이 좋습니다. 예를 들어 기존 앱에서 사용자가 유사 문제를 요청했을 때 3초 정도 걸리던 것을 단축시키거나, 기존보다 더 높은 유사성의 문제를 추천해줄 수 있도록 시스템을 개선할 때 뿌듯함을 느낍니다.
다른 예로는 아무도 못 찾은 오류를 찾아서 해결하는 순간입니다. 사용자는 잘 몰랐던 오류일수도 있고, 느꼈지만 크게 신경 쓰지 않았던 오류일지라도 해결하면 성취감을 느끼는 것 같습니다.

Q. 프리윌린의 백엔드 개발자로서 익혀두면 좋은 기술이나 주로 사용하는 언어가 무엇일까요?

저희는 인프라 구축을 위해 전산 센터를 운영하는 것이 아니라, 아마존에서 운영하는 AWS를 사용하고 있습니다. 개발 언어는 코틀린과 자바를 주로 사용합니다. 구버전에는 자바로 이루어진 코드가 일부 있으나 신버전에서는 코틀린을 우선적으로 택하려고 합니다. 코틀린과 AWS, SQL에 대해서 경험이 있다면 업무 적응에 수월할 것이라고 믿습니다. 하지만 언어의 경우엔 한 가지 언어를 깊게 이해하고 있다면 다른 언어를 습득하는 것도 수월하기에 부담을 갖지 않아도 될 것 같습니다.

Q. 주로 어떤 부서와 협업이 이뤄지고, 협업 과정에서 중요한 것은 무엇일까요?

기획디자인팀의 기획자 분들과 많은 소통을 합니다. 서비스를 운영하다 보면 사용자들로부터 다양한 요구 사항과 불편 사항들이 수집됩니다. 기획디자인팀에서 그런 내용들을 정리하고 개선을 고민하며 그 결과를 개발팀에서 반영하기 때문에 소통이 많을 수밖에 없습니다.
또한, 매쓰플랫은 자체적으로 보유한 문제은행 기반의 서비스이기 때문에 문제 하나 하나가 모두 소중한 자산이며 이를 제작, 관리하는 부서는 콘텐츠 팀입니다. 따라서 콘텐츠팀과도 많은 소통을 나누고 있으며 주로 어떻게 데이터를 관리하고 사용자들에게 보여줄 지에 대한 소통을 하고 있습니다.
협업 과정에서 중요한 것은 팀별 목표를 우선 순위에 맞게 배치하는 것이라 생각해요. 회사가 커지고 서비스가 고도화될수록 팀이 분화되고 각 팀별로 우선시하는 목표가 달라지는 경우가 있을 수 있습니다. 예를 들어, 저희 팀에서는 데이터 정제를 1순위로 삼았으나, 다른 팀에서는 새로운 기능을 만드는 게 우선일 수도 있어요 장기적으로 어떤 부분을 먼저 해결해야 저희 서비스에 좋을지 판단해 우선 순위를 맞춰가는 과정이 중요한 포인트인 것 같습니다.

Q. 백엔드 개발자로 일하시면서 도전적인 과제를 수행하신 대표적 사례를 소개해 주실 수 있나요?

아직 끝나지는 않았지만, 계속 말씀드렸던 비밀병기 신버전을 만드는 것입니다. 대대적으로 인프라, 코드, 데이터베이스를 모두 수정하고 있기 때문에 상상을 초월하는 대규모 프로젝트입니다. 사용자의 측면에서는 그저 서비스의 기능을 개선하고 이용하기 편리한 기능을 추가한 정도로 보일 수 있지만, 개발 내부적으로는 완전히 새롭게 설계되고 구현된 새로운 서비스입니다.
또한, 현 버전에서 신 버전으로 데이터를 얼마나 빨리 그리고 안정적으로 이관하는 지가 성공적 전환의 핵심이라고 생각하며 이를 위해 불철주야 열심히 연구하고 준비하고 있습니다.
신 버전으로의 전환 이후에는 사용자들의 불편이나 요구사항을 더욱 빠르게 개선하고 제공할 수 있기에 내/외부적으로 효율성이 강화될 것이라 믿고 있습니다.

Q. 백엔드 팀 개발 문화 중 공유하고 싶은 문화가 있을까요?

개발을 하다 보면 문제 상황이 발생할 때가 종종 있습니다. 이 경우 그 문제만을 덮기 위해 추가 개발을 하기 보다는 이 문제가 왜 발생했는지, 언제부터 발생했는 지를 찾아내려고 노력하고 있습니다. 혼자서 하는 것이 아닌 백엔드 개발팀 전체가 자유롭게 토론하고 원인과 해결 방안을 찾아가며 근본적인 원인을 찾아 해결하는 문화를 추구합니다.
그리고 백엔드팀 화이트 보드가 따로 있습니다. 개발하고 있는 것이 잘 안 풀리거나, 공유하고 싶은 것이 있으면 써 놓고 공유하는 용도인데요. 작성한 걸 보여주면 정말 바쁜 사람을 제외하곤 함께 문제에 대해 토론하며 소통합니다. 의자만 돌리면 바로 화이트보드가 보이기 때문에 쉽게 의견을 나눌 수 있는 환경이고 이 과정을 통해 서로 간의 의견 공유도 활발하고 막히는 문제도 쉽게 풀어나가고 있습니다.