2020년 회고

chanju Jeon·2020년 12월 23일
2

회고

목록 보기
1/2

2020년도 이제 3% 정도 남았다. 다 같이 행복하고 즐겁게 웃을 수 있는 2020년이 되었으면 한다는 2019년의 내 생각은 완전히 반대 상황이 된 느낌이다. 2월부터 시작된 코로나 19 바이러스 영향은 여전히 심각한 상태이며 중간에 출근하긴 했었지만, 장기적으로 전사 재택근무 환경이 만들어졌다.

그동안 누구보다 리모트워크를 원했지만 자유롭게 할 수 있을 때와 강제적으로 해야 할 때, 원하는 어떤 장소에서 일할 수 있을 때와 집에서만 있어야 할 때의 차이는 너무나도 컸다. 매일매일 롤러코스터처럼 오르락내리락하는 단계를 보면서 가슴 졸이고 활동을 줄일 수밖에 없었다. 하루하루만 보고 산 영향인지 어느 순간 2020년의 마지막이 다가와 있었다.

2020년 회고를 쓰기 위해서 내가 그나마 기록을 남긴 SNS(Facebook, Twitter)를 월 단위로 모두 돌아봤다. 앞만 보고 사느라 잊고 있었던 과거의 내 모습과 생각들이 다시 떠올랐다. 참 많은 다짐을 하고 또 실패하고 다시 도전하고 때로는 좌절하기도 했었던 거 같다. 생각해보면 2020년 만의 내 모습이 아니라 우리가 사는 인생이 모두 이런 모습일 것이다. 이번에도 내가 작게나마 세웠던 목표들과 2020년에는 무슨 일이 있었는지 다시 생각해보고 정리해두기로 했다.

채용, 협업

올해를 관통하는 키워드 중에 코로나, 리모트워크를 제외하고 채용, 협업을 빼놓을 수 없다. Android 2명, iOS 2명이던 팀은 상반기에 Android 5명, iOS 5명으로 10명이나 되는 팀이 되었고, 현재는 Android 6명, iOS 6명까지 늘어난 상태이다.

채용을 위해서 직무기술서(JD)도 작성하고, 지원자의 코드를 보기 위해서 간단한 사전 테스트 과제를 만들기도 했다. 많은 이력서를 검토하고 오프라인, 온라인으로 면접을 진행했다. 면접을 준비하고 진행하는 과정에서 배울 점과 생각해볼 만한 점들이 많았다.

사실 채용을 준비하는 과정이나 면접보다 더 어려웠던 점은 늘어난 팀과 그 속에서 어떻게 협업을 잘할 수 있을지에 대한 고민과 개선이었다. Android와 iOS를 모두 포함해서 5명 이상인 적이 없었고, 플랫폼별로 2명씩 있을 때는 서로 적절히 업무 분배하고 맡은 일만 잘해도 큰 문제가 없었다. 하지만 3명 이상이 협업하면서 서로의 경험이나 생각이 모두 다르기 때문에 이전과 다른 협업이 필요하다는 사실을 깨달았다.

가장 먼저 공통의 규칙을 만들기 시작했다. 코드 스타일 가이드를 만든다거나 커밋 템플릿, 코드 리뷰 가이드, PR을 쪼개는 방법들에 대해서 정리하고 공유했다. 효율적인 코드 리뷰와 코드의 일관성을 위해서 앱 아키텍처도 하나로 맞추고 서로 연습하고 템플릿을 만들어서 적용했다. 두 명이 있을 때는 생각하지 못했던, 혼자서는 할 수 없었던 일이었다. 여전히 매주 서로의 생각을 공유하고 더 개선할 수 있는 것을 찾아서 계속 맞춰가는 중이다.

팀원이 많아지고 협업을 하면서 그동안 할 수 없었던, 생각하지 못했던 많은 것을 조금씩 만들어나가고 있는 것 같다. 그리고 나 자신도 여러 명의 생각을 듣고 이야기하면서 많이 배우고 변화할 수 있었다.

작은 목표들

MVC to Clean Swift

