2025 회고

2025. 12. 31. 12:55ETC/Retrospect

보이는 성과를 의식하며 시작한 2025년에는

생각보다 많은 것들을 했다.

 

다양한 기술적 시도들을 했다.

기술 발표,
AI 사이드 프로젝트,
오픈소스 프로젝트,
영어 기술 모임,
4개의 사내외 기술 스터디,
기술 밋업 참석.

 

 

운동에도 정신이 나가있었다.

Marathon 10K   -  ⏱️ PB 00:50:09
Marathon Full  -  Sub-4 ⏱️ 03:57:24
장수 트레일런     -  38K-J 완주 ⏱️ 09:51:32
체지방률 19%이하 달성 - 6kg 감량

 

 

새로운 환경을 만들었다.

정말 쉽지 않았던 첫 대출 실행,
강남 내 자취 시작,
운전연수와 첫 장기 운전.

 

 

언어는 비중이 줄었지만 꾸준함을 가져가고 있다.

매일 아침 트레이드밀에서 보는 영어 Podcast 혹은 영어 교육 컨텐츠.
매주 진행하는 영어 프리토킹.
주기적으로 만나는 외국 친구들.
마구적어보는 영어 일기.
SNS의 70%이상을 채운 영어 인사이트.

 

 

일 년은 길고도 짧았다.

믿을 수 없는 성취의 기쁨을 느낀 적도,
한없이 부족한 스스로를 질책하기도 했다.
권태에 발버둥치기도 했고,
번아웃 직전까지 가기도 했다.

 

 

많은 것을 시도했고, 그만큼 많은 것을 경험하고 감각했다. 

2025년 마무리로 다룰 내용들이 많아 욕심껏 써보고자 한다.

 

 

 

 

 

운동

트레일런

장수 트레일런 38-J

 

트레일런에 도전했다.

첫 풀마라톤 이후 조금 더 난이도 있는 도전을 해보고 싶었는데,

마침 장수 트레일런 신청기간이었다.


가파른 산 38.8km에 대한 감도 잡지 않은 채, 
겁도 없이 장수로 향했다.
트레일런은 정말 여러 해 동안 기억에 남을, 가장 인상 깊은 경험이었다.


당일 새벽까지 내린 비에 젖은 흙은 발밑에서 무너졌고, 

이끼 낀 바위는 손으로 짚어도 미끄러졌다.
경기 도중 계속해서 쥐가 났다.

정신적·육체적으로 많이 흔들렸고, DNF를 진지하게 세 번 고민했다.

DNF: Did Not Finish, 경기를 중단하는 것

 

네 번째 쥐가 올라올 때 주저앉아, 눈물이 날 만큼 고통을 겪었다.

육체적으로도 그렇지만 정신적 한계치에 다다른 순간이었다.

 

 

DNF를 다짐하고,

반대 방향으로 발을 돌리려는 찰나에

문득 이런 생각이 들었다.

어차피 못 끝낼 거면 될 때까지 천천히 가는 게 낫지 않을까?

 

 

Cut-Off Time으로 실격을 해도,
내 의지로 할 수 있는 만큼 끝까지 최선을 다하기로 했다
.

Cut-Off Time: 제한 시간 내에 완주하지 못하면 경기에서 제외되는 시간

 

내 의지로 최선을 다 하는게 더 '나 다운 마무리'이겠다 싶었다.

내 의지로 끝내는 것이 용납이 안됐다.
나는 중간에 그만두는 걸 정말 못한다.

 

|

 

그렇게, 10시간을 달린,

긴 여정을 마무리했다.
Finish Line 바로 옆에 누워버린 상태로 한참을 있었다.

표현할 수 없는,
마음 깊은 곳에서부터 울려오는,
경험하지 못한 전율이 몸에 한참 맴돌았다.
공허함이 느껴지는 듯하더니, 순식간에, 뿌듯함이 압도적으로 밀려들었다.
실감이 와닿는 순간이었다.

 

세 번의 중도 포기 다짐을 했던 순간들이 스쳐갔다.
완주 기념 벨을 받으니 웃음이 새어 나왔다.
"이게 되네"를 연신 남발하며 신이 나서 여기저기 사진을 찍어댔다.
정말 말도 안 되는 기쁨이었다.

 

 

LAst NaME만 모두 대문자인게 너무 거슬린다

 

 

 

장수 트레일런을 통해 알게된 네 사람들이 있다.

한 분은 버스 옆자리 여자분이었는데, 나와 상황이 비슷했다.
셔틀, 비박, 홀로 경기, 트레일런이 뭔지도 모르고 일단 장수까지 온 그런 상황이다.

 

다른 한 분은 로드와 트레일런 모두 프로급이셨다.
이 두 분과는 서울에 와서 따로 저녁도 먹고,
나중에 출전할 경기도 같이 나가자는 얘기를 오가고 있다.

 

 

또, 두 분은 경기 중 쥐가 심하게 났을 때 약을 건네주시고 괜찮아질 때까지 함께 있어준 사람들이다.
러닝 크루로 참여하신 두 분이었는데, 한 분이 부상을 입어 무리할 수 없는 상황이었다.

