⚠️ 아직 작성중입니다... 1월 1일 안으로 완료될 예정이며, 완료된 후에는 이 알림 글이 없어져 있을 예정입니다...
어떻게 오셨는지는 (정말) 모르겠지만 찾아와주셔서 진심으로 감사드립니다.
올해의 회고에는 어떤 의미가 있는가
2024년 회고를 썼던 것이 엊그제같다. 회고에 들어가기에 앞서 작년의 회고글을 다시 읽어보니, 문득 과거의 많은 기대와 꿈을 가지고 있었던 내가 부러워진다. 올해의 회고에 들어가는 지금의 심정을 정의한다면 갈피 잃은 분주함 이라는 단어가 떠오른다. 작년에도 이슈가 많았던 것처럼 올해에도 많은 이슈들이 있었던 것 같은데, 지금 주어진 상황만 보기에 급급하다 보니 무슨 일이 있었는지, 어떤 방향으로 가고 있고 나아가려고 하고 있는지, 지금의 나는 무엇을 해야하는지, 모든 것이 정리되지 않은 지점이 온 것 같다. 그런 지점에서 상당한 시간을 할애해야 하는, 그리고 조금은 부끄러운 나의 모습을 되짚어보고 곱씹어보는 회고라는 것은 여전히 달갑지만은 않은 방학숙제같은 존재인것 같다.
앞서 말했듯, 모든 것이 정리되지 않은 것 같은, 분주한 정신으로 하루하루를 살아가고 있다. 문득 자신을 되돌아보니, 그저 해야할 일에 끌려다니고 있는 나의 모습을 보게 된다. 주도적으로 어떤 것을 하고 싶어서 계획을 세우고 실행하는 모습이 아니라 끌려다니는 나의 모습을 보면서, 더 나아가기 전에 잠시라도 쉼표 를 찍는 시간이 필요할 것 같았다. 올해의 나는 어떤 일들을 겪었고, 어떤 지점에서 즐거웠으며, 어떤 고민들을 하게 되었는지를 되돌아보면, 아마도 지금의 문제의 근원을 발견할 수 있을 것 같았고, 그렇게 하면 내년의 나는 조금 더 주도적인 삶을 살아내면서 즐거움에 조금 더 가까워지지 않을까 싶다. 짧지 않은 한 해의 기억을 전부 회상해볼 생각에 조금 엄두가 나지 않지만서도 일단 시도해보고자 한다.
“펭쿡(PengCook)”은 2024년 우아한테크코스에서 함께 개발을 진행했던 프로젝트 팀의 이름이자, 만들었던 레시피 서비스의 이름이다. 약 4개월 동안의 기간동안 앱을 기획부터 개발, 출시와 리팩토링까지 겪었고, 올해 1월부터는 그동안 백로그로 미뤄놨던 기능과 그동안 시간적인 문제로 도입하지 못했던 기술 도입들을 적극 도입해보게 되었다. 모든 멤버가 같이할 수 있다면 좋았겠지만, 각자의 사유로 인해 안드로이드는 나 혼자 담당하게 되었고, 백엔드는 4명이 남게 되었다. (백엔드 멤버 중 한명은 외국회사 취업으로 인해 인프라 부분만 필요시에 도와주기로 하였다.)
펭쿡의 백로그는 여러가지가 있었다. 팔로우, 팔로우 차단, 프로필 열람, 내가 만든 레시피 리스트 조회, 내댓글 조회 등 추가할만한 기능들이 많았다. 그러나 가장 먼저 시작했던 것은 기능의 추가보다는 Jetpack Compose 기술 도입이었다. 왜 도입했는가 라고 한다면, 첫번째로는 사용해보고 싶었던 마음이 컸기 때문이고, 다른 이유로는 적어도 한동안 안드로이드 개발은 혼자 담당하게 되는데 생산성을 높이기 위해 여러 시도를 해봐야한다고 생각했다.
Jetpack Compose 도입은 생각보다 순탄치 않았다. RoundedCorner속성이 있는지도 몰라서, 둥근 모서리 처리는 어떻게 해야하는지, LazyColumn으로 리스트를 구현한다고 하는데 아이템은 어떻게 만들고 어떻게 배치해야하는지, 각 컴포넌트의 클릭 이벤트는 어떻게 구현하고 연결해야하는지, 그리고 이벤트 처리는 어디서해야하는지 “어디부터 모르는가”라는 질문을 하자면, “어” 자부터 모른다고 하면 될 수준이었다. 그래도 차근차근 GPT 선생님과 함께 어떻게 구현할 수 있는지 물어보고, 다시 안드로이드 개발을 처음 배운다는 마음으로 찾아보며 구현을 해보니, 하나하나 구현을 완성하게 되었고 조금씩 자신감을 얻게 되었다.
참 다행이었던 부분은 기존 뷰시스템에 composeView를 사용해서 compose를 활용할 수 있었다는 점이다. 모두 compose 마이그레이션을 하거나 새로 만들어야하는 것이 아니라, 필요한 부분이나 시도해볼 부분부터 마이그레이션을 할 수 있어서 부담이 크지 않았다. (정 안되면 다시 뷰시스템으로 구현하면 되니까… 🤭)
동시에, 백엔드 동료들이 나의 더딘 작업 속도를 인내해주었던 점도 매우 다행이면서 감사한 부분이었다. API 개발을 해달라고 해서 개발이 완료되었는데, 정작 아직 적용할 UI 개발이 완료가 안 되거나 지연이 되는 상황들도 있었는데, 많은 상황에서 이해해주며 새롭게 일정을 잡으면서 좀 더 생산적인 방향으로 진행할 수 있었다. 그 덕분에 포기하지 않고 계속 개발을 이어나갈 수 있었다.
올해의 목표중 하나였던 개발 블로그 작성을 이루기 위해, 블로그를 나름 꾸준히 작성하려고 노력했었다. (취직 이후부터는 쉽지 않아져서 하반기에는 많이 작성하지 못했지만… 😅) 짧은 주기로 개발 블로그를 계속 작성하다보니, 펭쿡팀에서 발생했던 개발 이슈들을 정리하게 되었고 펭쿡로그를 작성하게 되었다. 비록 두 편밖에 쓰지 못했지만, SAA(Single Activity Architecture)를 도입하게 된 과정과 결과에 따른 생각을 정리하게 되었고, 다른 한 편에서는 레시피 피드가 중복되어 보이는 이슈에서 범인(클라이언트 or 백엔드)을 찾고 문제해결까지 했던 경험을 담을 수 있었다. 어떻게 보면 되게 사소한 부분이기도 하지만, 생각의 과정과 결과를 기록했다는 지점이 매우 유의미하지 않았나 싶다.

