Page
주도현
사람에게 쓰이는 시스템을 만드는 소프트웨어 엔지니어
사람에게 쓰이는 시스템을 만드는 소프트웨어 엔지니어
Software Engineer 주도현입니다.
저는 기술보다 문제를 먼저 봅니다. 웹을 만들지, 앱을 만들지, 아니면 자동화 도구 하나로 끝낼지는 그다음 문제입니다. 만든 것이 실제로 쓰이고 사람들의 일을 전보다 낫게 하는지가 더 중요합니다.
Frontend는 제가 가장 오래 일한 분야입니다. 그렇다고 문제를 화면 안에 가두지는 않습니다. 필요하면 API와 배포 환경을 만들고 운영 데이터를 살피며 반복 업무도 자동화합니다. 무엇을 만들지 정하는 일부터 출시 이후의 운영까지, 시스템 전체를 보는 편입니다.
문제를 푸는 방식
일을 시작할 때는 사업과 시스템의 맥락부터 파악합니다. 손에 익은 기술을 바로 꺼내기보다 원하는 결과와 제약을 먼저 살펴봅니다. 필요한 원리와 도구는 그때그때 배웁니다. 시각디자인을 전공한 제가 별도의 개발 교육기관을 거치지 않고 Software Engineer가 된 과정도 크게 다르지 않았습니다.
눈앞의 현상만 고치기보다 같은 문제가 왜 반복되는지도 묻습니다. 사람이 계속 신경 써야만 굴러가는 일이라면 코드나 규칙, 자동화로 조건을 바꿀 방법을 찾습니다. 로그와 trace만 보지 않고 VOC를 함께 살피는 이유도 같습니다. 무슨 일이 벌어졌는지 알아야 문제를 다시 정의할 수 있습니다.
정답이 없는 일은 작게 만들어 확인합니다. 말과 문서만으로 오래 합의하기보다 작동하는 Prototype을 먼저 보여줍니다. 화면과 동작이 생기면 서로 무엇을 다르게 상상했는지도 금방 드러납니다. 한 번 해결한 문제는 문서, 코드, Workflow, Infrastructure로 남겨 다음 일의 출발점으로 씁니다.
지금 하는 일
현재 Software Engineer로 일하고 있습니다.
기존 웹 서비스를 React Native와 Expo 기반 네이티브 앱으로 옮겨 스토어 출시와 운영을 맡았습니다. EAS와 OTA를 이용한 릴리즈 흐름을 정리하고, Next.js와 Expo에 SigNoz 에러 리포팅 SDK를 구축했습니다. 프론트엔드와 백엔드의 trace를 연결해 사용자가 겪은 문제를 시스템 안에서 따라갈 수 있도록 했습니다.
제품을 만드는 방식도 함께 다듬고 있습니다. Storybook을 화면 단위의 사용자 흐름 카탈로그로 구성해 완성되기 전부터 디자인과 동작을 확인할 수 있게 했습니다. 반복되는 릴리즈 절차와 API 계약 검사는 자동화했습니다. 아이디어를 논의할 때는 Prototype을 직접 만들어 실제 화면을 앞에 두고 가능성을 따져봅니다.
AI가 코드를 만드는 비중이 커질수록 결과를 확인하는 구조가 더 중요해진다고 생각합니다. 코드 diff만 읽어서는 사용자가 마주할 화면과 회귀를 모두 알기 어렵습니다. 테스트와 실행 화면, 관측 데이터를 함께 보고 Git의 작업 경계도 분명하게 둡니다. AI를 얼마나 많이 쓰느냐보다 AI가 만든 결과를 사람이 얼마나 빠르고 정확하게 판단할 수 있느냐에 관심이 있습니다.
만들어 온 것
이전 직장에서는 풀스택 개발자이자 개발팀장으로 일했습니다. 약 3억 원 규모의 실시간 쿠폰 발급, 결제, 정산 시스템을 기획 단계부터 이끌었습니다. 진행 중인 결제까지 예산에 반영하고 미완료 결제를 자동으로 정리해, 한정된 예산을 안전하게 집행할 수 있는 구조를 만들었습니다.
사내 근태관리 시스템은 PoC부터 실제 운영까지 맡았습니다. 정책이 바뀌어도 과거 평가 결과가 달라지지 않도록 기록과 평가를 분리하고 Snapshot을 적용했습니다. 약 4,000명이 동시에 사용한 사내 HR 웹게임에서는 게임 로직을 독립 엔진으로 나누고 RxJS 이벤트 스트림과 Docker Swarm 운영 구조를 적용했습니다.
개인사업자로 일할 때는 웹사이트와 키오스크의 애플리케이션 개발, 데이터 가공, API 연동, 배포와 AWS 서버 운영을 맡았습니다. 2021 경희대학교 시각디자인과 졸업전시에서는 웹 운영 중 판매 현장의 중복 기록과 누락 문제를 발견했습니다. Excel 기반 판매, 재고, 정산 시스템을 직접 제안해 전시가 끝날 때까지 운영했습니다. 문제에 맞는 수단이 꼭 웹일 필요는 없다는 생각은 이때부터 지금까지 이어지고 있습니다.
개인 프로젝트
개인 프로젝트는 주로 두 가지 이유로 시작합니다. 자꾸 신경 써야 하는 일을 줄이고 싶거나, 머릿속에만 있는 아이디어가 실제로도 괜찮은지 궁금할 때입니다.
PoC Publisher는 웹 실험물을 빠르게 공개하기 위해 만든 셀프호스팅 배포 플랫폼입니다. Preview, Publish, Rollback과 프로젝트별 SQLite Data API를 제공하며 Codex와 Claude에서도 MCP로 프로젝트 생성과 배포를 이어갈 수 있습니다.
그 밖에도 뉴스 수집부터 요약, Slack과 음성 브리핑까지 자동화한 Personal News Hub, 녹음과 Whisper 전사를 연결한 Meeting Recorder를 운영하고 있습니다. News Lens에서는 AI가 결론을 대신 내리지 않고 사실, 주장, 해석, 추측을 나눠 보여주는 방식을 실험했습니다.
배경
경희대학교에서 시각디자인을 전공했고, 현재 한국방송통신대학교 컴퓨터과학과에 재학 중입니다. TypeScript, React, Next.js, React Native, Expo와 Node.js를 주로 사용합니다. 다만 기술 목록은 제가 할 수 있는 일의 경계라기보다 지금까지 문제를 풀며 사용한 도구에 가깝습니다.
이 블로그에는 일을 하며 내린 판단과 시행착오를 기록합니다. 무엇을 만들었는지만큼 왜 그런 선택을 했는지를 남겨 두고 싶습니다.
syate@naver.com · GitHub · PoC Publisher