[회고록] 2025년

2025년은 유난히 더 빨리 지나간 것 같습니다. 나이가 들수록 시간이 빨리 흐른다고는 하지만, 1년 단위로 체감될 일인가 싶네요. 사실 저는 시간이 빨리 간 이유에 대해 알고 있습니다. 보통 바쁘게, 열심히 살면 하루하루 금방 지나갑니다. 1년이 지난 12월의 마지막 날, 글을 쓰며 어쩐일로 씁쓸함이나 아쉬움이 남지 않는걸로 보아 나름 잘 살았던 모양입니다.

무엇을 어떻게 공부했는가 - Flutter 편

올해도 어김없이 플러터와 가장 많은 시간을 함께 했습니다. 어쩜 하면 할 수록 새로운 것들만 알게 되는 것이, 기술 하나를 깊이 있게 알아 간다는 게 참 어려운 일이라는 걸 새삼 느낍니다.

작년 회고에서 세웠던 목표는 잘 만들어진 오픈소스 프로젝트들을 분석하고 거기서부터 공부를 시작하자는 것이었습니다. 깊이를 원할 때 가장 큰 벽은 실무 레벨에서 어떤 식으로 개발하는지 모른다는 것입니다. 그나마 이를 가장 근접하게 만날 수 있는 것이 오픈소스 프로젝트들이라고 생각했고, 한 3개 정도 보면 공통된 지점을 발견할 수 있겠다 생각했어요.

가장 큰 도움이 되었던 프로젝트는 flutter_pokedex였습니다. 여기서는 injectable, get_it, freezed, bloc 등 이른바 모던 스택을 사용하고 있었습니다. bloc 대신 riverpod 정도만 넣으면 플러터에서는 가장 스탠다드한 방식인 것 같아요. 부끄럽게도, 그 전까진 제대로 사용해본 적 없는 스택이었습니다. 그래서 이 기술들을 조금씩 알아보고 익히다가, 실습할 수 있는 프로젝트를 시작하기로 결심했습니다. 그것이 청모(ChungMo) 프로젝트였습니다.

청모 프로젝트 개발기는 여기서 보실 수 있습니다.

프로젝트를 하면서 특히 도움되었던 것은 유지보수 및 지속 관리에 대한 경험이었습니다. 배포까지의 전체 파이프라인을 경험하고, 수시로 업데이트하면서 점점 앱 개발 전체에 대한 경험을 친숙하게 만들었습니다. 또한 모던 스택에 대한 경험은 쌓아볼 수 있었어요. 그러면서도 마음 속에 남아 있던 불안감이 있었습니다.

나는 왜 플러터를 공부하고 있었지? 하나를 정말 깊이 있게 파면 어떤 포지션으로도 내 능력을 어필 할 수 있겠지. 운이 좋다면 구글 플러터 팀에도 들어갈 수 있을거야. 근데 그럼 그냥 앱 좀 만들 줄 안다고 깊이가 쌓였다고 할 수 있나? 그 전에, 플러터에 대해서는 잘 알고 있나? 난 정말 플러터의 구조와 동작 원리, 설계 컨셉을 잘 이해하고 쌓는 중일까?

마침 이때 Flutter Engineering 책을 리뷰할 기회가 생겨 읽으며 내가 모르는 개념에 무엇이 있나 체크해봤습니다. 그리고 그것들을 하나씩 정리하기 시작했어요. 이맘쯤 옵시디언을 제대로 활용하기 시작하며 TIL을 정리했습니다. const는 어떻게 canonical 객체로 관리되는가, context는 무엇인가, setState()는 어떤 방식으로 동작하는가 등 다양한 주제로 공부했습니다. 또 정리만 하지 않고 NoteBookLM에 넣어서 복습도 했습니다. 퀴즈 생성 기능이 참 훌륭하더라구요.

