직무 인터뷰
리척님의 직무인터뷰
스트리미 연구소는 건강한 조직문화를 가지고 있다고 자신합니다!
도전을 두려워하지 않고 적극적인 분이라면 언제든 환영입니다!
"새로운 도전을 두려워 하지 않는 분이라면 환영입니다!"
스트리미 연구소는 능력 향상과 지식에 대한 열정이 크고 도전적인 조직입니다.
여러 가지 새로운 것들을 시도하는 데에 거리낌이 없고 적극적인 분이라면 언제나 환영입니다.
[ PART1. 프로덕트팀의 TL(Technical Leader) 리척님을 소개합니다! ]
▶자기소개 부탁드립니다!
안녕하세요. 스트리미 연구소 프로덕트팀에서 TL(Technical Leader)로 근무하고 있는 리척입니다.
어릴 적 SPC-1000, Apple II+ 8비트 PC로 베이직, 어셈블리를 독학을 하면서 프로그래밍에 입문했고, 대학에서 컴퓨터 과학을 전공했습니다. 닷컴 버블 때 지인들과 함께 스타트업을 잠시 했었고, 20년 정도 제조 산업 관련 솔루션 개발을 했었습니다. 계속 같은 도메인에 있기 보다 새로운 도메인에 도전해 보고 싶어서 스트리미에 입사하게 되었습니다.
풀스택 개발자로 일해오면서 다양한 분야에 흥미를 가지다 보니, 백엔드, 프론트엔드, 데브옵스 가리지 않고 일을 하고 있습니다. 현재는 프로덕트팀의 프론트엔드 TL(Technical Leader)로 업무를 진행하고 있습니다.
▶프론트엔드팀의 TL(Technical Leader)를 맡게 된 계기가 있을까요?
처음 스트리미에 합류했을 때 프론트엔드팀 리더의 부재로 팀원분들이 어려움을 겪고 있는 상황이었습니다. 당시 프론트엔드팀의 팀원분들을 보았을 때 실력과 열정이 가득했기에 방향을 잡아준다면 더 멋진 팀으로 성장할 수 있지 않을까라는 생각이 들었습니다.
초기에는 팀 빌딩을 하며 어려운 점도 있었지만, 지금은 그 어떤 팀보다 열정적이고 성숙한 문화를 가지게 되었다 자부합니다.
▶업무를 하시면서 가장 중요하게 생각하는 부분이 있나요?
아무래도 금융거래를 하는 도메인이다 보니, 치명적인 버그가 있으면 안 되기 때문에 안정성을 최우선으로 하여 업무를 진행하고 있습니다.
각자 개발한 코드는 코드 리뷰를 거쳐야만 develop 브랜치에 머지하도록 규칙을 정하고 있습니다. 코드 리뷰는 특정인에게 할당하는 게 아닌 모든 팀원들이 같이 리뷰를 진행합니다. CI 단계에서 여러 가지 정적 코드 도구와 테스트를 통과해야만 빌드가 성공하도록 되어 있어서 코드 품질과 안정성을 계속 향상시키기 위해 노력하고 있습니다.
큰 빌딩을 지으려면 설계와 기초가 튼튼해야 하는 것과 마찬가지로, 개발에 있어서도 설계와 기반이 되는 CS 지식이 중요합니다. 당장 일정에 맞춰서 개발하는 것도 중요하지만, 이보다는 장기적으로 봤을 때 확장성 있고 안정성 있는 방향으로 개발을 진행하는 것이 중요하다고 생각합니다. 이를 위해 코드 리뷰를 할 때도 나무를 보기보다는 숲을 보면서, 어떤 것이 이 코드를 미래에도 계속 보게 될 나와 동료들을 위한 것인지를 고민하고 방향을 공유하고 있습니다. 클린 코드, 클린 아키텍처, 디자인 패턴, SOLID 원칙 등에 대한 이해도가 중요한데, 사실 주니어 개발자의 경우 아무리 책으로 이런 걸 읽어봐도 직접 경험해 보지 못하면 뜬구름 잡는 소리처럼 들리게 됩니다. 코드 리뷰나 스터디를 진행하면서 실제 코드를 통해 이런 것들을 적용하는 방법을 공유하려고 노력하고 있습니다.
▶팀을 이끌 때 가장 중요하게 생각하는 부분이 있나요?
개인의 성장과 일에 대한 흥미를 존속하느냐입니다.
한 도메인에서 일을 계속하다 보면 어느새 일이 익숙해지면서 흥미를 느끼지 못하게 되고, 새로운 것을 찾아 이직을 할까 고민하는 순간이 오게 됩니다. 프론트엔트 팀은 구성원들이 다들 배움에 대한 열정이 많다 보니, 최대한 이를 충족하면서 일을 할 수 있도록 여러 가지 노력을 하고 있습니다.
사내에서 필요한 간단한 사이드 프로젝트를 진행하면서, 관심 있는 새로운 기술을 실제로 적용하기도 하고, 특정 언어에 관심이 있다고 하면 해당 언어로 진행을 해보기도 합니다.
[ PART2. 리척님이 이끄는 스트리미 연구소는? ]
▶스트리미의 프로덕트팀은 어떤 일을 하는 팀인가요?
연구소의 프로덕트팀은 Web 프론트엔드/ iOS / Android / QA 팀으로 구성되어 있습니다.
사용자들에게 직접 보이는 제품을 만드는 팀이라고 보면 될 것 같습니다. 프론트엔드팀은 웹에서 실행되는 모든 페이지(PC 웹, 모바일 웹) 개발을 담당하고 있습니다. 현재는 주로 React를 사용해 개발을 하고 있습니다.
▶프론트엔드팀은 어떻게 구성되어 있으며 각자의 역할은 어떻게 되나요?
Web 프론트엔드팀은 현재 9명으로 구성되어 있습니다.
각자 맡은 역할이 정해져 있지는 않으며, 프로젝트가 생길 때마다 이 일을 해보고 싶다 하는 분들의 신청을 받아서 우선적으로 배정을 하는 방식으로 일이 진행됩니다. 팀원 개개인의 선호하는 분야나 기술들이 모두 다르기 때문에, 가능하면 하고 싶고 재미있어하는 업무를 할 수 있도록 노력하고 있습니다.
▶프로젝트마다 신청을 받아 업무를 배정한다고 하셨는데, 신청 업무가 겹칠 때 어떻게 업무를 배정하나요?
프로젝트가 생기면 모든 팀원분들과 토론을 하여하고 싶은 일에 대해서 지원을 받아 우선 배정을 하는 형태로 진행하고 있습니다. 한 파트에 2-3명이 겹칠 때는 당사자들끼리 협의를 하는 형태로 진행을 하거나, 일의 우선순위를 고려하여 여유가 있는 분들에게 선배정을 하고 있습니다. 이번에 원하는 파트를 가져갔다면 다음번에는 다른 팀원에게 양보를 하기도 하고 상당히 자유롭게 진행되고 있습니다.
개인 업무를 먼저 끝냈다면 다른 팀원분들의 파트에 조인하여 최대한 하고 싶은 파트에 대한 갈증을 없앨 수 있도록 조율하고 있습니다.
▶스트리미 연구소의 문화는 어떤가요?
수평적이면서 자율적인 분위기라고 할 수 있을 것 같습니다.
새로운 기술과 지식 습득에 대한 열정이 많은 분들이 많아서 스터디 모임도 활성화되어 있습니다. 스터디하고 싶은 책을 정해서 자율적으로 스터디원을 모집하면 회사에서도 이에 필요한 지원을 해주고 있습니다. 많이 하시는 분은 동시에 3-4개까지 하시는 분들도 있습니다. 그러고 보니 저도 3개에 참여하고 있네요.
프로덕트팀의 경우 전원 재택근무를 시행하고 있습니다. 사무실에서 일할 때보다는 얼굴을 마주 보고 대화할 일이 많이 없지만, 이전부터 Jira, Slack 등을 잘 활용해오고 있어서 재택을 하면서도 별다른 불편함은 없었습니다. 오히려 개발자의 특성상 재택근무를 하면서 혼자 집중해서 일을 할 수 있고, 근무시간을 유연하게 활용할 수 있는 장점이 있어서 다들 책임감 있게 맡은 일을 잘 처리해 주고 있습니다. 각 팀별로 분위기가 조금씩 다르긴 하지만, 재택을 하면서 주기적으로 티타임도 가지고 있고, 슬랙 채널에서 수다도 떨면서 다들 재미있게 일을 하면서 만족도도 높은 것 같습니다.
▶근무를 하시면서 가장 기억에 남는 일이 있나요?
작년 9월에 실명계좌 발급에 어려움이 있었던 날을 빼고는 얘기할 수 없을 것 같습니다.
전날까지만 해도 당연히 실명계좌 획득한다고 생각하고 퇴근을 했었는데, 아침에 출근해서 실명계좌 획득에 실패해서 원화 거래소를 오후 3시까지 닫아야 한다는 말을 들었을 때 정말 당황스러웠습니다. 하지만 당장 급한 건 코드를 수정해서 원화 거래소를 닫아야 하는 일이었고, 각 팀마다 아침에 일찍 출근하신 분들이 총대를 메고 이 작업을 해주셨는데, 일사불란하게 문제없이 이를 해결해 주셨던 게 가장 기억에 남습니다.
실명계좌를 획득하지 못해서 거래량이 줄어들고, 미래가 불투명해 보일 수도 있는 상황에서, 아무도 이탈하지 않고 한마음으로 똘똘 뭉쳐서 다시 실명 계좌를 오픈할 때까지 열심히 해주신 팀 동료들이 너무 자랑스럽고 고마울 따름입니다.
▶스트리미에서 이루고 싶거나 해보고 싶은 업무가 있나요?
대부분의 스타트업들이 필수적으로 거쳐가는 코스인데, 서비스 초창기에 만들어진 코드가 시간이 지나면서 한계를 드러내면서 레거시가 되어가고, 이를 갈아엎어야 하는 시점이 오게 됩니다.
현재 프론트엔드팀의 경우에도 레거시 코드를 걷어내고 새로운 코드로 전환을 해야 하는 시점인데, 거래와 관련되어 계속 서비스를 하고 있는 입장이라, 최대한 안전하게 점진적으로 변경해 가는 과정에 있습니다. 언젠가는 지금 변경하는 코드들이 레거시가 되는 시점이 올 텐데, 하나의 기술에 의존하지 않고 필요에 따라 여러 가지 알맞은 기술들을 적용해가면서 유연한 서비스를 전환할 수 있도록 마이크로 프론트엔드로 전체 서비스를 구성해 보고 싶습니다.
프론트엔드 QA 테스트 작업을 자동화하는 것도 해보고 싶은 일 중 하나입니다.
e2e(end-to-end) 테스트를 만들어 놓고도, 유지 보수가 제대로 되지 않아서 결국 사용하지 않게 되는 경우가 많습니다. 개발 인원이 많아지면서 변경사항이 많아질수록 수동으로 리그레션 테스트를 하기에는 한계가 오기 때문에, 최대한 빨리 문제를 발견할 수 있도록 자동화된 테스트가 커버할 수 있는 테스트 케이스의 범위를 넓히는 것이 중요해집니다. 최대한 지속 가능하면서도 많은 영역을 커버할 수 있는 유연한 자동화된 테스트 시스템을 QA 팀과 함께 구축해 보고 싶습니다.
[ PART3. 과거 그리고 미래 ]
▶스트리미를 한마디로 표현하자면?
"덕필유린(德必有隣)"
덕이 있으면 따르는 사람이 있어 외롭지 않다는 뜻인데요. 신뢰를 바탕으로 정도를 걸어가고 있기 때문에 많은 분들이 저희를 믿고 지지해 주고 계신 것 같습니다. 앞으로도 초심을 잃지 않고 끊임없이 도전하고 성장해서 더 많은 분들과 함께 할 수 있을 거라 생각됩니다.
▶프로덕트팀(프론트엔드)에 합류를 희망하시는 분들께 한마디
프론트엔트 팀의 슬랙 채널은 항상 시끌벅적하다고 해야 할까요. 일과 관련된 얘기도 하면서 수다도 떨면서 항상 활발하고 재미있는 분위기입니다. 그러면서도 뭔가 문제가 생기면 담당자와 상관없이 서로 도와주면서 먼저 일을 맡아서 해결하려고 하는 등, 언제나 등 뒤를 믿고 맡길 수 있는 든든한 전우와 같은 느낌입니다.
팀에서는 매 분기 하루 정도 날을 잡아 팀 내 기술 세미나를 진행하고 있습니다. 회사일과 관련이 없더라도 본인이 공유하고 싶은 게 있으면 준비해서 팀원들과 공유를 합니다. 회가 거듭될수록 다들 의욕이 넘쳐서 그런지 처음에는 세션당 30분의 일정이 길게는 1시간씩 소요되기도 하는 등 다들 열정적으로 참여를 하고 있습니다.
다들 본인의 능력 향상과 지식에 대한 열정이 크고 도전적이다 보니, 여러 가지 새로운 것들을 시도해 보고자 하는 경우도 많습니다. 이런 경우 관심 있는 사람이 조사해서 팀원들에게 공유하고, 팀원들의 합의가 이루어지면 이를 적용하는 방식으로 진행합니다.
현재 사용하는 기술은 주로 React, TypeScript 를 사용하고 있습니다. 레거시 코드를 걷어내는 작업이 끝나고 나면, 앞으로는 svelte.js, solid.js 와 같은 다음 세대 프레임워크도 사용을 해보려고 준비를 하고 있습니다. 개인적으로는 solid.js 공식 문서 번역에 컨트리뷰션을 하고 있어서 solid.js 에 대한 관심이 많습니다.
이런 프론트엔드팀의 분위기와 본인의 성향이 잘 맞을 것 같고, 도전적이면서도 재미있게 같이 일을 하고 싶으신 분들은 언제나 환영합니다. 합류하시면 후회하지 않으실 거라 생각합니다!!