2022. 6. 5. 09:24ㆍDeveloper History
문제를 푸는 것의 즐거움
배를 만들게 하고 싶다면 배를 만드는 방법을 가르치려 하기 전에
그들에게 바다에 대한 끝없는 동경을 심어주라.
그리하면 배를 만드는 방법을 찾아낼 것이다 -Saint-Exupéry
5월 들어 회사 책상에 앉아있는 시간이 꽤나 길어졌다. 아침에 운동하고 회사에 도착하면 한 7시 반 정도 되고, 퇴근은 2호선 지하철에 사람이 가장 적을 때인 8시 반 ~ 9시 반 정도에 한다. 병역특례 군인들이 전원 출근하도록 지침이 나온 이후로 6월부터는 매일매일 출근을 해야 하는데 때맞춰 신림선 경전철이 5/28일 개통해서 출근 시간이 20분은 줄었다.(만세)
일찍 출근하거나 늦게 퇴근한다고 뭔가를 더 주는 건 아니지만, 요새 하고 있는 일이 굉장히 재미있어서 조금이라도 더 일찍 하루를 시작하고 싶어졌다. 조금 더 강조해서 말하자면 나는 내가 하고 있는 일이 궁극적으로 만들어낼 그림을 "동경한다". 그 때문에 출근해서 자리에 앉는 것을 "일을 한다", "대체 복무를 한다"가 아니라 "너무너무 재미있고 도전적인 문제가 있어서 이걸 풀기 위해 하루 종일 매달려있다"의 느낌으로 받아들이게 되었고 하루 종일 이 생각만 하면서 지내는 것 같다.(심지어는 이 문제가 풀리는 꿈도 자주 꾼다!) 더 이상 이 문제에 흥미를 느끼지 못한다면 그때가 내가 떠나야 하는 시점이 아닐까 하는 생각마저 들 정도다.
내가 푸는 문제는 "학생에게 공평한 교육을 제공한다"는 비전 하에 중장기적으로는 학생들에게 "맞춤형 교육(Adaptive Content)"을 제공하는 것이다. 이를 위해 전사적으로 큰 설계를 진행하고 있는데, 이를 위해 어떤 것들이 갖춰져야 하는지, 이 큰 바퀴를 한번 돌리려면 어떤 부속들이 필요하고 어떻게 맞물려서 돌아가야 하는지, 그리고 예상했던 그림이 나오지 않았을 때는 어떻게 해야 하는지 등등을 고민하다보면 하루가 지나있을 때가 많다. 현재는 Frontend Part TL의 역할을 맡고 있어서 이런 큰 그림에 대한 정보들을 훌륭한 리드분들에게서 얻을 수 있는 기회들도 많다.
문제를 푸는 것에 몰두하다보니 시간이 지나면서 "정말 뛰어난 프론트엔드 개발자가 되고 싶다"라는 생각에서 "이 거대한 바퀴가 잘 돌아가서 학생에게 필요한 맞춤형 컨텐츠들을 제공하는 그림을 보고 싶다"라는 생각으로 옮겨갔고, 그 때문에 최근에는 프론트엔드 뿐 아니라 AI Lab, Backend, Infra 등등 많은 부서의 사람들과 만나면서 이 거대한 바퀴에 대한 이야기들을 나누게 되었다. 프론트만 잘한다고 해결될 문제가 아니라 전사의 여러 부서들이 효율적으로 협력해야만 이 문제를 풀 수 있을 것 같다는 생각이 들어서다.
물론 내가 이 바퀴를 돌리기 위해 가장 크게 기여할 수 있는 부분은 단연 프론트엔드 개발이기 때문에 이 부분에 소홀해지지 않으려 많은 시간을 쓴다. (아마 대부분의 시간을 쓰는 것 같다.) 하지만 짜내고 짜내면 하루에 2~3시간 정도는 다른 부분들에 대해 공부할 시간이 생기는데 최근에는 "지식그래프(Knowledge Graph, 이하 KG)"에 매료되어 있어서 이 부분에 대한 공부들을 물어물어가면서 하고 있다. Lab 분들로부터 여러 자료 추천을 많이 받았는데, 최근에는 구글과 아마존의 KG 관련 아티클과 논문들을 읽으면서 우리가 지식을 어떤 식으로 쌓고 조직할 수 있는지에 대해서, 추후 이를 활용해서 학생들에게 어떻게 "Adaptive Content"를 제공할 수 있는지에 대해서 흥미로운 공부 거리가 많이 생겨 조금이라도 시간이 생기면 보게 되는 것 같다. (아직까진 뭔 소리를 하는 건지 모르겠는 것들이 많지만)
팀 문화와 애자일
앞서 "문제를 푸는 것"에 대해 중요하게 생각하다보니 문제를 풀기 위해서는 어떤 것들을 해야 할까에 대해서 자연스럽게 생각이 이어지게 된다. 문제를 잘, 그리고 빠르게 풀기 위해서는 뛰어난 사람들이 이 문제를 해결하는 것에 대해 매료되어야 하고, 그래서 이 문제를 해결하는데 참여해야 한다고 생각했다. 이러한 과정이 순조롭게 이루어지기 위해서는 "좋은 팀 문화"가 뒷받침되어야 할 것이다.
최근 "함께 자라기"라는 책에서 굉장히 인상깊은 글을 읽었는데, 우리가 하는 일을 "Meta"를 기준으로 크게 3가지로 분류할 수 있다는 내용이었다. 간단하게 A, B, C로 명시했는데, A단계의 일은 그냥 컴포넌트를 개발하고, QA를 통과시키고, 테스트 코드를 작성하는 일반적인 개발을 의미하고, B는 A의 메타로서 "A를 잘하기 위해"할 수 있는 일, 즉 "빌드 파이프라인을 개선하고", "코드를 잘 유지하기 위해 lint, prettier를 도입하고", "모노 레포를 도입하고", "스터디를 만든다"등의 일을 의미한다. 인상 깊었던 부분은 C단계의 일이었는데, C단계의 일이란 B의 메타로서 "B를 잘하기 위해" 할 수 있는 일, 즉 팀 내의 수많은 구성원들이 "A를 잘하기 위해 무엇을 고민할까?"의 B단계의 고민을 할 수 있는 배경을 만들어주는 일을 의미한다. 그리고 이는 곧 "팀 문화"를 의미한다 고 개인적으로 결론을 내렸다.
팀원들이 스스로 "우리가 일을 더 잘하기 위해 무엇을 할 수 있을까?"를 고민하게 만드는 문화를 제공한다면 B단계의 고민들이 애자일 하게 이루어질 수 있을 것이며, 각각의 고민들은 "이야기를 꺼내도 무시받지 않고", "좋은 의견이라면 환영받고, 적합하지 않은 의견이라면 좋은 피드백과 함께 격려를 받는" 문화 안에서 팀을 높은 수준으로 끌어올릴 수 있을 거라 생각했다.
이러한 기준에서 현재 콴다 프론트엔드 팀이 잘하고 있는 부분들도 있고, 미처 챙기지 못한 부분들도 보이는데, 현재 진행 중인 "애자일 레이드"에서 이번 분기가 끝나기 전에 이를 좀 개선해보려 한다.
'Developer History' 카테고리의 다른 글
개발일지 (7월 회고) (3) | 2022.07.31 |
---|---|
개발일지 (6월 회고) (0) | 2022.07.03 |
개발일지 (4월 회고) (0) | 2022.05.05 |
개발일지 (3월 회고) (0) | 2022.04.15 |
개발일지 (2월 회고) (0) | 2022.02.28 |