정리; 아직 더 깊이 내려갈 수 있다고 생각합니다. 그리고 이제는 더 강력한, LLM이라는 탐사 장비가 있습니다. 내년에는 좀 더 밀도 있게 플러터를 연구하고 싶습니다. 또 한동안 개념만 공부해보니 프로젝트 개발 실력이 무뎌지는 느낌이 들더라구요. 그래서 내년엔 더 코어한 플러터 개념을 공부함과 동시에, Best Practice를 세우고 한달에 한 개씩은 프로덕트를 찍어내는 연습을 하려 합니다.

작년의 내가 원했던 걸 잊지 않았나? - 오픈소스 편

작년 목표를 보면 오픈소스에 대한 이야기가 많이 있었습니다. 대외적인 어필 포인트가 될 수 있음과 동시에, 진짜 실력을 키우는 좋은 활동이라고 생각 들었습니다. 그래서 앞서 플러터 공부할 때 참고한 오픈소스 프로젝트 외에도, 패키지 레벨의 오픈소스 프로젝트들도 많이 분석해보고, PR할 만한 부분들을 찾아보았습니다.

몇 번의 시행착오 끝에 faker 패키지와 flutter_local_notifications 패키지에 기여를 했습니다. 생각보다 어렵진 않았습니다. 그러면서 배운 것은,

완벽한, 교과서 같아 보이는 프로젝트여도 허점이 많이 있으며, 내가 보완할 수 있는 영역도 분명히 있다. 그게 내가 그들보다 나아서 라기 보단, 그들이 바빠서 못하고 있는 영역일 수 있다. 그런 것들부터 하나씩 기여하다보면 내 역량도 성장할 것이다.

그러던 와중 아주 뒤늦게 Google Summer of Coding을 알게 되었습니다. 부랴부랴 하루만에 지원해서 떨어졌지만, 오픈소스 프로젝트에 참여하는 구글 주도의 활동이라니 내년엔 무조건 해내야겠다 다짐했습니다.

대신 친구 덕분에 한국에서 하는 비슷한 프로그램을 찾았습니다. 오픈소스 컨트리뷰션 아카데미였는데, 덕분에 오픈소스 기여 활동을 체계적으로, 멘토링까지 받으며 할 수 있었습니다. 제가 활동한 ThorVG 기여 팀은 직장인 위주였다보니 빡빡한 매니징보단 자율적인 참여를 기조로 했었는데, 그럼에도 나름 주어진 시간 내에선 최선을 다했다고 생각합니다. 초반에는 헤매기도 했지만, 나름 만족스러운 기여도 해냈습니다.

thorvg.flutter에 기여한 경험을 공유한 내용은 여기서 확인하실 수 있습니다.

정리; 26년에는 좀 더 적극적으로 오픈소스 기여를 해보려 합니다. 25년은 혈을 뚫는 시간이었다면, 26년에는 여러 프로젝트들을 만져보면서 내가 할 수 있는 영역들을 끊임 없이 찾으며 바삐 움직이겠습니다. GSOC도 꼭 제대로 신청해서 해보겠습니다.

시대의 흐름을 잘 따라가고 있었는가? - AI 편

작년도 그랬지만 올해도 LLM, AI의 격변이 계속되어 왔었죠. 이제는 자기 분야에 얼마나 잘 활용할 수 있는가에 대한 능력이 중요하게 다뤄졌다고 생각합니다. 25년 다양한 프로젝트를 하면서 LLM을 다양한 방법으로 써봤습니다. 1) 아예 안쓰기도 하고, 2) 검색 정도로 쓰기도 하고, 3) 채팅 앱에서만 쓰기도, 4) CLI 에이전트로 돌리거나 하는 등 말입니다.

100% 바이브코딩 프로젝트 Spicy Mask에 대한 회고는 여기서 확인하실 수 있습니다.