이 분들은 20대 여자가 트레일 38-J 코스를 뛰러 혼자 장수까지 왔다고 해서 꽤나 큰 충격을 받으셨다.
혼자 운동하고 혼자 경기에 나가는 게 익숙해진 터라 의식하지 못했던 건데, 놀랄 수도 있는 일이구나 싶었다.

 

예기치 못하게 늦어진 완주에 집으로 가는 셔틀을 놓쳤는데, 
마침 한 자리가 빈다고 서울까지 태워다 주셨고, 저녁과 커피까지 사주셨다.


따뜻한 인간의 정을 느꼈고, 건강한 스포츠 문화를 만드는 분들의 존재를 마주하니 
세상의 이런 부분을 경험할 수 있음에 큰 감사함을 느꼈다.

 

 

그렇게 서울부터 왕복 9시간인 장수에서,
완주의 벨을 울리고 무사히 서울로 돌아왔다.

경기 이후, 크게 느꼈던 게 두 가지가 있었다.

 

첫 번째는 완주한 후의 기쁨을 나눌 사람의 소중함.

두 번째는 이젠 어떤 정신적·육체적으로 고단한 도전이 어렵게 느껴지지 않는다는 것.

 

너무나 험난하고 의지력을 최상까지 끌어올린 경험 이후의 힘듦은 아무것도 아니었다.

웃기다. 극기 훈련이 되어버린 것이다.

불가능해보이는 것들도 "38-J도 완주가 되더라" 라는 생각으로 쉬워보였다.

이렇게 체육인이 되어가는 걸까 🤣

 

 

짧은 쾌락 뒤엔 지속되는 고통이 오고,

짧은 고통 뒤엔 지속되는 행복이 온다.

 

 

 

 

 

 

Full Marathon Sub-4

풀마라톤을 Sub-4를 달성했다.

"Full Marathon을 도전하자"는 2025년 목표를

기대보다 훨씬 이상으로 달성한 것이다.

 

 

한파에 떨며 완주한 첫 풀 마라톤
응원을 즐기며 행복했던 두 번째 풀 마라톤

 

 


첫 번째 마라톤은 엉망진창이었다.

정말 말 그대로 "엉망진창".

 

올해 2월 한파주의보가 뜨던 날, 아는 것 하나 없이 '일단 해봐'라는 마음으로 나갔다.
추위와 살을 에는 바람이 4시간 반 내내 끊이지 않았다.
정말 고통스럽고 다신 하고 싶지 않은 경험이었다.

 

 

 

:: 두려움 없애기

 

풀마라톤을 말할 때면, 첫 10K 마라톤 때가 몇 번이고 생각나는데

 

마치 살벌한 전쟁을 나가는 장군같은 포부로,

"다녀오겠습니다"를 외치던 마라톤 하루 전날이 매번 떠오른다.

 

두려움 떨며 중간에 포기해도 괜찮다고 스스로를 위안했던 때였다. 

 

웃기게도 불과 일 년 전이었던,

10K에 벌벌 떨던 때를 아직 생생히 기억한다.

이젠, 풀코스가 아무렇지 않게 느껴진다.

 

두려움은 분명히 익숙함으로 무뎌지게 할 수 있다.

겁이 나거나 하기 싫은 일은 분명히 있다.

그때마다, 무섭고 하기 싫다는 생각을 없애고 "하는 사람"으로 최면을 걸곤 한다.

 

풀마라톤을 완주하는 사람.

매일 아침 운동하는 사람.

매번 새로운 시도를 하는 사람.

 

선택은 없다.

내가 되고 싶은 사람으로,

매번 스스로를 정의할 뿐이다.

 

 

|

 

두 번째 마라톤은 JTBC 마라톤이었다.
첫 풀마 전에 신청해 놓은 풀마라톤이 얼마 남지 않았다는 메일을 보고 아찔했다.
워낙 유명한 마라톤이지만, 

첫 풀마가 너무 좋지 않은 기억으로 남아 기대 없이 출발했다.

 


그런데, 출발선의 공기가 달랐다.
날씨는 좋았고, 달리는 거리마다 응원하는 사람들로 끊이질 않았다.
응원은 제 몫을 톡톡히 했고, 힘들다는 생각이 지속되지 않게 했다.

완주를 목표로 달렸던 두 번째 풀마를 3시간 57분 안에 들어왔다.
끊임없이 "나 뭐지..왜지?"를 말하면서 실감이 안 났다.
이후 근육통도 없이 멀쩡해서 약간 무서울 정도였다.

이것도 트레일런의 영향일 것이다.

 

 

마음 따뜻해지는 경험도 했다.
어떤 할아버님이 내 배번의 이름을 보고, "경선씨, 포도 먹어요" 라고 하시며 청포도 하나를 건네 주셨다.

추운 날씨 때문에 겹겹히 입은 옷에 비해, 청포도를 건낸 손은 빨갛고 하얗게 튼 맨손이셨다.

다정하게 불러주시던 이름과,

처음 보는 이를 응원하는 그 따뜻한 마음에

그 여운은 한참 동안 가시지 않았다.

 

마라톤 내내 힘들었던 순간들이 분명 있었는데,
즐겁고 행복해서 그 순간이 거의 기억에 남지 않을 정도다.


