들어가며
어느덧 정신없는 2025년이 지나고, 2026년의 끝자락이 다가오고 있습니다. 링크드인과 각종 커뮤니티에 쏟아지는 회고 글들을 보며, 나도 짧게나마 기록을 남겨야겠다고 느꼈습니다.
올해는 코딩 교육이라는 완전히 새로운 도메인에서 일을 맡았고, 동시에 AI라는 거대한 물결을 실무에서 직접 경험한 해였습니다.
모두의연구소에서의 1년
올해 3월, 모두의연구소에 프론트엔드 개발자로 합류했습니다. 모두의연구소는 AI 교육 및 연구 중심의 커뮤니티형 교육 서비스를 제공하는 회사로, 합류 전에는 몰랐지만 이미 학생과 재직자 사이에서 꽤 인지도가 있는 곳이었습니다.
AI가 광풍처럼 불던 시기에, “지금의 흐름을 가장 가까이에서 배울 수 있는 도메인”이라는 생각이 들어 합류를 결정했습니다.
LMS (Learning Management System)
올해의 키워드를 하나 꼽는다면 단연 LMS였습니다. 애착도 컸고, 가장 많은 시간을 쏟은 프로젝트였습니다.
기존 LMS는 코드가 노후화되어 있었고, 디도스에 가깝게 느껴질 정도의 API 호출 패턴과 오래된 UI와 UX로 인해 수강 환경 개선이 불가피한 상황이었습니다. 입사하자마자 프로젝트를 배정받았고, “달리는 기차의 바퀴를 교체”하는 작업을 시작했습니다.
LMS가 낯설게 느껴질 수 있지만, 쉽게 말하면 Jupyter Notebook이나 Google Colab 같은 환경을 떠올리면 이해가 빠릅니다.
- 마크다운 기반 교안 안에서 코드 실행 환경을 제공하고
- 웹소켓으로 백엔드와 통신하면서
- 코드를 실행하고 결과를 확인하는 구조입니다.
처음엔 부담이 컸습니다.
- KDC, KDT 같은 용어부터 생소했고
- 국비 교육은 제약이 많아 히스토리 파악이 중요했으며
- 웹소켓은 학부 이후로 거의 다뤄본 적이 없었고
- socket.io도 쓸 수 없는 상황이었습니다.
그럼에도 좋은 동료들과 AI의 도움 덕분에 프로젝트를 잘 마칠 수 있었습니다. AI가 생산성을 올려주더라도, “편하게 질문하고 도움받을 수 있는 동료”의 가치를 체감한 프로젝트였습니다.
AI 챗봇 서비스
LMS 수강 환경 안에서 도구로 사용하는 AI 챗봇 서비스도 개발했습니다. 목표는 다음과 같았습니다.
- 학생들이 코드, 퀴즈, 커리큘럼, 수강 환경 관련 질문을 자연스럽게 해결하도록 돕기
- 외부 AI 도구가 아니라 내부 서비스 사용 경험을 제공해 락인 효과를 높이기
이번 작업은 AI 스쿼드와 협업했고, GraphQL Streaming 방식으로 대화가 자연스럽게 이어지도록 개선했습니다. 처음에는 요청 후 응답이 한 번에 도착하는 구조라 대기 시간이 길었습니다. 따라서 streaming 옵션을 활용해 청크 단위로 응답을 수신하도록 바꿨습니다. 추가로 체감 품질을 올리기 위해 아래 작업도 함께 했습니다.
- 서버 최초 응답 전 공백을 메우는 trace message(로딩 메시지) 추가
- 타이핑 애니메이션
- 드래그 옵션 등 UX 개선
- GPT, Perplexity 같은 서비스 참고
결국 느낀 점은 하나였습니다.
실시간 AI 경험에서 중요한 것은 단순히 “빨리 답을 주는 것”이 아니라, 정답이 만들어지는 과정을 얼마나 자연스럽게 보여주느냐였습니다.
Server Driven UI 및 CMS Editor
예전부터 꼭 한 번 다뤄보고 싶던 주제였던 Server Driven UI도 경험했습니. 서버에서 UI 정보를 내려주고 클라이언트가 그에 맞춰 화면을 구성하는 방식은, 고정된 UI에 비해 유연성이 크고 운영 민첩성이 높다는 점이 매력적이었습니다.
참고했던 레퍼런스들 :
이 프로젝트는 기술 난이도보다도, 유관 부서와의 소통과 협업이 핵심이었습니다.
- 기획과 에디터 디자인이 따로 없는 상황에서 빠르게 프로토타입을 만들고
- 실제 사용자 피드백을 받아 기능을 계속 덧붙였고
- 초안, 버전 관리, 템플릿, 복제 등 초기에는 놓쳤던 운영 요구사항들이 빠르게 등장했습니다.
지금은 B2C 페이지의 대부분을 어드민 에디터를 통해 관리하고 있습니다.
에디터 디자인은 v0, Lovable 같은 프로토타입 도구를 적극 활용했습니다. 프로토타입 제작은 확실히 AI의 영역으로 넘어가고 있다는 감각이 있었습니다.
사내 발표
작년에는 외부 컨퍼런스 발표가 있었다면, 올해는 사내 발표를 2건 진행했습니다. 내부에서 워낙 바쁘게 지내다 보니 외부로 시선을 돌릴 여유가 적었던 것도 사실입니다. 대신 개발팀에서는 주기적으로 회고와 발표 세션을 진행하고 있고, 매번 주제가 달라질 정도로 유익했습니다. 올해는 특히 AI 관련 세션이 많았습니다.
취미생활과 함께 기술스택 넓히기