펭쿡 모임은 월 2~4회까지 만나며, 적어도 2주에 한 번은 모여서 회의를 했다. (내가 수원에 있는 회사에 왔던 8월초까지는 정기적으로 모임을 가졌었다.) 덕분에 펭쿡이라는 서비스에서 해볼만한 도전들은 거의 다 해볼 수 있었고, 안드로이드 뿐만 아니라 백엔드 설계 회의에도 함께하며 조금이나마 인사이트를 얻을 수 있었다. 이후에는 자체 해커톤을 하면서 새로운 서비스를 빠르게 만들어보는 도전들도 해보게 되었다. 두명씩 두팀으로 나눠서 각 팀별로 원하는 서비스를 만들어보았는데, 나는 Linkrew라는 이름으로 진행중인 채용전형을 관리하는 서비스를 만들어보았다. 높은 완성도는 아니었지만 바이브코딩으로 프로토타입을 빠르게 만들어보는 것이 꽤나 즐거운 경험이었다. 이외에도 채용전형을 진행하면 분야는 다르지만 각자 어떤 질문들이 기억에 남는지, 최근엔 어떤 근황이 있었는지 등을 나누면서 다소 지쳐가던 취준 기간에 단비같은 에너지를 얻어갈 수 있었다.


개발적인 부분으로도 모였지만, 동시에 서로 만나서 얘기하고 모이는 시간 자체가 많이 즐거웠던 것 같다. 다른 사람들에게 소개할 때는 프로젝트 팀원이라고 하지만, 사실 모이기만 해도 재밌는 친구들을 얻었던 것 같다. 어느덧 만난지 1년 반이 가까워지고 있는데, 그럼에도 여전히 만나는데 부담이 없고 오히려 만나고 싶은 친구들을 얻었다는 점에서 매우 감사하게 생각한다. 아마도 내년에도 두달에 한번은 만나게 되지 않을까 싶다.
사실 취업을 다시 시작하면서, 초반에는 공채에만 지원했었다. 정확하게는 “공개채용”이라는 이름으로 자소설닷컴에 올라오는 회사들에 지원했었다. 아무래도 이전의 취직 경험에 의해 좀 더 익숙한 환경이어서 그랬던 것 같기도 하고, 어쩌면 눈이 너무 올라가서 그랬던 것일수도 있었던 것 같다. 자소서를 정말 많이 적었고, 약 30번 정도의 지원을 했지만 최종합격까지의 문은 너무 높았다. 나중에 알고보니 경기가 좋지 않아 공채로 뽑는 인원은 정말 소수였고, 특히 모바일 분야는 대부분 TO가 한 명이었다.
상반기 공채 중에서 두 번 정도 면접 기회가 있었는데, 그 중 펄어비스 면접이 기억에 남는다. 올해의 첫 면접이기도 했고, 질문이 꽤나 날카로웠기에 내가 더 공부해야한다는 점을 깨닫게 해줬던 면접이었기 때문이다. 예를 들어, 댓글의 길이 제한을 1000자로 했다면, 왜 1024자도 아니고 1000자인지, 기술적인 부분에서 어떤 효율성을 가져가기 위한 값으로는 몇 자로 하면 좋을지 등에 대한 질문도 있었고, 안드로이드 자체에 대한 질문에서도 대답하지 못한 질문도 있었다.
와중에 면접 보고 나오는데, 우아한테크코스 동기를 만났다. 서로 정장을 입은 채로… 결과적으로 그 친구가 붙고 나는 떨어졌지만, 개발자의 길을 더 오래 준비했던 동기가 들어갔다는 지점을 인정하게 되기도 했었고, 그래도 동기가 들어가서 조금은 더 좋았던 것 같다. (완전히 제3자보다는 그래도 아는 사람이 행복한게 좋은..) 아쉬움도 있었지만 더 많은 성장이 필요하다는 것을 느꼈던 면접이었다.
그럼에도 상반기를 거의 다 보내면서 5월부터는 조금 초조해지기 시작했다. 따로 앱개발도 진행했고, 개발블로그 작성 등 여러가지 노력을 하기도 했지만 강제적으로 5개월 이상 “쉬었음 청년”이 경험해보니 행복하지 않았다. 동시에, 혼자서 하는 학습에는 한계가 있음을 깨닫게 되었다. 무엇을 학습하든 어떤 새로운 목표를 만들어나가야 지속가능하고, 그런 새로운 목표는 다른 누군가와 함께할 때 만들기 쉽다는 것을 느끼게 되었다. 이 지점에서 눈을 낮추더라도 성장을 위해서라면 지금은 일을 시작하는 것이 더 좋은 선택이라고 생각했다.
그래서 5월부터는 원티드, 잡코리아, 사람인을 모두 뒤져가며 “안드로이드 개발”이면 지원을 시작했었다. 자바도 상관 없었고, 컴포즈를 쓰지 않아도 상관 없었다. 현업에서는 내가 경험하지 못했던 부분이 있을 것이고, 혼자 개발할 때는 고민하지 못했던 부분을 고민할 수 있는 시간을 가질 수 있을 것이라고 생각했다. 그렇게 5월부터 6월까지 100곳 정도의 회사에 이력서를 넣었다.
덕분에 5월부터 면접 연락이 왔고, 6월에는 정신없이 바빴다. 초반에는 긴장해서 말도 많이 더듬었고, 보여줄 수 있는 장점은 의욕밖에 보여줄 게 없다고 생각해서 여유없는 모습을 보였던 것 같다. 하지만 면접을 점점 보면서, 조금은 여유를 가질 수 있었고, 무작정 잘보여야하는 자리보다는 “나”라는 사람이 어떤 삶을 살아왔고 어떤 개발을 지향하는지, 그리고 회사와 합이 맞을 것 같은지 서로의 대화로 맞춰보는 자리라는 것을 깨닫게 되었다. 사실 어떠한 깨달음이라기 보다는, 일주일에 적으면 2번 많으면 5번 면접을 보다보니 체감하게 되었던 것 같다.
어떤 회사였는가?
개발자로 처음 들어가게 된 회사는 국내 대기업, 공공기관, 정부쪽의 서비스를 담당하는 SI/SM 회사였다. 첫 면접 자리에서부터 좋게 봐주셔서 면접 당일날에 합격 연락을 받게 되었다. 첫회사는 매우 신기한 문화를 가지고 있었다. 일단 자율출퇴근제였다. (근데 이제 감시 없음을 곁들인…) 완전히 신뢰기반으로 자율출퇴근 문화를 가지고 있었고, 덕분에 첫 출근날에 닫힌 회사문을 봤던 신기한 경험을 하게 되었다.
출근 3일째에 팀장님의 눈빛을 바꾸다.
문화적으로는 되게 좋은 회사였다. 첫 입사날에 부장님께서는 “첫 한달은 일단 분위기 익히면서 사람들과 친해지고 어떻게 업무가 돌아가는지 흐름만 봐도 괜찮다”고 하셨다. 하지만, 또 쉬라고 하면 못 쉬는 버릇이 있어서 어떤 일을 하면 좋을지 찾아다녔다. 그러다 출근 3일 째에 재밌는 일이 생겼는데, 팀에서 고쳐야하는 이슈가 발생했는데 그걸 담당하고 있던 팀원이 꽤나 힘들어보였다. 그래서 같이 코드를 보면서 수정을 제안하다가, 문득 궁금해져서 직접 보고 코드를 수정해봤는데 이슈가 해결됐었다. 그리고 그날 팀장님께 이 내용을 전달드리니, 팀장님의 눈빛이 조금씩 달라지기 시작했었다.
팀 문화 만들기의 초석
2번에서 문제가 해결된 줄 알았는데, 다음날 퇴근할 때 즈음부터 다시 이슈가 발생한다는 연락을 받았다고 동료가 알려주었다. 이슈는 앱에서 로그를 전송할 때, 3개의 파일이 전송되어야 하는데, 전송이 안 되거나 파일이 일부 누락되는 문제였다. 이걸 해결하기 위해서 로그를 전송하는 로직을 처음부터 끝까지 보고, 로그로 찍어보면서 확인도 해봤는데, 아무리 봐도 코드에는 문제가 없었다. 그리고 이걸 검증하기 위해서 FTP 서버를 하나 열어서 보내지는지도 확인해봤는데 전송에는 이상이 없었다. 분명히 수신자쪽 문제인것 같았는데, 수신자인 고객사는 보안으로 인해 로그를 우리쪽에서 직접 확인해볼수도 없었고, 그쪽도 업무가 있다보니 로그 확인 요청을 보내도 답장이 느리거나, 제대로 확인하지 못하는 이슈가 있었다.
하지만 나에게는 펭쿡을 통해 클라이언트 문제인지 서버 문제인지 확인했던 경험이 있었고, FTP 서버로 제대로 전송이 되고 있다는 것으로 상대쪽 서버 문제임을 주장할 수 있었다. (물론 대화할 때는 상당히 정중하게 요청드렸다) 실제로 상대측의 서버 통신쪽 문제가 맞았고, 이 과정에서 놀랍게도 국내 대기업의 서버문제였다는 것을 증명하면서 나는 입사한지 한주만에 안드로이드 팀원중에 꽤나 믿음직한 사람이 되었다.
팀 문화 만들기 시작
그렇게 팀장님께도, 또 팀원에게도 믿음직해졌다면 팀 문화를 만들어야할 차례이다. 나는 팀원들에게 스터디를 제안했고, 팀원들도 성장욕구가 있어 한주에 한번씩 자신이 공부한 것을 나누는 시간을 가졌다. 그리고 회사에 없었던 책 구매 복지도 요청해서 안드로이드 개발팀에서 필요한 책을 구매할 수 있도록 문화를 만들어갔다.
약 3주 반정도 출근을 하던 중, 입사전에 전형을 진행중이던 회사에서 연락이 왔다. 스타트업이지만 기술적으로 시도해보고 배울 수 있는 부분이 많았고, 처우도 꽤나 좋은 조건을 제시해주었다. 고민이 들었지만, 개발자로서 성장하는 것이 필요하다고 생각했고, 연봉 등의 처우 역시 배제하기에는 너무 좋은 조건이었다. 좋은 문화도 있고, 소통하기 좋은 동료들이 있었지만 그럼에도 다음 도전을 위해 조금은 과감한 선택을 하게 되었다.
이 목표에서는 개인앱 개발과 펭쿡 서비스에 10개 이상의 깃헙 이슈를 만들자는 세부 목표가 있었는데,
올해 초부터 바로 개발자 계정을 만들어서 QuizDroid라는 안드로이드/코틀린 문제를 매일 한문제씩 푸는 앱을 개발했다. Jetpack Compose 를 써서 모두 개발하고, supabase를 사용해서 간단한 서버 통신을 구현했다.
그리고 펭쿡 개발 역시 10개 이상의 이슈를 작성하고 해결까지 완료했다.
https://github.com/woowacourse-teams/2024-pengcook/issues?q=is%3Aissue%20state%3Aclosed
개발 서적 읽고 정리하기와 지식공유의 세부 목표가 있었는데, 절반에 조금 못미치게 이룬 것 같다. 그래서 반달이 아니고 초승달…
개발서적으로는 코틀린 코루틴을 정리하다가 중간부터 꾸준하게 하지 못했다..
그리고 블로그 작성도 취직 후부터는 바빠져서 진행하기가 어려웠다. 올해는 총 19건의 포스팅을 올렸고, 제임스 코치의 홍보를 통해 약 3000회의 조회수를 얻게 되었다. 하지만 52주의 한 해동안 2주 이상의 간격으로 포스팅을 했다는 지점에서 스스로에게 조금 아쉬운 결과인 것 같다.
분기별 회고는… 하지 못했다.
한해의 마지막에서 그저 급급하게 매일을 살아가면서, 올해의 나는 무엇을 했는가 후회를 했다. 그런데 되돌아보니, 올해 역시도 치열하게 살아냈다는 것을 다시 한 번 되돌아보게 된다.