현수막까지 만들어서 소리지르며 응원하던 여대생들의 모습도 재밌었고,
꽁꽁 싸매고 응원나온 애기들과 아내를 마주한 아빠의 모습도 보기 좋았다.

 

두 번째 풀마라톤은 Sub-4라는 성취감을 얻은 것도 좋지만,
거리응원이라는 새로운 경험이 더 큰 의미로 다가왔다.

 

출발은 혼자였지만, 뛰는 동안엔 늘 함께였다.

 

 

 

 

 

개발

하반기에는 영어와 운동보다는 개발에 더 많은 비중을 두었다.

성과가 보이지 않아 답답했던 마음을 풀고자 했던 것 같다.

 

많은 시도와 도전들을 해보았는데,

본인이 필요할 때조차 휴식을 취할 수 없는 환경이 되었다.
멈출 수 없는 상태가 되어버렸다.

 

10월 이후부터는 거의 번아웃이 올 뻔할 만큼 지쳐있던 것 같다.

무엇인가를 하고 싶고 해내고 싶은 마음이 들어도

시간, 에너지, 정신력의 균형을 잘 관리해야 함을 느꼈다.

 

 

:: 지구력

보통 무엇인가를 시작하면 기준보다 더 많이 하고 오래 하려는 경향이 있다.

이 경향은 이기고 싶어서 만들어진 습관이 아니라,

비슷해지고 싶다는 생각이 만들어냈다.

 

수학 문제집을 5번씩 풀던 때가 있었다.

선생님이 문제집 반복보다 교과서 변형 문제를 풀어보는 게 좋다며,

학원에서 기출 문제를 주지 않느냐고 물었다.

 

학원을 다니지 않는다고 했다.

선생님은 아무 말하지 않으셨다.

그 의미를 이해하지 못했다.

 

어느날 친구가 대뜸 수학 학원에서 받은 본교 수학 예상 기출문제지를 건네줬다.

조금씩 함정을 넣은 변형 문제들이 대부분이었다.

 

시험날이었다.

예상 기출문제에 나온 문제들이 다수 나왔다.

 

수학 시험이 끝난 후,

엄청난 무기력함을 느꼈다.

문제집 백 번 풀어봤자,

학원에서 주는 본교 시험을 몇 년간 분석한 예상 기출문제를 이길 수 없던 것이다.

 

 

그때부터였다.
“더 오래, 더 많이 버티는 사람”이 되기로 했다.

두 배 세 배 노력하면,

어느정도 비슷한 선에 도착할 수 있진 않을까.

 

이 생각은 머릿 속에 오래 머물면서 습관이 되어버렸다.

 

누군가에게 도움을 청하는 걸 못했다.

고등학생 때 위독해진 아빠의 병에,

혼자 잘 해내야 한다는 생각 뿐이었고,

도움을 부탁하는 건 당연히 민폐라는 생각이었다.

 

생활, 수능, 진학을 혼자 결정해야하는 나의 환경은

주변 친구들과 비교해보고 있자면

마치 레일이 보이지 않는 마라톤에서 길을 헤매며 종착지에 가야만 하는 꼴이었다.

 

당시 생각에는 원망스런 환경이었다.

하지만, 지금은 그런 환경이 있었기 때문에

이렇게 스스로 노력할 줄 아는 사람이 되었다고 생각한다.

어렸을 때 배울 수 있었음에 감사할 뿐이다.



극복할 수 있는 부족함을 그대로 두고 싶지 않다.

환경이 안된다고 불평하고 싶지도 않다.
불평은 부정적인 기운으로 사기만 떨어뜨릴 뿐이다.

 

이젠 '좋아하는 일에 노력하는 나'라는 가치에 중점을 둔다.

 

 

 

사내외 스터디를 운영/참여했다.
- Kotlin in Action e2 스터디

- AWS Certified Advanced Networking Specialty Certification 강의듣고 정리

- 영어 발표 스터디 - 가상 면접 사례로 배우는 대규모 시스템 설계 기초

- Claude Code 파헤치기

 

 

사이드 프로젝트를 진행했다.

 

 

# StanByMe

해외 K-pop 팬을 위한 AI 챗봇 서비스 - K-pop 아이돌 페르소나를 가진 AI 캐릭터와 대화할 수 있는 앱/웹 서비스

 

K-pop 관련 지식을 벡터 데이터베이스에 저장하고,
사용자 질문과 유사한 컨텍스트를 검색하여 AI 응답 품질을 향상시키는 RAG 기반 음성 챗봇 서비스를 제작했다.

사용 기술:
- Language: TypeScript
- Runtime: Deno (Supabase Edge Functions)
- Database: PostgreSQL, pgvector + HNSW
- AI/ML: LangGraph, OpenAI Embeddings API
- Frontend: React, Capacitor

주요 기능:
- RAG 기반 지식 검색: pgvector + HNSW를 활용한 벡터 유사도 검색
- 실시간 음성 스트리밍: WebSocket 양방향 통신 기반 음성 지원
- LangGraph 워크플로우: 노드 기반 상태 관리로 AI 워크플로우 설계
- 하이브리드 앱 배포: Capacitor를 활용한 단일 코드베이스 iOS/Android 앱 개발

 

 

화자의 목소리를 인식해서 녹음을 시작하고 종료하는 타이밍을 잡는 게 어려웠다.

