엔지니어링 @ 텀블벅 — 핵심 가치들 v1.0

리차드
Building tumblbug
Published in
6 min readJan 10, 2017

이상한모임이 주최하는 이모콘 2016 FW에서 텀블벅의 엔지니어링에 관해 이야기했습니다. 텀블벅 소개에서부터, 저희에게 있는 목표, 그리고 엔지니어링 팀에 대한 이야기였습니다.

그중 텀블벅의 소프트웨어 엔지니어들이 일하고, 성장하고, 체계를 만드는 기준으로 삼고 있는 텀블벅 엔지니어링의 핵심 가치에 관해 구체적으로 이야기해 보고자 합니다. 이 핵심 가치들을 처음부터 만들고, 엔지니어링 팀을 꾸리지는 못했습니다. 하지만 작은 규모의 소프트웨어 엔지니어링 팀을 키워 나가고, 팀원이 성장하고, 프로세스를 도입하는 데에 있어 흔들림 없는 핵심 가치가 필요하다는 생각에서 작년 초에 팀원들과 정립하게 되었습니다(v1.0). 이는 내부적으로 팀의 전략뿐 아니라 함께 일할 훌륭한 팀원을 채용하는 데에 중요한 기준으로 기능합니다.

텀블벅 엔지니어링 팀의 핵심 가치는 세 가지 영역으로 분류합니다

  1. Impact
  2. Growth
  3. Communication

Impact: 우리는 영향을 만듭니다

  1. 우리는 “창작자들을 위한 사회적 유틸리티”가 되고자 하는 텀블벅의 미션을 믿으며 우리 작업에 대한 주인의식을 가집니다.
    텀블벅의 소프트웨어 엔지니어는 단순한 코딩 기계가 아닙니다. 우리는 외부에서 주어지는 작업을 받아들여서 코드를 만들어 내지 않습니다. 텀블벅의 미션인 “창작자들을 위한 사회적 유틸리티”를 진정으로 믿고, 이 믿음에서 시작한 작업의 주인은 온전히 창작하는 우리들 자신입니다.
  2. 우리는 “내 일이 아니야”가 아니라 “내가 한번 볼게”를 실천합니다.
    우리는 서로 다른 역할을 수행할 수 있지만, 같은 미션을 바라보는 한 팀입니다. 특정 작업의 상황이 좋지 않아졌거나 상황 파악이 필요할 때, 설사 그 일을 만든 사람이 자신이 아닐지라도 우리는 적극적으로 그 문제의 원인을 파악하고 같이 해결해 나갑니다.
  3. 우리는 작은 마일스톤들을 자주 달성합니다.
    덩치가 크거나 복잡한 엔지니어링 문제가 발생하더라도 그 문제를 한 번에 해결할 수 있는 묘수를 찾기 보다는, 그 일을 잘게 나누어서 해결하는 방식을 우선합니다.
  4. 우리는 높은 수준의 코드 품질을 고집하며 기술 부채를 최소화합니다.
    스타트업에서 중요한 건 속도지만, 그 속도를 최우선시하며 기술 부채가 쌓이는 걸 무시하지는 않습니다. 장기적인 관점에서 기술 부채는 더 큰 빚, 갚아야 할 짐이 됩니다. 우리는 코드 품질을 타협하지 않고 문제를 해결하여, 장기적인 속도전에서 가장 빠르게 가려 합니다.
  5. 우리는 누구나 실수할 수 있다는 사실을 충분히 이해하며, 실패나 오류 발생에 대한 책임을 묻지 않습니다.
    실패 없이는 혁신도 있을 수 없습니다. 우리는 지속적인 실험 또는 혁신을 추구하고, 그것에 따른 실수가 생길 수 있다는 점을 인지하고 있습니다.
  6. 우리는 최대한 생산적이고 효율적인 업무 방법을 추구합니다.
    같은 문제를 해결하는 데에도 우리는 끊임없이 더 생산적이고 더 효율적인 방법을 찾고 있습니다. 우리는 그러한 방법을 도입하고, 익숙한 프로세스를 대체하는 데 주저하지 않습니다. 작은 팀이 큰 미션을 달성하기 위해서 업무 방법의 효율성은 굉장히 중요합니다.