최근 Expo 기반 React Native 앱 개발에 관심이 생기면서, 취미인 테니스를 주제로 사이드 프로젝트를 시작했습니다.
테니스 클럽에서 경기 이사를 맡으며 매번 엑셀로 대진표를 만들었는데, 이를 앱과 웹으로 공유하면 어떨까 하는 생각에서 출발했습니다.
기존에는 Supabase를 활용했지만, “기왕 하는 김에 백엔드도 해보자”는 마음으로 다음 스택으로 확장했습니다.
- Nest.js
- PostgreSQL
- TypeORM
- 어드민까지 직접 구축
특히 Cursor에서 RN, Nest.js, Admin FE를 한 워크스페이스로 묶어 작업하며 생산성 향상을 크게 체감했습니다. 그리고 어드민 화면 구현은 점점 “프론트의 손을 떠나는 느낌”도 들었습니다.
앱 개발과 크로스 플랫폼 알아보기

사내에서 앱 개발을 맡게 되면서 준비한 세션입니다.
작년까지만 해도 Flutter에 꽤 호의적이었는데, Expo 기반 React Native의 편하고 안정적인 개발 환경을 경험하고 나서는 Expo에 더 마음이 기울었습니다. 세션에서는 네이티브, 웹뷰, 크로스 플랫폼(하이브리드 포함)을 아이스브레이킹 형태로 비교하며 정리했습니다.
AI: 일하는 방식의 변화
올해 가장 임팩트가 컸던 키워드는 역시 AI였습니다.
GPT가 처음 나왔을 때는 신기한 장난감 정도로 생각했는데, 이제는 Cursor나 Claude 없이는 일을 하기 어렵다고 느낄 정도가 되었습니다. 초반에는 Cursor 자동 탭 같은 기능 위주로 썼다면, 지금은 가능한 한 직접 작성하는 코드를 줄이고 에이전트를 활용하려고 합니다. 직접 타이핑하는 코더에서, 검수자 역할로 이동하려는 시도입니다.
최근에는 Cursor뿐 아니라 Claude도 적극적으로 활용하고 있고, 코드를 작성하는 것보다 설계가 더 중요하다는 사실을 조금씩 체감하고 있습니다. 개발팀 관점에서도 중요한 건 “유행을 따라가는 것”보다, 우리에게 맞는 도구를 고르고 도입하고 피드백을 남기는 것이라고 느꼈습니다.
- Playwright MCP로 E2E 테스트 시도
- 디자인 시스템을 정리해 Figma MCP 활용을 높이려는 시도
- 맞지 않는 도구는 과감히 정리
- CodeRabbit을 PR 단계에 붙여봤지만 기대만큼 효과가 없었던 경험
AI는 분명 강력하지만, 맹신하면 안 된다는 것도 배웠습니다.
사이드 프로젝트
작년에는 Flutter와 Supabase를 재밌게 가지고 놀았다면, 올해는 다음 스택으로 더 “풀스택에 가깝게” 만들어보고 있습니다.
- Expo (React Native)
- Nest.js
- React
AI를 활용하면서, 하나의 워크스페이스 안에서 같은 제품의 앱과 웹과 서버를 동시에 다루는 일이 훨씬 현실적으로 느껴졌습니다.
테니스를 좋아해서 테니스 클럽과 대진을 관리하는 앱을 만들었고, 최근에는 여행 관련 앱도 만들어보고 있습니다. 작년에 사이드 프로젝트에 조금 소홀했는데, 올해는 다시 열심히 해보려고 합니다.
마치며
AI 시대에, AI 교육이라는 새로운 도메인에서 일하며 많은 것을 배우고 경험한 한 해였습니다.
특히 다음과 같은 기술과 경험을 새롭게 접할 수 있어서 의미가 컸습니다.
- WebSocket
- GraphQL
- Streaming
- 챗봇
KDT, KDC 부트캠프 영역은 제약도 있고 도메인 지식이 필요한 분야이지만, 좋은 동료들과 함께라서 빠르게 흡수하고 제품을 만들 수 있었습니다. 올해는 AI를 더 잘 체득하고, 더 잘 활용하는 한 해가 되도록 계속 시도해보려고 합니다.