또, 응답 속도를 빠르게 하려고 몇 주간 WebSocket과 SSE를 시도했는데,

Supabase Edge Function은 충분히 강력했음에도 실시간 통신에는 한계가 분명했다.

 

서버를 마련하면 좋겠다고 생각했지만,

빠른 MVP 배포를 위해 ElevenLabs 라이브러리를 사용으로 대체했다.

 

React로 생성한 프로젝트를 모바일 앱으로 배포하고 싶어

Capacitor 라이브러리를 사용해보았는데, 

생각보다 빌드가 어렵지 않게 되어서 놀랐다. 

더 복잡하고 다양한 요구사항이 생기면 어떻게 될지 궁금하다.

 

 

 

Trufu

: 내 감정을 안전하게 반복해서 털어놓을 수 있고, 나만의 맥락에서 위로와 해석을 제공하는 AI 친구

 

Trufu는 내 감정을 안전하게 털어놓을 수 있고, 
나만의 맥락에서 위로와 해석을 제공하는 AI 감성 챗봇 서비스이다.


사용 기술
- Language: TypeScript
- Runtime: Deno (Supabase Edge Functions)
- Database: PostgreSQL, pgvector
- Backend: Supabase (Auth, RPC, Storage)
- AI/ML: OpenAI Chat Completion & Embeddings API


주요 기능:
- RAG 기반 지식 검색: e-book 콘텐츠 청킹 및 벡터 검색
- Short-term + Long-term Memory: 인간 두뇌 모방 장기 메모리 - 반복적 고민도 기억하며 들어주는 친구 경험 구현
      - 대화 내용에 따라 메모리 타입을 Social, Events, Semantic 으로 구분
- Dynamic Prompting: 친밀도 기반 동적 프롬프트 결정: 공감/조언/팩폭 모드 동적 전환
하이브리드 검색: 사전 등록 e-book 우선 검색 → Vector fallback
워크플로우 성능 분석: 노드별 생성 데이터, 토큰 사용량, 검색 정확도 Tracing
- Node-based Workflow 설계
        1. loadChatHistoryNode: 대화 히스토리 로드
        2. generateEmbeddingNode: OpenAI Embedding API 연동
        3. loadMemoryNode: 벡터 유사도 기반 메모리 검색
        4. retrieveKnowledgeNode: Q&A + 벡터 하이브리드 검색
        5. generatePromptNode: 친밀도 레벨 기반 동적 프롬프트 생성
        6. generateResponseNode: GPT-4o 기반 응답 생성
        7. saveChatHistoryNode / saveMemoryNode: 영구 저장

 

 

사용자의 인간관계를 기억못하거나, 문맥을 이해하지 못하는 문제가 있었다.

초반에는 "내 전남친이 승진했어" "전남친 이름은 철수야" "철수가 어떻게 됐다고?" 를 물어보면 승진했다는 사실조차 몰랐다.

 

히스토리와 메모리로 대화 내용을 저장해서 보완했는데,

문제는 언제까지의 대화를 불러오고,

언제까지의 대화까지 기억시킬지 애매했다.

 

혹은 인간의 감정 상 기대하는 내용을 못 말하는 문제가 여전히 발생했다.

- Test User: 이모가 한 달 전에 돌아가셨어. 

- Trufu: 많이 슬프겠다. 내가 도와 줄 일은 없어?

- Test User:이모랑 같이 갔던 레스토랑 정말 좋았는데.

- Trufu: 와! 이모랑 레스토랑에 가서 너무 신났겠다. 어떤 음식을 먹었어?

 

이때 깨달았다.
문맥을 이해하는 것과,
사람의 감정을 이해하는 것은 전혀 다른 문제라는 걸.

 

많은 연구가 필요할 것 같다.

 

 

 

 

Mindthos

AWS CloudFormation, ECS
AI: Spec Driven Development, Cline, Claude, Codex, Supabase, Nextjs

 

TODO

 

 

 

 

 

새로운 팀

올해 5월, 새로운 팀에 합류했다.

어려운 도메인과 새로운 팀원들.

 

최근, 평가를 진행하고 팀장님과 One on One (개인 면담)을 진행했다.

 

"썬은 성격이 재산인 것 같아요." 

 

본인이 들을 수 있는 말 중, 가장 값진 말이었다.

밝고 긍정적인 성격으로 쉽게 의사소통할 수 있게 하는 성격,

또 뭐든 배우려는 자세를 높은 가치로 봐주셨다.

 

 

가까이 일한 동료에게 받은 올해 평가는 아래와 같다.

 

"이 정도면 됐지"가 아니라, 스스로의 높은 기준을 향해 노력하려는 모습이 인상적이었다.
밝고 긍정적인 에너지로 팀 분위기를 항상 좋게 만들어 주셔서 감사했고,
저 또한 주변 동료에게 썬과 같은 동료인지 뒤돌아보게 됐다.
일하는 태도와 산출물의 완성도 모두 훌륭하나, 번아웃 예방을 위해 워크로드와 휴식의 균형을 꾸준히 챙겨주시길 바랍니다.
팀 이동으로 담당자를 변경한 서비스에 장애가 났을 때에도 자기 서비스처럼 적극적으로 대응해 주셔서 역시 썬이다라고 생각했다.
업무에 대한 적극적인 태도 덕분에 높은 신뢰와 안정감을 느꼈다.
부족한 요건에 대해 먼저 의견 주시고 챙겨주셔서 죄송하고 감사했다.
레거시 코드를 분석하며 문제점을 찾아 공유하고 개선하는 과정이 인상 깊었다.

 

 