클린 아키텍처에 대한 이야기를 많이 듣고 관심을 가지기 시작할 때쯤 우연히 Clean Swift 아키텍처를 발견하고 공부하면서 채용 과제를 만들어보기도 하고 프로젝트에 일부 도입해보기도 했다. 기존에 MVC로 구현된 레거시 코드나 그보다 조금 나은 MVVM이지만 스타일이 제각각인 코드를 보면서 하나의 통일된, 그리고 이해하기 쉬운 아키텍처를 찾고 있었다.

Clean Swift는 역할 분리가 잘 되어 있었고, 데이터의 흐름도 단방향이라서 이해하기 쉬웠다. 무엇보다 템플릿이 제공돼서 공통의 코드 스타일로 만들기에 좋아 보였다. 팀에서 공통 아키텍처를 고르는 과정에서 Clean Swift를 채택했고, 실제로 써보고 코드 리뷰를 하는 과정에서 불편한 점들도 많이 보여서 조금 수정해서 사용하고 있다.

Unit Test to CI Server

작년 회고에서 달성하지 못한 것에 있었던 테스트 작성을 올해부터는 신경 쓰기 시작했다. 많은 스쿼드에서 다양한 기능을 추가하고 예전보다 잦은 출시가 되면서 앱의 안정성을 조금 더 생각하게 되었다. 또한 Clean Swift를 도입하면서 테스트를 작성하지 않는다면 반쪽짜리 아키텍처이며, 오버 엔지니어링이라는 생각도 있었기 때문이다.

Clean Swift는 뷰와 비즈니스 로직이 잘 분리되어 있어서 Interactor 위주로 테스트를 작성하는 연습을 했다. TDD보다는 Use Case 자체가 Test Case 가 될 수 있도록 BDD에 더 관심을 두고 공부했다.

테스트를 잘 작성해도 지속해서 테스트를 실행해서 깨진 테스트가 없는지, 테스트가 모두 통과하는지 계속해서 관리해야 한다. 요구사항은 계속 변하고 테스트 케이스 또한 낡기 때문이다. 지금은 Bitrise를 도입해서 Pull request를 만들면 테스트가 자동으로 실행될 수 있는 환경을 만들었다.

Storyboard to SwiftUI

SwiftUI는 작년 WWDC에서 발표했을 때부터 가장 관심이 가는 기술이었고, 복잡하고 반복적인 UI 구현을 정말 쉽게 만들어줄 것만 같았다. 하지만 iOS 13 이상이라는 제약조건과 발표 당시에는 완전해 보이지는 않았다. 개인적으로는 두 번째 버전(?)인 올해 WWDC 이후에는 쓸만하지 않을까 생각했었고 작게나마 시작해보고 싶었지만 결국 다양한 튜토리얼 구현만 해보고 끝나고 말았다.

2021년 목표

기록하기

Bear를 조금 더 잘 쓰거나, Notion을 적극적으로 써보거나 불렛저널을 사용해봐야겠다.

생산하기

너무 소비적인 삶을 사는 것 같아서 조금 생산적인 삶을 살고 싶다. 콘텐츠든 앱이든 만들어보자!

달성하기

분기별로 OKR을 만들고 목표 지향적으로 살기, 회고하고 개선하기도 포함임~


2020년 회고를 쓰면서 과거에 썼던 회고들과 올해 SNS 기록을 모두 둘러봤다. 올해 코로나 때문에 많은 제약과 어려움, 우울함 등이 있었지만 그래도 계속해서 긍정적으로 생각하기 위해서 노력했던 것 같다. (정확하게는 이상적인 생각으로 현실왜곡장을 만든 게 아닐까 하는 생각이 든다...)

2018년 회고를 보면 그때가 가장 열정적으로 보냈던 것 같다. 어디서 그런 동기부여가 생기고 에너지를 얻었을까, 버킷리스트를 만들고 행동했기 때문일까,

profile
write is code, think ux design.

2개의 댓글

comment-user-thumbnail
2021년 1월 4일

SwiftUI 좋아보여서 기대가 많이 되는데
아직까지는 현업에서는 사용하기엔 이르군요.
그래도 분명히 메인스트림이 될 것 같아서 미리 공부 많이 해놓으면 좋을 것 같네요

저도 한번 사용해보려구요!

1개의 답글