[비정기 태블릿 챕터] 시작합니다!
슬링의 태블릿 챕터에 대해 이야기를 하게 될 iPadOS 개발자 김필권입니다.
안녕하세요!
슬링의 태블릿 챕터에 대해 이야기를 하게 될 iPadOS 개발자 김필권입니다.
저는 어떤 조직이 잘하고 있더라도 바깥에 알리지 않는다면 그 조직이 잘하고 있다는 사실은 아무도 모를 거라고 생각합니다.
하지만 개발자가 글로 팀을 알리는 것이 유의미한 고객 가치를 만들어 내는 결과로 이어지는 것은 정말 어려운 일이기 때문에 항상 우선순위에서 밀리기 마련이었습니다. 그렇게 2년을 미뤘더니 정말 바깥에 있는 분들은 저희를 전혀 모르시더라구요…
이제는 비정기적으로나마 이렇게 글을 써서 바깥에 계신 분들도 저희를 알 수 있게 만들어 보려고 합니다.
태블릿 챕터?
태블릿 챕터라는 이름이 익숙하지 않으실 것 같은데요, 슬링에선 안드로이드 개발자와 iPadOS 개발자를 하나의 기능 조직으로 묶어서 태블릿 챕터라고 부르고 있습니다.
그리고 단순히 하나로 묶는 것을 넘어서 어떻게 보다는 무엇을 만들지에 집중하자라는 목표를 가지고 플랫폼별 개발자 간 협업도 활발히 일어나는, 슬링에서 가장 크고 중요한 기능 조직 중 하나입니다.
플랫폼별로 사용하는 언어가 다르기 때문에 프로젝트는 별도로 존재하지만, 언어에 의존성이 없는 영역인 도메인 계층과 유즈케이스 계층에 대해서는 같은 지식수준을 가지고 최대한 동일한 형태로 가져가려고 노력하고 있습니다.
오르조 서비스의 플랫폼별 출시 시기가 다르기 때문에 어쩔 수 없이 기능 격차가 있는데요, 올해 2분기에는 이 기능 격차를 줄이기 위해서 채용이나 온보딩 프로세스 개선뿐만 아니라 특정 기능을 잡고 공통 계층으로 빼내서 다시 만들어 보는 작업을 모두 같이 하고 있습니다.
비정기 태블릿 챕터란?
저희는 “비정기 태블릿 챕터”를 통해서 슬링 태블릿 챕터가 어떤 것을 하고 있는지, 무얼 잘하고 있는지, 어떤 어려움을 겪었고 어떻게 해결했는지 등 태블릿 챕터에서 생기는 일 중에서 바깥에 있는 분들과도 공유했으면 하는 내용을 비정기적으로 공유하려고 합니다.
당연히 알리는 것으로 끝나지 않고, 비정기 태블릿 챕터를 통해서 좋은 분들이 많이 합류하셔서 같이 고객 가치를 극대화할 수 있었으면 합니다!
태블릿 챕터가 생각하는 좋은 팀
챕터에서 합의된 “좋은 팀”을 한 문장으로 정리하자면 다음과 같습니다.
각 구성원이 잘하는 영역과 호기심을 가지는 영역을 지도로 표현하고 각자의 지도를 겹쳤을 때 그 지도가 넓어질수록 좋은 팀이다.
이 문장은 잘못하면 “겹치는 사람은 뽑지 않는다”라고 오해할 수도 있는데요, 그것보다는 내가 무엇을 잘하고 궁금해하는지 잘 알고 있으며, 그것을 리더도 잘 알아서 각자가 최상의 고객 가치를 만들도록 조율할 수 있는 팀이라고 이해하시는 것이 맞겠습니다.
태블릿 챕터의 기본 전제
챕터의 각 구성원이 자기가 원하는 방향으로만 개발한다면 그건 동아리지 회사가 아니기 때문에 저희는 더 나은 방향으로 가기 위해 몇 가지 전제를 두고 있습니다.
슬링의 태블릿 개발자가 일을 대하는 태도
우리가 사용자에게 제공할 수 있는 가치는 세 가지입니다.
- 부정적 가치 (ex. 버그, 충돌)
- 긍정적이고 직접적인 가치 (ex. 새로운 기능, 더 나은 UX)
- 긍정적이고 간접적인 가치 (ex. 자동화, 아키텍처)
슬링의 태블릿 챕터는 항상 지속 가능성을 생각하며 부정적 가치를 제거하고 긍정적 가치를 직간접적으로 제공해 최종 고객의 가치를 극대화하는 것에 집중합니다.
선언적으로 일하자
선언형 프로그래밍의 그 선언적(Declarative)가 맞으며, 태블릿 챕터는 어떻게 만들지 보다 무엇을 만들지에 집중하자는 목표를 가지고 있습니다.
물론 세상에 완벽한 기술은 없기 때문에 모든 것을 선언적으로 해결할 순 없지만, 맥락 없이 최신 유행 기술만 좇는 것을 경계하고 일관된 선택으로 우리가 만드는 고객 가치에 더 집중하자는 의미로 이해하시면 될 것 같습니다.
앞으로 다룰 내용
챕터 소개 잔뜩 해놓고 다음 글이 몇 달 있다가 나오면 템포 끊길 것 같아서 일단 당분간은 한 달에 최소 한 번은 글을 작성하려고 합니다.
당장 생각 중인 주제는 1) 태블릿 챕터의 정기 배포와 플랫폼별 실제 워크플로우 설명, 2) iPadOS 프로젝트의 에러 핸들링 방식, 3) SwiftUI+TCA를 사용하며 겪은 성능 개선 경험 등이 있습니다.
정기 배포는 모든 개발 블로그가 다루는 내용인 것 같지만, 그만큼 모두에게 익숙한 주제라 가장 먼저 준비하고 있으니 기대해 주세요!
다음 글에서 뵙겠습니다. 감사합니다!