이런 평가를 해주는 동료들이 있는 것이 본인이 가진 복인 것 같다.

공모주를 함께 개발한 시니어 개발자 분이 하시던 말을 기억하고 싶다.

 

"본인의 가치를 알아주는 곳에서 일해야 성장한다."

 

가치를 만들고 성장하는 환경을 만들어가보자.


-

 

도메인이나 기술로는 기존 팀원들보다 많이 부족하니,

새로 합류하는 사람으로써 낼 수 있는 긍정적인 영향이 무엇이 있을지 고민해보곤 했다.

 

도메인을 배우면서 프로젝트를 보고, 낯설어 보이거나 문제가 있을 법한 것들을 찾아보았다.

죄송할만큼 질문을 많이 했다. 

호기심이 많은 탓에 스스로에게 "왜지" 라는 질문이 습관이 되어 버렸는데, 

코드를 볼 때나 위키를 찾아보며 엄청난 "왜지" 들이 쏟아진 터였다.

 

반 년간 도메인을 배우고 팀 내 기술을 익혀갔고,

유저가 사용하는 서비스 레이어부터 시작해서 알림,

그리고 지금은 복잡한 코어 레이어를 작업하고 있다.

 

사용자가 직면하는 서비스부터, 내부 복잡한 도메인을 개발을 하며 

점진적으로 투자 도메인 전문성을 기르는 중이다.


팀원 분들이 놀랄 만큼 성장하고 싶은데,

본인에겐 여전히 성에 차지 않는다.

더 빨리 많이 배워서 큰 도움이 되고 싶다.

 

 

 

 

 

 

 

기술 발표

이게 진짜 될까 ⎯
내가 하고 싶다고 할 수 있는 걸까 ⎯

 

2024년에 정한 2025년 목표 중 하나는 "기술 발표"였다.

발표 기회를 어떻게든 갖고 싶었지만, 나만 마음먹는다고 되는 일인가 싶었다.

 

25년의 하반기가 다다를 때까지 목표를 이루지 못했다.
"내년엔 이루지 뭐" 라는 위안이라는 가면을 쓰고,
내심 정말 안되는 건지 여기저기 찾아보고 다니기 바빴다.

 

기회는 가만히 기다리는 게 아니라, 엿보고 있을 때 찾아왔다.

그러다, 아슬아슬하게, 하반기에 발표 기회를 얻었다.
그리고, 그동안 만들어온 오픈소스를 소개하는 주제로 발표를 준비했다.

발표 주제는 아래에서 언급할 OpenChat Playground 오픈소스 소개로 정했다.

 

회사 일, 사이드 프로젝트, 개인 일정 등

놀라울 만큼 모두 겹쳐버린 일정들로 거의 한 달을 발표 준비에 쏟았다.

발표를 준비하며 정말 많은 질문을 스스로에게 많이 던졌다.

 

어떻게 하면 다수의 시간을 의미있게 채울 수 있는 발표를 할 수 있을까?
어떻게 하면 이 발표가 사람들에게 도움이 될까?
어떻게 하면 사람들이 집중을 유지시킬 수 있을까?

 

장표와 데모 녹화를 만족할 때까지 다듬었다.
도식화를 하고, 비유를 사용해서 이해를 도우려 했다.
더 배울 수 있도록 참고 자료와 링크를 찾아 넣었다.

 


45분이라는 시간이 짧게 느껴질 만큼,

좋은 인사이트를 가져갔으면 좋겠다는 욕심이 컸다.
부끄럽지만 이벤트 중 내 발표를 가장 재밌게 들어주는 상상도 많이 했다.

그렇게 발표 자료를 다듬고, 피드백을 부탁하고, 리허설을 했다.
준비할 수록, 내 발표가 스스로의 만족에 다가갈수록 긴장감은 기대감으로 변했다.

 


발표 당일

늘 타던 지하철이 아닌 버스를 타고
늘 가던 방향이 아닌 서울 중심부로 향했다.

발표는 순식간에 끝났다.
항상 그랬듯, 만족의 기준이 높은 나 자신을 만족시키지 못했다.
조금 더 유연하고 활기찬 발표였으면 재밌지 않았을까 하는 아쉬움이 남았다.

 


그런데 결과는 예상보다 훨씬 좋았다.
발표 후에 많은 분들이 다가와서 질문을 해주셨고, 좋은 후기들을 들을 수 있었다.

직접 찾아와 인사를 건네주시는 분들.
추가 질문을 하시는 분들.
프로젝트에 관심을 보이시는 분들.

 

발표 이후 찾아와 주신 분들께 되려 더 깊은 감사함을 느꼈다.

 

가능성을 의심하기보다,
이룰 방법에 집중하는 것이
목표를 달성하는 가장 빠른 길이었다.

"이게 진짜 될까" 보다는 "이걸 어떻게 해내지"라는 태도가 더 도움이 됐다.

 

 

 

