개요
새로운 일로 가득해 행복하기하고 설레기도 했지만, 걱정되기도 했던 2024년이 드디어 마무리 되었다. 한 해 동안 이런 저런 핑계로 블로그 글을 단 하나도 쓰지 못했지만, 올해 많은 일이 있었던 만큼 2024년의 회고록 만큼은 남겨 만회해보려 한다 ㅎㅎ
첫 직장, 새 출발
2024년의 메인 이벤트라고 하면 역시 내가 첫 직장에서 새 출발을 했다는 것이다. 네이버라는 회사는 상상 이상으로 일하기 좋은 회사였고, 주변에 부러워하는 사람들도 정말 많았다. 하지만 입사 초반에는 흔히 말하는 입사뽕에 취해있다기 보단, 어떻게 하면 빨리 1인분을 할 수 있을지만 하루종일 고민했던 것 같다. 나는 취업하기 전에도 안드로이드 개발에 정말 자신감이 넘쳤다. 좋은 회사에만 들어가면 내 실력을 맘껏 뽐내며 매일매일 즐겁게 일할 수 있을 것 같았다.
그런데 현업의 벽은 생각보다 높았다. 무엇보다, 보편적인 안드로이드 앱 개발이 아닌, SDK 개발팀에 배치된 영향이 컸다.
나는 비교적 최신 기술에만 민감한 편이었고, 이에 대해 자부심을 갖고 이를 바탕으로 여러 외부 활동이나 기업에 합격했었는데 막상 일을 시작하니
이러한 기술들을 쓸 기회가 없었다. 오히려 나에게 부족했던 기초적이고 원초적인 개념을 요구하는 게 많았고, 이는 내가 일에 적응하는데
큰 장벽이 되었다. SDK는 외부 라이브러리의 의존성을 최소화해야 한다. 아니, 최소화가 아니라 외부 의존성을 아예 없애야 한다.
여여러 다양한 라이브러리들을 import 하고 있는 서비스앱에서 우리가 만든 SDK 를 사용할 때 버전 충돌이 있을 수 있기 때문에,
외부 라이브러리 없이 기초적인 것부터 하나하나 만들어야 한다. 예를 들어 HTTP Client, 이미지 로더, 비동기 처리 시스템이 그 예이다.
허용되는 것은 오로지 Android 또는 Kotlin/Java 에서 공식으로 지원하는 모듈 또는 API 뿐이다. 취업 전까지만 해도
안정적이고 유용한 오픈소스를 많이 아는 것 또한 실력이라고 생각했던 나에게 외부 라이브러리를 아예 쓰지 않고 처음부터 다시 개발하는 것은
굉장히 낯설고 어색한 일이었다. 이 뿐만 아니라, 항상 라이브러리의 인터페이스를 갖다가 호출만 했던 내가 라이브러리 입장이 되어 외부에서
쓸 수 있도록 인터페이스를 열어주는 개발을 하는 것도 정말 어색했다. 또한 앞서 언급했듯 최대한 많고 다양한 서비스들에서
우리의 SDK 를 이용할 수 있어야 하기 때문에, 하위 버전 호환성 고려도 굉장히 중요했다. 내가 입사했을 당시 2024년 초에 우리 팀에서
minSdk=19
를 적용 중이었는데, 안드로이드 개발을 하는 사람이라면 이게 얼마나 보수적인 수치인지 알 것이다.
한 마디로, 항상 물건을 사는 입장이었던 내가 이제는 최대한 많은 사람들이 살만한 물건을 파는 입장이 된 것 같았다.
또, SDK 라는 것 뿐만 아니라 일하는 부서의 도메인 또한 큰 난관이었다. 나는 광고 개발 부서에서 디스플레이 광고 SDK 개발팀에 속해있는데, 이 광고라는 도메인이 정말 복잡하다. 입사하기 전까지만 해도 나에게 광고는 그저 거슬리기만 하고 클릭하기 싫지만 여기저기 뜨는 귀찮은 존재였는데, 그 작은 광고 하나에 정말 많은 기술이 들어가있었다. 광고 앞단은 유형에 따라 국제 기구에서 정한 표준이 있으며 이 표준을 따라 개발하고 있었고, 뒷단에는 광고 타겟팅, 실시간 입찰, 노출 측정 등등 수많은 로직들이 수행되고 있었다. 사실 도메인이라는건 기획자나 디자이너한테나 중요한거고 개발자는 개발만 잘하면 되는 줄 알았는데(개발도 잘 못하지만), 도메인을 모르면 결국 해결할 수 없는 벽과 마주쳤던 것 같다. 예를 들면, 왜 이렇게 개발했지? 라는 의문이 드는 코드가 있을 때, 수많은 고민 끝에 답을 알아냈는데 그 답은 이 광고의 국제 표준 스펙이 그렇기 때문에 원래 이렇게 개발하는 것이었다.
이러한 환경 덕분에 초반에 일에 적응하는 데에 정말 많은 힘이 들었지만, 그에 따라 얻은 것도 정말 많았다. 우선 SDK 개발 특성 상 앞에서 언급했던 것처럼 기본에 충실해야 하기 때문에 잊고 있었던 기본적인 안드로이드 및 Java 개념을 많이 다질 수 있었다. 그리고 광고 SDK 는 여러 네이버 앱들 뿐만 아니라 외부의 다른 수많은 앱들도 사용하고 있었기 때문에, SDK 에서 오류가 나면 굉장히 치명적이었다. 그러다 보니 최대한 안정성을 보장하는 방식의 개발 방법도 배우고, 취업 전까지 작성해 본 적 없던 테스트 코드에도 너무나 익숙해졌다. 무엇보다 처음 입사했을 때는 방대한 양의 복잡한 코드를 읽고 구조화하는 것이 굉장히 어려웠는데, 이제는 어떤 복잡한 코드던 부딪힐 수 있다는 자신감이 생겼다. 예전에는 오픈소스들의 코드를 직접 뜯어보는 것에 엄두를 못 냈는데, 이제 어느정도는 맛 볼 수 있게 된 것 같다.
개발 외적으로도 정말 많이 성장했다. 우선 우리 팀원 분들이 인간적으로 굉장히 좋은 분들이라는 행운이 있었다. 첫 직장에 갓 입사한 막내를 정말 많이 배려해주셨고, 가르쳐주셨다. 그리고 커뮤니케이션적인 부분이 정말 인상적이었는데, 우리 팀 뿐만 아니라 같이 일하시는 모든 분들이 미팅이건 메신저이건 소통하고 공유하는 방식이 정말 직관적이고 깔끔했다. 그런 환경에 있다보니 나도 그러한 방식에 물들어 자연스럽게 커뮤니케이션하고 있는 나를 발견할 수 있었다.
앞서 말했듯이 입사 초에 나는 1인분에 집중하고 있었는데, 막상 여름이 지나고 가을이 올 때 쯤엔 어느새 이러한 걱정을 할 겨를도 없이 바쁘게 일감을 쳐냈다. 그런 시기가 지나 겨울이 오고 조금 한가해지니 이제 언제쯤 1인분 하지? 라는 생각은 들지 않는다. 그저 내년 1분기엔 또 어떤 기능 추가가 있을까… 그런 생각 뿐이다. 회사에 들어온 신입이 1인분을 하게되는 순간은 일에 몰두한 나머지 1인분을 해야한다는 생각마저 흐려지는 때가 아닌가 싶다.
사이드 플젝은 못 참지
첫 취업한 올해에도 역시나 사이드 프로젝트를 멈출 순 없었다. 올해를 기점으로 지금까지 약 20개가 넘는 사이드 프로젝트를 진행한 것 같다. 올해는 2개의 사이드 프로젝트를 진행했는데, 모두 Kotlin Multiplatform과 Compose Multiplatform을 사용했다. 작년부터 멀티플랫폼에 대한 관심을 서서히 높이고 있었는데, 올해 드디어 관심을 실행으로 옮길 수 있었다.
오프라인 모임 기록 - 모이미
오프라인에서 만난 모임에 대해 기록하고 통계를 보여주는 Android/iOS 앱이다. 기획자 1명, 디자이너 2명, 프론트엔드 4명, 백엔드 3명, 모바일 1명으로 총 11명이서 시작한 프로젝트이다. 이 프로젝트를 진행하면서 KMP와 CMP에는 정말 빠삭해질 수 있었다. 처음엔 정말 간단한 기능부터 개발해서 최대한 빠르게 MVP를 출시하고자 했지만, 역시나 대부분의 사이드 프로젝트가 그렇듯 기획에 대한 욕심이 점점 불거지며 꽤나 헤비해지게 되었다. 그러다보니 첫 출시에만 필요한 기능이 카메라, 위치 정보, 파일 업로드/저장, 이미지 압축, 푸시 알림, 웹뷰 브릿지 등이 필요하게 되었고, 이 모든걸 네이티브가 아닌 멀티플랫폼으로 구현했다. 다행히 오픈소스 라이브러리가 어느정도 잘 되어 있었지만 관리가 잘 안되는 라이브러리도 있었고, CMP 특성상 아직은 버전이 올라갈 때마다 큰 변경점들이 생기고 하위 호환성이 잘 고려되지 않는 경우들이 많아서 동작이 안되는 오픈소스들도 있었다. 그러다보니 직접 iOS 쪽 네이티브 코드를 짜는 경우도 있었고, 오픈소스를 직접 수정해서 쓰는 경우도 생겼다. 그렇게 자연스레 KMP 및 CMP 에 굉장히 익숙해지게 되었다. 그 외에도 페이지네이션, 복잡한 애니메이션, 아키텍쳐, 성능 최적화 등 개발 단계에서 여러 챌린지 요소를 마주하며 기본적인 Compose UI 에 대해서도 밀도있는 경험을 쌓을 수 있었다. 지금은 무사히 Android 는 PlayStore 에 첫 출시를 하였고, iOS 는 아직 앱스토어의 심사를 기다리고 있다.
포트폴리오 웹사이트 - yjyoon.dev
예전에 구입했던 yjyoon.dev 도메인에 나만의 포트폴리오 웹사이트를 개발하여 호스팅했다. 물론 앞서 언급한것처럼, Kotlin 을 사용하여 웹페이지를 개발했다.
정확히 말하면 Kotlin/Wasm과 Compose Multiplatform 을 이용하여 개발했다. 나는 안드로이드 개발자지만, 앱에 비해 사용자들이 쉽게 접근하고 공유하는 웹페이지 개발에 대한
갈증이 있었는데 멀티플랫폼 기술이 이를 해소해주었다. 아직은 Kotlin/Wasm 이 alpha
버전인지라, 조금 불안정한 부분도 곳곳 보인다. 예를 들어
초기 로딩 시간이 꽤나 많이 소요되고, 폰트 같은 것들이 초기에 잠깐 깨져보이는 문제 등이 있다. 그래도 간단한 웹페이지를 개발하기엔 충분하고,
Ktor
와 같이 멀티플랫폼을 지원하는 여러 라이브러리들을 함께 이용한다면 다양하고 강력한 웹페이지들도 충분히 만들 수 있을 것 같다. 원래
여름 쯤에 시작한 프로젝트로 일주일 정도 잡고 시작한 프로젝트였는데, 시간도 많이 없고 급하지도 않다보니 엄청 질질 끌리게 되었다. 또 개발보다도
디자인에 굉장히 시간을 많이 써서 더욱 늦어지게 되었다. 결국 올해가 넘어가기 이틀 전 쯤에 개발을 무사히 마치게 되었다.
내가 심사위원을?
올해 경험했던 일 중 굉장히 인상 깊었던 일 중 하나는 내가 심사위원을 맡았던 일이다. 한국대학생IT경영학회 큐시즘이라고 불리는 소위 대학생들로만 이루어진 IT 연합 동아리 느낌의 활동이었는데, 학생들의 실력이 대단했다. 기획자와 디자이너, 그리고 개발자로 한 팀을 이루는 방식이었는데 정말 직장인들이 포함된 동아리에 밀리지 않고 오히려 더 잘한다는 생각마저 들었다. 감히 내가 심사를 해도 되는건가 라는 생각이 들었지만, 최대한 열심히 그동안 나의 개발 활동 짬을 녹여내어 평가하고 피드백 해드렸다. 수많은 참가자와 심사위원들 앞에서 긴장하며 발표하는 학생들의 모습을 보니 불과 1년 전의 내 모습이 생각났다. 그 때만 해도 나 또한 수개월 간 팀원들과 밤새 개발하여 만든 결과물을 떨리는 마음으로 발표하곤 했는데, 이제 내가 그런 발표를 평가하는 입장이라는 게 굉장히 신선하고 감사(?)했다. 심사가 끝나고 소감을 말하는 시간에 학생들에게 여러분의 꿈을 응원한다라는 말을 건넸는데, 거기 있는 모든 분들이 꼭 본인 꿈을 이루고 잘 됐으면 좋겠다.
그리고 두 차례 정도 안드로이드 개발자 지망생들을 대상으로 커피챗을 진행했었다. 퇴근 후 바로 진행할 수 있도록 커피챗 장소를 네이버 사옥으로 했었는데, 사옥을 보고 네이버에 꼭 오고 싶다는 학생들을 보고 괜히 어깨가 으쓱해지기도 했다. 내가 생각하는 요즘 취업 전략에 대해 아낌없이 조언해 주었고, 정말 다들 하나하나 열정있는 분들이라 인상 깊었다. 그 중에는 이미 본인이 원하는 곳으로 취업을 한 분들도 있어 뿌듯했다.
그 밖에도 IT 연합 동아리의 면접관으로도 활동했었는데, 그 동안 면접 질문을 받기만 하던 내가 질문을 준비하고 답변을 평가하는 경험이 굉장히 신선했다. 면접을 준비하면서 나 또한 성장할 수 있었고, 다른 학생들은 내 질의에 대해 어떻게 생각하고 대답하는지 보면서 다양한 시야와 의견도 겪어볼 수 있었다.
그 외에 처음 해본 것들
- 중학교 때 잠깐 일렉기타를 독학한 적이 있었는데, 이번에 사내 밴드 동아리에 들어가 두 차례 외부 공연을 진행했었다. 연습 합주 과정도 굉장히 즐거웠고, 사람들도 너무 잘 맞아 합주가 끝나고 술 한 잔 하는 재미도 있었다. 무엇보다 사람들 앞에서 악기를 연주한다는 게 정말 상상 이상으로 떨리는 일이었는데, 무사히 공연을 마치고 나니 비록 실수는 많았어도 엄청난 여운과 함께 이보다 후련할 수가 없었다.
- 팀 조직 워크샵 준비 위원회를 맡았었다. 한 번도 해 본적 없는 레크레이션 진행을 이 때 살면서 처음 해봤다. PPT 제작부터 게임 진행, 그리고 상품 전달까지… 굉장히 막막했었지만 막상 끝나고나니 꽤 뿌듯했고 같이 준비한 동료들과도 한 걸음 친해질 수 있었다.
- 네이버 동기 연말 파티 준비 위원회를 맡았었다. 이 때는 컨텐츠 진행보단 답례품과 상품 주문을 맡았었는데, 아무래도 동기들과 같이 하다보니 워크샵 준비 때보단 훨씬 재밌었다. 이것도 막상 준비할 땐 꽤 노력을 많이 들였는데 연말 파티 당일에는 많이 뿌듯했다.
- 드디어 본격적으로 자취를 시작했다. 그리고 어느새 월세에서 전세로 한 번 이사까지도 했다. 이제 부동산 계약하고, 이사하고, 집안일 하는건 너무나도 익숙해졌다.
- 회사 동료 분이 결혼하게 되어 결혼식에 처음 가보았다. 나름 결혼식에 대한 기대와 환상 같은 게 있었는데 생각보다 기계적으로 돌아가는 결혼식장의 모습을 보고 좀 깨졌다.
마치며
2024년은 나에게 새로운 출발이자 새로운 도전이었다. 새로운 환경에 빨리 적응하기 위해 애를 쓰고, 그러한 와중에 새로운 도전 또한 마다하지 않는 재미난 해였던 것 같다. 그러한 와중에 가장 여행도 많이가고 놀기도 많이 놀은 해였어서 더욱이 재미난 해였다는 말이 어울리는 것 같다. 2024년의 내 목표는 회사와 팀에 잘 적응하기였는데, 아무래도 잘 달성한 것 같다. 2025년 새 해의 목표는 돈 많이 모으고 운전하기이다. 내년에도 무탈하고 즐겁게 살며 목표를 이뤘으면 좋겠다.
- Post link: https://blog.yjyoon.dev/review/2024/12/31/review-2024/
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.