셀파스 개발팀을 소개합니다.

셀파스 개발팀을 소개합니다.

작년 한 해 동안, 셀파스 개발팀은 팀의 DNA를 만들기 위해 노력해 왔습니다.
어떻게 일할 것인지, 무엇에 가치를 둘 것인지를 치열하게 고민하다 보니 우리만의 특징이 하나둘 자리 잡기 시작했습니다. 이 글을 빌어 팀의 현재 모습과 지향점을 정리하고 소개해보겠습니다.

셀파스 개발팀은 프로덕트 엔지니어를 지향합니다. 프로덕트 엔지니어는 코드적 기여와 함께 제품의 의미와 영향력에 대해 고민하고, 고객에게 정말 필요한 제품을 만들기 위해 적극적으로 행동하는 구성원을 의미합니다. 이 정의는 제품 개발 과정에 녹아있습니다. 
평범한 워터폴 방식에서 개발자는 완성된 스펙을 전달받고, 구현 단계에서 일을 시작합니다.

                                                     

이는 큰 조직에서 세분화된 기능을 개발하기에 적합할 수 있어도, 항로 수정이 잦은 스타트업에는 어울리지 않습니다. 셀파스 개발팀의 개발 프로세스는 아래와 같습니다.

유저 스토리의 리뷰/보완단계부터 PO, 디자이너, 개발팀 전원이 참여합니다. 이를 통해 제품에 대한 이해를 최고 수준으로 유지함과 동시에, 자연스럽게 누구나 모든 곳에 기여할 수 있게 됩니다. 또한 중요한 제품, 기술적 결정에 대한 심리적 안정감을 가질 수 있습니다.

중요한 부분은 구현-문서작성/수정-공유의 피드백 루프를 통해 요구사항의 숨겨진 부분을 발견하고, 이를 구현으로 녹인다는 것입니다. 미지의 영역을 탐험하는데 처음부터 완벽한 항로는 있을 수 없습니다. 실제 개발과 디자인이 진행되는 과정에서 새롭게 발견되는 문제를 상수로 받아들이고 있습니다. (관련 글 : PM의 ‘진짜 성장’은 언제 올까? , 관련 영상 : Design in Practice)

셀파스 개발팀은 복잡성을 제어하기 위해 노력합니다.

실무자의 인지부하를 줄이고 핵심가치에 집중할 수 있도록 하는 것에 진심입니다.
인지부하가 줄어들면 기존 코드를 쉽게 이해할 수 있고, 장애 원인을 빠르게 확인할 수 있습니다.

매일 오전 코드 리뷰를 통해 구현 패턴에 대해 이야기하고, 맞춰가는 시간을 가집니다. 구현패턴이란 문제를 코드로써 해결하는데 활용되는 정형화된 방식입니다. 더 이해하기 쉽고, 단순한 해결책을 찾기 위해 노력하고 공유합니다.

테스트 작성을 중요하게 생각합니다. 잘 작성된 테스트는 코드 리팩토링후엔 성공하며 안정감을 주고, 주요 로직 변경시엔 실패하여 경고를 줍니다. 순수 로직과 부수효과를 분리한 함수형 아키텍쳐를 지향하며, 순수 함수에 대한 유닛 테스트의 비중을 높이는 것을 목표로 하고 있습니다.

복잡한 것은 안 만드는 것이 최고지만, 필요없는 부분을 없애는 것도 중요합니다. 그 맥락에서 안쓰이는 코드와 리소스를 지속적으로 제거합니다. 어차피 git에 남으니까요! 

복잡성을 다루는 이야기는 테크 블로그에서 지속 연재할 예정입니다.

마지막으로, 개발팀은 풀스택 함수형 프로그래밍 언어 Clojure 를 사용합니다.
Clojure를 표현하는 세가지 키워드는 ‘단순함’, ‘실용성’, ‘표현력’ 입니다. 

(출처: The Joy of Clojure)

Clojure는 최소한의 문법과 예약어들로 이뤄져 있기 때문에 누구나 쉽게 배울 수 있고, 풍부한 Java와 JavaScript의 생태계를 바로 활용하며 코드에 적용할 수 있는 장점이 있습니다. 언어가 제공하는 풍부한 코어 함수는 읽으면 자연어처럼 이해되는 코드를 작성할 수 있게 해줍니다.

무엇보다 Clojure로 하는 코딩은 정말 즐겁습니다!

Clojure가 가장 실패한 것은 마케팅이라는 얘기가 있습니다. 동의합니다. Clojure를 더 많은 분들께 알리고, 커뮤니티와 함께 성장하기 위해 셀파스에선 팁스타운에서 꾸준히 클로저 밋업 을 개최하고 있고, 작년말엔 함수형 컨퍼런스인 liftIO를 주관했습니다.

YC의 창업자 폴 그레이엄은 평균을 뛰어넘기 라는 에세이를 통해 LISP(Clojure의 기원)언어의 강점에 대해 얘기한 적이 있습니다. Clojure는 셀파스 개발팀의 최종병기입니다.

공감이 되시나요? 개발팀에 대해 더 알고 싶은 부분이 있으신가요?

주저없이 커피챗(tlonist@sherpas.team, https://www.linkedin.com/in/sanghyun-harry-kim)을 신청해주세요. 더 깊은 얘기를 나눠보실 수 있습니다!

감사합니다.