:: 되는 방법 찾기

개발을 하면서, 직장 생활을 하면서 인생에 투영할 수 있는 것들이 많았다.

되는 방법을 찾게 된 것도 그 중 하나이다.

 

사실 어떤 요구사항이든, 개발로 만들어 낼 수 있다고 믿는다.

개발만을 봤을 때는 가능하지만, 회사와 팀 내의 조건과 환경이 가능과 불가능을 좌지우지한다.

 

일상에서도 동일하게 되는 방법을 찾을 수 있고,

다른 점이 있다면 조건과 환경을 내가 구성하고 만들어갈 수 있다.

 

 


그렇게 2025년의 한 칸을 채웠다.

 

 

 

Open Source Contribution

6개월간 오픈소스 컨트리뷰팅 모임에 참여했다.

OpenChat Playground 오픈소스를 만드는 초기 단계부터 함께했다.

 

OpenChat Playground
매번 서로 다른 LLM Provider를 구현해야하는 번거로움을 줄이고자
다양한 LLM 모델을 일관된 방식으로 사용할 수 있게 해주는
MEAI 라이브러리를 기반으로 
여러 LLM 모델 제공자를 미리 구현한 ASP.NET Core 기반 오픈소스 프로젝트

 

 

GitHub Issue, PR 작성, 코드 리뷰, 협업 등

오픈소스가 될 코드와 문서에 대해 엄격한 관리가 이루어졌다.


175개의 댓글이 달린 코드 리뷰는
결코 쉬운 경험은 아니었지만,
그만큼 코드가 ‘공공재’가 된다는 감각을 배울 수 있었다.

 

이 그룹에 속하게 되어 좋았던 건,

열정 있는, 다양한 사람들을 가까이에서 볼 수 있었다.

특히 리더님은 오랜 직장 생활에도 지치지 않고 여러 활동을 운영하고 참여하고, 

기술 발표를 통해 여기저기 기술을 알리는 데 주저하지 않는 모습이 굉장히 인상적이었다.

 

 

종종 "나도 그땐 그렇게 열심히 살았다" 라는 말을 듣는데,

이 말을 들을 때면, 나도 언젠간 지금만큼의 열정과 에너지를 쏟지 못할 시기가 온다는 생각이 들었다.

 

그런데 놀랍게도, 최근 발표를 위해 찾아간 컨퍼런스에서

오랜 경력에도 불구하고 열정을 담고 계시는 분들을 볼 수 있었다.

꾸준한 열정과 자신의 업에 대한 진지함이 느꼈졌다.

 

"내가 가진 열정이 언제 꺼질까"라는 질문을 스스로에게 자주 던지곤 했는데,

이 분들을 보며 "오래도록 열정을 유지하는 방법"에 대해 생각하는 전환점이 되었다.

 

 

 

C# & Dotnet

이번 기회에 C#과 Dotnet을 배우게 됐다.

지식의 깊이는 굉장히 얕아 궁금증이 커졌지만, 경험해본 것으로 만족중이다.

Microsoft와 freeCodeCamp에서 운영하는 C# 자격증 취득이 그 시작이었다.

 

 

 

AI를 통한 바이브 코딩으로 ASP.NET Core 기반 앱들을 만들었다.

만드는 과정 자체를 정말 즐겼다.

 

 

 

 

 

 

일상

하반기에는 정말 많은 어려움을 겪었다.

핸드폰이 갑자기 꺼지고 영영 켜지지 않아 모든 추억이 날아갔고,

갑자기 대출이 막혀 일주일 내내 여러 은행을 뛰어다니고,

이후로는 대환 대출, 이삿짐, 서류 처리로

한 달이 어떻게 지나갔는지 기억조차 안난다.

 

이 회고를 적는 이 순간은 "그랬었지" 하는 심정이다.

시간이 지나면 어차피 흐려질 고통이다.

 

어차피 지나갈 거,

지금은 현재 행복할 수 있는 것들에 집중하고 싶다.

 

 

첫 대출

"대출"이라는 단어가 두려웠다.
없으면 없는대로 사는 거라며 빚을 지는 것을 타부시 여긴 가정에서 자라 반감이 컸다.
은행에서 일하면서 관점을 바꿔봐도 되겠다 싶었다.

책임지지 못할 일을 벌이진 않을 성격이라 생각했고, 

그래서 대출을 받아보기로 다짐했다
회사에서 전세 대출 이자 지원을 해준다.
지금이 '적기'라는 생각을 했고, 바로 실행에 옮겼다.

세 달 동안,

일주일에 1~4곳씩 집을 보고 다녔다.
이동 중에 버스와 지하철에서 회의하고,
개발을 하느라 늘 정신이 없었다.


마지막 즈음엔, 완벽한 집이 아니라 '충분히 괜찮은 집'을 찾아야 함을 깨달았다.
가격과 위치, 집 상태가 모두 완벽하기란 불가능하다.

자취할 집을 결정했다.
잔금일을 잡았다.

 

그때는, 일이 이렇게 복잡해질 줄 몰랐다.

 

|