Growth: 우리는 끊임없이 성장합니다

  1. 우리는 적극적으로 언어, 프레임워크, 프로세스, 그리고 업계 트렌드에 대해서 학습합니다.
    개인이 성장하고 팀이 성장하기 위해서는 효율적인 프로세스를 발견하고, 자신이 익숙한 지식을 벗어나서 새로운 것을 끊임없이 체득해야 한다고 믿습니다. 특히나 새로운 기술이 기존의 것을 대체하며 완전히 다른 패러다임을 제시하는 경우가 많은 현 시대에 각 팀원의 성장은 꼭 필요합니다.
  2. 우리는 서로에게 각자가 아는 지식과 정보를 공유합니다.
    각자가 지속적으로 성장하며 배운 지식과 정보를 서로에게 공유하여 팀의 성장을 도모합니다.
  3. 우리는 제품을 만들면서 배우고 경험하는 것들을 나눔으로써 더 큰 커뮤니티에 기여합니다.
    내부에서만 팀원들끼리 공유하는것이 아니라 대외적으로도 우리가 속한 커뮤니티에 우리가 제품을 만드는 데 배우고 경험한 것을 공유합니다.

Communication: 우리는 개인이 아닌 팀으로 소통합니다

  1. 우리는 우리가 쓴 코드가 아닙니다.
    우리는 코드 리뷰를 통해 피드백을 주고받을 때, 자신이 쓴 코드와 자신을 분리해야 할 필요가 있습니다. 코드에 관한 피드백은 나 개인에 대한 의견이 아닙니다. 그것은 우리가 그 시점에 만든 코드에 관한 피드백일 뿐입니다.
  2. 우리는 상시로 업무 상태를 소통합니다.
    물론 의사소통 없이도 훌륭한 기술을 구현할 수는 있습니다만, 우리는 지속적인 소통을 통해 훌륭한 제품을 만들기를 원합니다. 특히 일이 원하는 방향으로 되고 있지 않을때, 우리는 그것을 덮고 혼자 해결하려고 하기보단, 잘 풀리지 않은 문제를 동료들에게 소개하고 이에 대해 소통하는 것을 추구합니다.
  3. 우리는 서로에게 건설적인 피드백을 주고받는 것을 당연하게 생각합니다.
    자신이 맡은 역할이나 속한 직무, 경험이 많고 적음에 관계없이 우리는 동료들이 주는 건설적인 피드백을 긍정적으로 여기고, 이러한 피드백을 통해 개인 및 팀이 성장할 수 있다고 믿습니다.
  4. 우리는 서로를 존중합니다.
    팀이 모여 공통된 비전을 바라보고 일하기 위해선 서로에 대한 존중이 바탕이 되어야 한다고 생각합니다. 개인의 능력이나 경험이 다른 사람의 존중보다 위에 있지 않다고 믿고 있기에, 다른 사람을 존중하지 않은 사람은 우리와 함께 일할 수 없습니다.
  5. 우리는 항상 ‘나’, ‘너’가 아니라 ‘우리’라는 단어를 사용합니다.
    개개인으로는 이룰 수 없는 비전의 실현을 위해 우리는 함께 팀을 이루어 훌륭한 제품을 만든다고 생각합니다. 다른 동료와 의견을 주고받을 때, 우리는 개인이 아닌 항상 팀을 바탕으로 이야기하는 태도가 우리가 함께 일하는 팀의 기본 언어라고 믿고 있습니다.

이제까지 설명한 텀블벅의 소프트웨어 엔지니어링 팀의 핵심 가치뿐 아니라 텀블벅 서비스와 엔지니어와 디자이너와의 협업을 아우르는 발표를 했습니다. 발표 슬라이드를 보시고 저희가 만드는 서비스, 엔지니어링팀 그리고 만드는 방법에 대해 조금 더 알게 되면 좋겠습니다.

엔지니어링@텀블벅

저희는 항상 텀블벅의 비전을 위해 훌륭한 제품을 같이 만들 팀원을 찾고 있습니다. 관심 있는 분은 채용 공고 페이지를 참고해 주세요.

--

--