여기서 얻은 통찰은 몇 가지 있습니다.

  • 첫째, LLM은 딱 나만큼 똑똑하다. 내가 시킨만큼 할 수 있기 때문에 내가 대충 시키면 대충 만든 결과물이 나온다. 결국 내 기본기와 실력이 중요하다.
  • 둘째, 프로젝트와 코드에 주도권을 내가 가져야 한다. LLM에게 맡기고 엔터 누르는 사람이 되는 순간 그 프로덕트에 대해 내가 책임질 수 있는 것은 없어진다. 그 무엇하나 고칠 수 없는 프로젝트는 휴지통과 같다.
  • 셋째, 위 두가지만 유념하면 내 실력 성장과 제품 생산성이 말도 안되게 올라간다. 모르는 걸 만든다면 공부하면서 실력을 키울 수 있고, 아는 걸 만든다면 확실하게 리뷰하면서 퀄리티를 올릴 수 있다.

LLM 사용과 더불어 요즘 회사에서는 LLM 앱 개발자로 활동을 시작했습니다. LLM을 시스템에 적절히 적용하고, 앞 뒤 파이프라인을 만지면서, 성능을 평가하고 연구하는 업무입니다. 회사에서 이렇게 매력 있는 업무를 하게 될 줄 몰랐습니다.

시작한지는 얼마 안되어 아직 Langchain을 공부 중인 수준이지만, LLM 앱 개발자로 취업하겠다는 마음가짐으로 회사에서 노력해보겠습니다.

정리; 26년에는 회사에서 가능한 모든 시간을 LLM 앱 개발자가 되는 것에 집중해보겠습니다.

더 멋진 사람이 되었는가? - 그 외 편

그 외 했던 뿌듯한 활동들을 공유합니다.

  • Flutter Korea 2025 행사에서 발표했습니다. thorvg.flutter에 기여하면서 배운 경험을 위주로 공유했습니다.
  • (예정이지만) Flutter OpenStage Daegu에서 발표가 확정되었습니다. 여기서는 Firebase AI Logic을 플러터 앱에 적용하는 방법을 간단히 공유합니다.
  • 영어 공부를 조금 했습니다. 매일 15~20분 정도 영어로 대화하는 시간을 가졌습니다. 올해 있었던 미국 출장에서 듣기에 대한 벽을 느꼈던 만큼, 26년에는 강도 높은 듣기 연습과 단어, 표현 암기를 해보겠습니다.
  • 총 7권의 책을 읽었습니다! 독서를 통해 어휘력을 길러보겠다는 작년의 목표도 조금이나마 달성한 것 같아 참 뿌듯합니다. 26년에는 한달에 한권 정도 읽어볼까 싶습니다.

26년 목표 wrap up

앞서 정리했던 목표들을 좀 더 세부적으로 정리해보겠습니다.

  1. 플러터 개념과 원리 TIL로 정리하기 : 면접 질문 느낌으로, 명확히 답변 못하는 것들을 계속 질문하면서 설명 가능한 레벨까지 공부하고, 정리하고, 복습하기
  2. 플러터 프로젝트 개발 근육 키우기 : Best Practice로 프로젝트 1개 먼저 만들어보고, 이를 바탕으로 한달에 1개씩 꾸준히 연습하기(세부 계획 출근 후 업데이트)
  3. 플러터 오픈소스 기여하기 : Flutter Codelab부터 Flutter Todo, 그 외 다양한 프로젝트들을 만져보고, 기여할 수 있는 것들을 정말 치열하게 찾고 기여하기 / GSoC 프로젝트들 위주로 사전 기여해보기
  4. GSoC 참여하기 : 이게 되면 다른 것들보다 최우선으로 참여하기
  5. LLM 앱 개발자 전직 해보기 : 회사에서 딴짓하지 말고, 주어진 LLM 앱 개발 업무를 연구적으로 접근해보기
  6. 최소 두번의 발표하기 : 할건 해야지
  7. 아티클 최소 한달에 한개 업로드하기 : 할건 해야지 22
  8. 매일 아침 영어 말하기 / 영어 듣기 : 할건 해야지 333
Author

TaeBbong Kwon

Posted on

2025-12-31

Updated on

2026-01-01

Licensed under

Comments