대출을 신청하러 갔다.
그런데, 대출이자 지원 대상의 상품 실행일이 잔금일 이후까지 막혔다.
신청하러 간 바로 직전 날 공표되어 알 길이 없었다.
곧 추석 연휴이기도 했고, 예상컨데 정부의 전세대출 규제의 변화 예정이어서 영향을 받았을 것이다.

계약일을 조정하려고 집주인과 협의했다.
현 세입자의 다음 전세 계약과 맞물려 불가능하다고 한다.

다른 은행의 이자 지원 전세대출을 알아봤다.
막혔다.

대출이자 지원 대상의 전세대출은 물건너 갔다.
다른 은행의 신용대출을 고려했다.

- 대출 실행이 풀렸을 때, 다른 은행의 전세자금으로 갈아타야한다.
- 금액이 큰 만큼 큰 부담과 번거로움을 감수해야 했다.
- 금리가 높았고, 신용점수의 하락도 걱정됐다.

하지만 이자 지원 대상이니, 일부 이자만 갈아타기 전까지 지불하면 된다.


그런데,
다른 문제를 발견했다.
전세 대출은 계약 후 잔금일 이전에만 신청할 수 있다는 사실을 알게 되었다.
즉, 대출이자 지원 대상의 신용대출도 불가능했다.

 

 

정리하면,

이자 지원 전세대출은 시점 문제로 불가능했고,
신용대출도 조건상 막혔다.
결국 다른 은행 전세대출 → 추후 대환이라는 선택지만 남았다.

 


계약일이 2주 남았다.
대출이자 지원을 포기하고, 주거래 은행을 찾았다.
너무 가까운 잔금일과 연휴가 가깝다며 거절당했다.

반차를 썼다.
회사 근처의 은행을 찾았다.
거래 실적이 전혀 없는 곳이다.
그만큼 간절했다.

신청에 성공했다.
시간이 어떻게 흐르는지 모르게 일주일을 보냈다.

실행일 당일, 은행에서 금리 우대 대상의 적금상품이 아니라 현재 적금 해지를 요청했다.
여러 요건이 걸려있었다고 했는데, 급박한 상황에 들은 상세한 이유가 기억에 없다.
헬스장에 있다가 급하게 집까지 달려갔다.

---

 

배운 점이다.

 

1. 잔금일은 반드시 한 달 이상 여유 있게 잡자.
   대출 심사와 실행까지 최소 2주 이상이 걸린다.

2. 전 세입자의 전세금 사정도 반드시 고려해야 한다.

3. 전세대출 서류는 온라인 발급이 가능하지만,
   여러 은행을 돌 예정이라면 한 번에 출력하는 편이 낫다.

4. 전세 보증보험은
   HUG, HF, SGI 중 본인에게 유리한 곳을 미리 알아두자.

5. 전세대출은 반드시
   계약 후, 잔금일 이전에 신청해야 한다.

 

 

대환 대출로 인해 중도상환수수료를 내야했고,
대출 이자 지원을 받지 못했고,
은행을 직접 방문해 신청해야하는 번거로움이 있었다.

 

자취 시작 

그렇게 자취를 시작했다.


이후로는 이사 준비로 바빴다.
새 가구를 들이고, 서류 처리들도 마무리하고, 관리비나 자동이체 관리로 계좌/적금/예금/투자를 정리해두었다.

3개월이 지난 지금,
너무 힘들었던 이 시기에 얼마나 절박했고, 얼마나 간절했는지 돌아본다.
아직은 생생히 기억난다.

많은 문턱이 있던 만큼, 많이 경험하고 배웠다.
적어도, 지금은 자취 생활은 정말 즐겁게 하고 있으니 행복하다.

 

 

 

첫 장기 운전

운전연수를 받았다.

오만 로드 트립에서 친구 혼자 운전하는데 미안함을 느끼고 다짐한 시작이었다.

 

한국에 오자마자 운전연수를 받았고,

다행히도 연수 선생님이 나는 공간 감각이 있어서 운전을 금방 잘할 거라고 말씀해주셨다.

 

자신감을 얻고 이번엔 첫 렌트와 홀로 운전에 도전했다.

운전을 무사히 마쳤지만, 너무 긴장해서 기운이 아주 없었다.

솔직한 심경은, 운전을 영영 미루고 싶었다.

왜 이런 긴장과 두려움을 굳이 느끼면서 해야하지, 마음 속에서 계속 되뇌였다.

 

연말에, 엄마가 남해에 사는 삼촌에게 가고싶다고 했다.

그렇게 가족여행을 계획하는데 남해에 가는 교통편이 말도 안되게 긴 여정이었다.

난 렌트를 제안했고, 가족들이 운전할 날 믿어주었다.

 

여행 전까지 렌트한 차에 대한 정보와 영상을 찾아 보며

시도때도 없이 상상 연습을 했다.

 

운전초보 엄청 티 내는 유튜브 히스토리


부끄럽지만... 🤣

유튜브를 거의 안보다가 유튜브 앱을 깔아서 볼 정도였다.

 

여행은 정말 성공적이었다.

엄마가 그렇게 행복해하는 모습을 보니 정말, 더할 나위 없었다.

찾아온 네 모녀에 삼촌은 진심으로 기뻐하셨다.

연말에 찾아온 따뜻함이었다.

 

차가 없었으면 정말 어려웠을 여행이었다.

