2025년도 회고: 군대, 그리고 AI
2025년 12월 31일

서론
올해는 저에게 억겁처럼 느껴진 한 해였습니다.
군 복무 중이라는 환경 때문인지, 아니면 밖에서 들려오는 AI의 발전 속도가 너무 빨라서였는지 모르겠지만 이대로 멈춰있으면 도태되겠다는 불안함이 늘 마음 한구석에 있었습니다. 그래서 더 무언가에 몰입하며 움직였던 한 해였습니다.
돌아보니 자격증 몇 개를 땄고, 부대 안팎에서 몇 개의 프로젝트를 진행했습니다. 결과가 좋았던 것도, 생각만큼 잘 풀리지 않았던 것도 있었지만 그 과정에서 제가 어떤 방향으로 나아가야 할지 조금은 더 선명해진 기분입니다.
올 한 해 제가 했던 고민과 시도들을 4L(Liked, Learned, Lacked, Longed for)로 기록해 보려 합니다.
Liked: 몰입한 순간
1. 군 내부 개발 환경의 변화: shadcn/ui의 도입
올해 군 내부에서의 성취는 개발 조직 전반에 shadcn/ui를 도입하고 정착시킨 일입니다.
제가 입대할 당시만 해도 부대 내 신규 프로젝트들은 Vue 2~3 기반이 많았고, 팀마다 사용하는 테크 스택이 파편화되어 있어 협업이나 유지보수 측면에서 비효율이 존재했습니다. 저는 React + Tailwind CSS + shadcn/ui 조합이 가진 압도적인 생산성과 유연성을 증명하고 싶었습니다.
그 어느 곳보다 보수적인 군대라는 조직에서 새로운 기술을 설득하기는 쉽지 않았지만 여러 성공 사례를 개발함과 AI-friendly라는 두 축을 통해 설득 하였습니다.
단순히 "이 스택이 좋다"고 말하는 것에 그치지 않고, 이를 국방망(내부망) 환경에서 온전히 사용할 수 있도록 인프라를 구축하는 데 집중했습니다.
- shadcn 공군 레지스트리 개발: 추가적 기능 및 디자인 시스템을 담은 버튼, 캘린더 등의 컴포넌트를 직접 업로드하고 배포할 수 있는 시스템을 만들었습니다.
- 미러링 및 환경 최적화: 외부망에 접근할 수 없는 환경을 고려해, shadcn 공식 사이트의 모든 리소스를 국방망으로 가져왔습니다. 주소만 바꾸면 모든 기능이 그대로 작동하도록 구조를 재설계하여 동료 개발자들이 외부와 동일한 개발 경험을 가질 수 있도록 설정했습니다.
더 나은 개발 문화를 제 손으로 직접 정착시켰다는 점에서 개발자로서 꽤나 즐거운 경험이었습니다.
2. 제약을 넘어선 공군형 ChatGPT 개발
올해 한 해 동안 가장 많은 시간을 쏟고 깊게 몰입했던 프로젝트는 공군 내부 ChatGPT 서비스인 AiRWARDS 개발이었습니다.
2025 AI Seoul 공군 부스 - 출처: 전자신문
단순히 챗봇을 만드는 것을 넘어, 에이전트 기반의 비즈니스 로직을 국방망이라는 특수한 환경에 녹여내는 도전적인 작업이었습니다.
- 기술적 제약과 극복: 국방망 특유의 보안 프로토콜로 인해 WebSocket을 사용할 수 없는 제약이 있었습니다. 이를 해결하기 위해 SSE를 활용하되, 그 과정에서 발생하는 다양한 문제들을 최적화하는 데 집중했습니다.
- 렌더링 최적화: LLM이 토큰을 뱉어내는 속도가 브라우저의 렌더링 속도보다 빠를 때 발생하는 UI 병목 현상을 해결해야 했습니다. 모든 토큰을 즉시 렌더링하지 않고, Buffer에 담아 프레임 단위로 나누어 그리는 방식을 도입해 SSE 환경에서도 매끄러운 사용자 경험을 구현했습니다.
이외에도 다양한 AI 및 데이터 파이프라인과 관련된 프로덕트들 개발에 참여하였습니다.
3. 데이터로 증명한 유저 가치: 공군 점수 계산기(MAU 10K+)
군 생활 중 개인적으로 가장 큰 애착을 가지고 진행한 프로젝트는 바로 공군 점수 계산기입니다.
‘공군 점수 계산기’ 서비스 화면
처음에는 단순히 "입대 전 나와 동기들이 겪었던 불편함을 해결해보자"는 가벼운 마음으로 시작했지만, 결과적으로는 저에게 있어 꽤나 성공적인 프로젝트로 자리매김했습니다.
시중에 이미 여러 계산기가 있었지만, 대부분은 단순히 입력값을 더해주는 기능에 그쳤습니다. 하지만 지원자들에게 정말 필요한 정보는 "내 점수가 몇 점인가"가 아니라, “이 점수로 이번 기수에 합격할 수 있는가"였습니다. 저는 이 지점을 파고들었습니다.
- 데이터 기반 예측: 최근 2년간의 기수별/특기별 커트라인 데이터를 수집하여 데이터베이스화했습니다. 이를 통해 사용자의 점수를 단순히 보여주는 것이 아니라, 합격 가능성을 안정/소신/위험의 3단계로 시각화하여 제공했습니다.
- 유연한 설계: 공군의 선발 배점 기준은 해마다, 심지어 기수마다 미세하게 바뀝니다. 매번 코드를 수정하는 대신, JSON 설정 파일만 교체하면 UI와 계산 로직이 자동으로 업데이트되는 구조를 설계하여 유지보수 효율을 극대화했습니다.
- 데이터 기반 UX 개선: Microsoft Clarity를 도입해 유저들의 행동을 분석했습니다. 한 손 조작이 힘든 버튼 위치를 수정하고, 시인성이 떨어지는 UI를 개선하는 등 철저히 '데이터'에 기반해 사용성을 다듬었습니다.
이러한 고민의 결과는 기대 이상이었습니다. 특별한 유료 마케팅 없이 SEO 최적화와 커뮤니티 입소문만으로 월간 활성 사용자(MAU) 10,000명을 달성했습니다.
공군 점수 계산기 Vercel Analytics
네이버에서 공군 점수 계산을 검색하면 공식 병무청 사이트보다 상단에 노출되기도 했고, 예비 공군인들의 오픈채팅방에서 “계산기가 정말 편하다"는 평을 들을 때면 개발자로서 느낄 수 있는 희열을 맛보았습니다.
4. 아쉬움만큼 깊게 몰입했던 공군 AI 해커톤
군 내에 있는 경진대회와 해커톤들은 꼭 나가야겠다는 생각을 입대 전부터 해왔습니다. 그래서 부족한 시간 속에서도 대회에 참여하였습니다.
비록 수상이라는 결과로 이어지지는 못했지만, 낯선 도메인을 공부하고 기술로 문제를 해결하려 애썼던 그 과정만큼은 무엇보다 즐거운 기억으로 남아있습니다.
전문적인 AI 지식은 없었지만 이번 해커톤은 어떻게든 점수를 높여보려고 집요하게 매달렸던, 올해 가장 치열했던 시간이었습니다.
- 진행 과정: 코딩 테스트를 시작으로 예선과 본선까지 꽤 긴 호흡으로 진행되었습니다.
- 예선 (활주로 크랙 탐지): 실제 활주로 이미지에서 결함을 찾아내는 과제였습니다. YOLO 같은 객체 탐지 모델을 처음 접하며 데이터 전처리와 모델 학습의 기초를 다질 수 있었습니다.
- 본선 (기상 시정 예측): 10일치 기상 데이터를 분석해 다음 날의 시정을 예측하는 과제였습니다. Regression부터 Deep Learning, Machine Learning 기법들을 하나씩 파헤치며 조금이라도 점수를 높여보려고 2주간 매일 사무실에 나가 몰두했던 기억이 생생합니다.
단순히 코드를 짜는 것과 데이터를 다루는 것은 결이 많이 달랐습니다. 모델 성능을 최적화하기 위해 고민하고 공부했던 시간이 수상을 하지 못했다는 결과를 받았을땐 허탈한 마음이 들었지만, 시간이 지나고 돌아보니 AI 기초를 알아가는 거름이 되었던 시간이었습니다.
Learned: 배운 것
1. AI 최전선에서 바라본 에이전트라는 패러다임
공군 AI체계개발팀에서 1년 넘게 복무하며 군 내부 AI 도입 프로세스를 경험함과 동시에 부대 밖에서도 여러 개인적인 AI 프로젝트를 진행했습니다.
이 경험들을 통해 제가 얻은 가장 큰 화두는 AI Agent의 활용이었습니다.
처음 LLM을 접했을 때는 단순히 질문에 답을 잘하는 챗봇 정도로만 생각했습니다. 하지만 실제 업무 현장에서 LLM 기반 서비스를 구축해보니, 진짜 가치는 그 이상에 있었습니다.
전체 워크플로우를 최적화하는 에이전트 시스템이 도입되었을 때 비로소 실질적인 업무 효율의 혁신이 일어나는 것을 실감했습니다.
앞으로의 개발은 단순히 특정 기능을 구현하는 수준을 넘어, AI 에이전트를 어떻게 기존 업무 프로세스에 자연스럽게 녹여내고 제어할 것인가가 핵심 경쟁력이 될 것이라는 확신을 얻었습니다.
2. AI 시대의 생존법
올해 초 가졌던 불안함에 대한 답은 결국 AI를 도구로 잘 활용하는 개발자가 되는 것이었습니다.
이제 단순히 코드를 잘 짜는 것만으로는 부족하다는 걸 느꼈습니다. AI가 코딩의 상당 부분을 분담해주는 시대에는, 기술 그 자체보다 이 기술로 어떤 문제를 해결하고 가치를 만들 것인가를 고민하는 능력이 더 중요해졌기 때문입니다.
공군 점수 계산기를 운영하며 느낀 점도 비슷합니다. 기술적으로 복잡한 기능을 구현하는 것에 매몰되기보다, 유저들이 진짜 원하는 '합격 예측' 기능을 고민하고, SEO를 연구해 유입을 만들어내고, 데이터를 분석해 기능을 수정하는 과정이 프로덕트의 성공에 훨씬 더 큰 영향을 미쳤습니다.
AI를 도구 삼아 개발의 효율을 높이고, 그렇게 확보한 시간에 유저의 목소리와 데이터에 더 집중하는 것이 제가 찾은 정답이었습니다.
3. 개발이란, 결국 사람과 대화하는 일
군대라는 조직은 참 보수적이고 폐쇄적입니다. 이런 곳에서 새로운 기술을 하나 도입하거나 팀원들과 합을 맞추는 건 생각보다 더 피로한 일이었습니다.
하지만 1년 넘게 협업하며 느낀 건, 환경이 딱딱할수록 결국 말 한마디가 중요하다는 점이었습니다. 내 기술이 왜 필요한지 상대방이 이해할 수 있는 언어로 설명하고 설득하는 과정이 기술적인 구현보다 더 큰 비중을 차지할 때도 많았습니다.
결국 개발도 사람이 하는 일이고, 팀 안에서 소통이 꼬이면 아무리 좋은 코드도 의미가 없어진다는 당연한 사실을 다시 한번 느꼈습니다.
Lacked: 아쉬움
1. 프로덕트와 마케팅의 간극
사이드 프로젝트로 동행일기 앱을 출시하며 뼈저리게 느낀 점은, 아무리 정성을 들여 만들어도 세상에 알려지지 않으면 의미가 없다는 것이었습니다. 앱스토어 배포까지는 성공했지만, 정작 유입을 만들어내는 마케팅 역량이 부족해 프로젝트를 더 이어가지 못하고 마무리해야 했습니다.
동행일기 서비스 배너
개발자로서 만드는 것에만 매몰되지 않고, 어떻게 유저에게 전달할 것인가에 대한 고민이 얼마나 중요한지 절실히 느꼈습니다.
2. 노력은 했으나 결과가 좋지 못한 것들
공군 AI 해커톤 본선을 준비하며 2주간 매일 같이 사무실에 남아 데이터와 씨름했습니다. 하지만 수상을 놓쳤다는 결과를 받았을 때의 허탈함은 생각보다 컸습니다.
의욕은 앞섰지만 성과로 증명해내지 못한 순간들을 마주하며, 노력의 방향성과 선택과 집중에 대해 다시 한번 돌아보게 되었습니다.
모든 시도가 성공할 순 없겠지만, 실패에서 오는 공허함을 견디고 다음을 준비하는 힘이 아직은 부족함을 느낀 해였습니다.
Long for: 나아갈 점
1. 전역
2026년 6월이면 드디어 군 복무를 마칩니다. 억겁 같았던 시간 속에서 불안함을 성취로 바꾸기 위해 달려온 1년이었습니다.
내년에는 군이라는 울타리를 벗어나, 그동안 밀도 있게 쌓아온 경험들을 사회라는 더 큰 운동장에서 펼쳐보고 싶습니다.
2. AI에 올라타는 사람 되기
올해 초 가졌던 AI에 대한 막연한 두려움은 기대 반 두려움 반으로 바뀐 것 같습니다.
AI를 단순히 사용하는 수준을 넘어, 저만의 강력한 도구로 완전히 내재화하고 싶습니다.
유행하는 기술을 쫓기보다, 제가 만든 서비스가 누군가의 문제를 실질적으로 해결해 줄 수 있도록 기술과 기획의 균형을 잡는 단단한 개발자가 되는 것이 목표입니다.
정리
좋은 부대에 오게 되어 다양한 개발 경험도 접하고, 정말 좋은 사람들도 많이 만난 해였습니다.
이미 지나간 아쉬움은 털어내고, 주어진 것들을 가지고 한 방향으로 나아가는 제가 되길 바랍니다.