# 마준소프트㈜ 자기소개서

## 1. 지원동기

### 인프라 운영과 자동화의 교차점

저는 마준소프트의 하이브리드 인프라 운영 방향에 주목해 지원했습니다.

SK-IDC와 KT-IDC를 직접 운영하면서도 NHN클라우드와 협력해 영역을 넓히는 흐름이 인상 깊었습니다. 여기에 RCS와 AI 연산 서버로 서비스를 확장하는 모습은, 단순한 서버 임대를 넘어 운영 자동화와 지능화를 함께 고민하는 방향이라고 판단했습니다.

이러한 방향성은 셀프호스트 파일 서비스 CloudSharp를 설계하며 마주한 문제의식과 맞닿아 있습니다. 해당 프로젝트에서는 PostgreSQL, Redis, tusd, ASP.NET Core, nginx 다섯 개 서비스를 Docker Compose로 오케스트레이션했습니다. internal 네트워크로 DB와 Redis를 격리해 외부 진입점을 nginx 하나로 제한했습니다. healthcheck 조건으로 서비스 기동 순서를 보장하고, Multi-stage Dockerfile로 이미지 크기도 함께 줄였습니다.

이 과정에서 인프라 안정성은 좋은 장비가 아니라 예측 가능한 운영 구조에서 나온다는 점을 배웠습니다. 자체 IDC와 클라우드를 함께 운영하며 보안 인증을 꾸준히 관리해 온 마준소프트라면, 그동안 쌓아 온 인프라 설계 경험을 실제 운영 환경에서 더 깊게 발전시킬 수 있다고 판단해 지원을 결심했습니다.

---

## 2. 업무 시 강점

### 측정 가능한 결과로 증명하는 AI 최적화

저의 가장 큰 강점은 AI 시스템의 비용과 품질을 동시에 개선하는 역량입니다.

술통여지도(Sulmap) 프로젝트에서 GPT-5.2 기반 술집 추천 엔진을 설계할 때 두 가지 문제에 부딪혔습니다. 반경 내 후보가 최대 200개에 이르러 한 번에 전송하면 입력이 16,000토큰을 넘었습니다. 게다가 GPT가 후보에 없는 술집을 만들어 내는 hallucination도 발생했습니다.

먼저 토큰 비용 문제를 해결하기 위해 2단계 Cascade Ranking 구조를 직접 설계했습니다. 200개를 100개씩 배치로 나눠 1단계에서는 ID만 반환하는 형태로 top 5씩 선별했습니다. 2단계에서는 최대 40개만 정밀 랭킹해 Top 10과 추천 이유를 생성했습니다. 여기에 더해 JSON 대신 도메인 특화 Pipe-delimited Format을 정의했습니다. 키 이름과 따옴표 같은 구조 문자가 차지하던 토큰을 제거하기 위한 선택이었습니다.

다음으로 hallucination 문제는 프롬프트와 코드 양쪽에서 방어했습니다. 시스템 프롬프트에서는 후보 외 ID 생성을 명시적으로 금지했습니다. 코드 레벨에서는 정규식으로 입력 B 라인에서 허용 ID Set을 추출해, GPT 응답을 즉시 대조하고 필터링했습니다. 부족한 결과는 거리순 fallback으로 채워 사용자 경험도 보장했습니다.

그 결과 호출당 토큰을 1단계에서 약 70%, 포맷 변경으로 추가 40% 절감했고 잘못된 ID 노출은 0건으로 차단했습니다. 단순한 기능 구현이 아니라 비용·품질·신뢰성을 수치로 증명하는 방식을 익혔습니다. 같은 접근을 마준소프트의 AI 연산 서버 운영과 서비스 지능화 업무에도 그대로 적용하겠습니다.

---

## 3. 입사 후 포부

### 운영 부담을 코드로 줄이는 개발자

입사 후에는 IDC 운영과 클라우드 인프라를 코드로 자동화하는 개발자로 성장하고 싶습니다.

마준소프트는 자체 IDC를 운영하면서도 NHN클라우드 파트너십과 RCS, AI 연산 서버로 영역을 넓히고 있습니다. 이런 환경에서는 반복 운영 작업과 모니터링을 코드로 옮기는 역할이 점점 더 중요해진다고 판단했습니다.

입사 초기 6개월은 ASP/PHP 기반 코드베이스와 IDC 운영 프로세스, 보안 정책을 빠르게 파악하는 데 집중하겠습니다. 기존 운영 흐름을 충분히 이해한 뒤에야 자동화 대상이 보인다고 생각하기 때문입니다.

1년 차에는 반복적인 서버 점검과 로그 수집을 Python 스크립트와 알림 파이프라인으로 전환하겠습니다. CloudSharp에서 Recovery Worker와 healthcheck 기반 기동 순서를 설계해 본 경험이 있습니다. 이 경험을 운영 자동화 영역에 그대로 옮겨 적용할 수 있다고 봅니다.

3년 차에는 AI 연산 서버의 부하 예측과 비정상 트래픽 탐지, 보안 점검 자동화처럼 지능화 영역에 기여하고 싶습니다. Sulmap에서 GPT 호출의 비용·품질을 수치로 측정하고 개선했던 방식으로, 운영 지표를 수치로 정의하고 줄여 나가는 데 보탬이 되겠습니다.

ASP/PHP 실서비스 운영 경험은 아직 부족합니다. 다만 Java와 C# 기반 백엔드와 Linux 컨테이너 운영 경험을 토대로 학습 기간을 꾸준히 줄여 나가고 있습니다.

---

## 4. 자기소개 / 성장 과정

### 동작하는 코드에서 예측 가능한 시스템으로

저를 한 문장으로 소개하면, 동작하는 코드에서 예측 가능한 시스템으로 관심이 옮겨 간 개발자입니다.

처음 개발을 시작했을 때는 기능이 동작하면 충분하다고 생각했습니다. 그러나 셀프호스트 파일 서비스 CloudSharp를 설계하며 그 생각이 바뀌었습니다.

대용량 업로드를 tusd로 처리하던 중 같은 업로드가 두 번 Finalize되는 경쟁 상태가 보였습니다. 이를 막기 위해 단일 SQL 한 줄로 점유 여부를 판정하는 CAS 방식을 도입했습니다. 10분 이상 멈춘 세션은 Recovery Worker가 자동 복구하도록 구성했습니다. Quota 경쟁 조건도 PostgreSQL의 row-level lock으로 판정과 예약을 한 트랜잭션 안에서 원자화해 해결했습니다.

이 과정에서 좋은 시스템은 장애가 없는 시스템이 아님을 배웠습니다. 좋은 시스템은 장애가 어떻게 일어나고 어떻게 복구되는지 설명할 수 있는 시스템이었습니다.

이후 TusBlazorClient를 NuGet 패키지로 공개하면서 같은 원칙을 라이브러리 설계에도 적용했습니다. JS 모듈은 Lazy 로딩으로 묶고, IAsyncDisposable로 생명주기를 명확히 노출했습니다. 사용하는 쪽에서 동작과 비용을 예측할 수 있도록 만든 선택이었습니다.

이러한 경험을 바탕으로 마준소프트의 IDC와 AI 서버 운영 환경에 합류하고 싶습니다. 결과를 수치로 설명할 수 있는 예측 가능한 시스템을, 마준소프트의 운영 노하우 위에서 함께 만들어 가겠습니다.