운전 연수를 받은 것과, 미리 렌트를 시도해봐서 다행이었다.

 

 

 

 

 

KPT 2026

보이는 성과를 만들고자 했던 다짐이

혼자 하는 헬스에서 마라톤 기록을,

오픈소스 기여와 기술 발표를 하게 이끌었다.

 

목표를 정의해두는 건, 생각보다 그 의미가 크다.

내가 의식하지 않을 때 방향을 인도하고,

나는 무의식적으로 그 길을 선택하고 향한다.

 

그래서 연말이 다가오면 어느정도 만족할 만한 성취를 해둔 것 같다.

만족의 기준점이 높아 잘했다고는 못하겠지만

어느 과정이나 최선을 다했던 스스로의 가치를 인정해주고 싶다.

 

스스로에게 떳떳할만큼 노력할 나 자신을 믿고

포기하지 않을 스스로를 응원한다.

 



Keep

운동을 꾸준히 하자.
신체 건강을 위해 시작했던 운동이
이젠 정신적인 건강까지 함께 길러주고 있다.

나에게 운동은
단순히 ‘운동을 한다’는 행위가 아니라,
‘꾸준함을 실행하는 사람’이라는 정체성을 유지하는 수단이었다.

그럼에도 불구하고 ‘매일’ 운동을 한다는 건 쉽지 않다.

그래서 더더욱,
매일의 운동은
스스로에게 꾸준함을 증명할 수 있는 가장 선명한 방법이 아닐까 싶다.

 

 

 

성과를 잘 보이게 하자

성과를 보이게 하려고 의식하자,
그 자체가 스스로에게 주는 보상처럼 느껴졌다.

‘나는 분명히 해냈다’는 사실을
눈으로 확인할 수 있다는 것만으로도
생각보다 큰 만족과 동기부여가 됐다.

앞으로도
내가 걸어온 과정을 가시화하고,
성과를 기록하며 스스로에게 보상을 주는 방식을 계속 가져가고 싶다.

 

 

 

AI 시장 흐름

AI 시장은 놓치지 말아야 한다.

그저 읽고, 써보고, 활용하는 데서 그치지 않고
시장을 읽지 않으면 안 되는 환경에 나 자신을 계속 두고 싶다.

의식하지 않으면 금방 뒤처지는 영역이기 때문에,
의도적으로 관심을 강제하는 구조를 만들어야겠다고 느꼈다.

 

 


밋업 참석

밋업은 기대 이상의 것을 가져다줬다.

다양한 인사이트,
다양한 사람들,
그리고 그 안에서 생겨나는 다채로운 아이디어와 에너지.

혼자였다면 떠올리지 못했을 생각들을
사람들 사이에서 자연스럽게 얻게 되는 경험은
앞으로도 계속 가져가고 싶은 자극이다.

 

 

 

Problem

수면과 휴식

2025년 후반부에는
번아웃 직전까지 갔던 순간이 분명히 있었다.

개발, 회사 업무,
대출과 이사,
영어 수업, 기술 발표, 사이드 프로젝트 일정이
짧은 기간에 한꺼번에 몰렸고,

‘할 수 있겠지’라는 생각으로
스스로를 계속 몰아붙였다.

쉬고 싶다는 신호가 와도
이미 쉬지 못하는 상태가 되어버린 뒤였다.

점심시간에 몰래 개인 공부를 하다
작은 소파에 걸터앉아 노트북을 붙잡은 채 잠들어버렸고,

산책하는 팀원들에게 들킨 부끄러웠던 순간도 있었다.

 

앞으로는
최소 6시간,
가능하다면 6시간 30분에서 7시간을 목표로
의도적으로 지켜보려고 한다.

 

 

 


영어 일기

예전엔 버스로 출퇴근 할 때, 앉아서 영어 일기를 쓰곤 했다.

하루를 정리하는 짧은 문장이어도 좋고, 

감정이 엉킨 날에 막 적기 좋았다.

 

자취를 시작한 이후엔 영어 일기를 멈췄다.

다시 부담 없이 이어가고 싶다. 

생각을 영어로 남기는 습관을 두고 싶다.

 

처음엔 영어 일기는 ‘공부’라기보다,

언어를 대하는 태도에 유지하는 장치에 가까웠다.

그런데 쓰다보니 내 생각을 막 적는 걸 즐기게 되었고,

막 적을 때 내가 의식하지 못했던 내 감정들도 적게 되었다.

 

그 시간이 기다려졌다.

그 시간이 그립다.다시 시작해보자.

 

 

 

Try

운동
바프

- 10KM PB - 40분 초중반

해외 Full Marathon 도전

 


개발
- 영어 기술 발표

- 링크드인 활동: 월 최소 4회

 

 

 

AI 관련 아티클 작성

블로그에 작성할 좋은 컨텐츠이다.

AI 시장의 흐름도 읽고,

영어로 글도 작성하고,

글을 꾸준히 쓰는 습관이 되기에도 좋은 명분이다.

 

'ETC > Retrospect' 카테고리의 다른 글

2025년 상반기 회고  (2) 2025.06.30
2024년 회고  (14) 2024.12.31
2024년 상반기 회고  (6) 2024.07.01
2023년 회고  (8) 2024.01.01
2023년 상반기 회고  (22) 2023.07.08