몇 년째 쌓이기만 한 레거시, 구조를 다시 잡을 수 있을까
2018년부터 기능이 덧붙어 온 어드민 백엔드를 전수 분석해, 응답 형식과 시간 표기(UTC)를 하나로 통일하고 중복·미사용 경로를 걷어냈습니다.
어드민 전면 재설계 · 회원 조회 5초+ → 300ms · 레거시 경로 72개 제거
자세히 보기 →김민기 · Mingi Kim — 백엔드 엔지니어
가상자산 플랫폼 코박에서 Django 기반 어드민·커뮤니티·푸시 등 백엔드 핵심 도메인을 설계·운영합니다. 오래 쌓인 레거시를 다시 세우고, 요구사항만 있는 제품을 0 → 1로 만들며, 재현되지 않는 장애의 원인을 끝까지 추적합니다.
Strengths
채용 담당자가 실제로 궁금해할 질문을 놓고, 그 문제를 어떻게 풀었는지로 답했습니다. 자세한 내용은 각 항목의 링크에서 이어집니다.
2018년부터 기능이 덧붙어 온 어드민 백엔드를 전수 분석해, 응답 형식과 시간 표기(UTC)를 하나로 통일하고 중복·미사용 경로를 걷어냈습니다.
어드민 전면 재설계 · 회원 조회 5초+ → 300ms · 레거시 경로 72개 제거
자세히 보기 →참고할 기존 구조가 없는 상태에서 데이터 모델·권한 체계부터 홈 노출·검색·운영자 도구까지 백엔드 전반을 설계해 출시했습니다.
신규 커뮤니티 제품 백엔드 0 → 1 설계·출시
자세히 보기 →읽기 전용 복제 DB의 반영 지연이 원인임을 규명하고, 조회를 원본 DB로 고정한 뒤 쓰기를 트랜잭션으로 묶어 재발을 막았습니다.
10개월간 원인 미상이던 유실(월 최대 60%) → 재발 0건
자세히 보기 →요청받지 않았지만 위험 지점을 직접 찾아, 원격 코드 실행 위험이 있는 코드를 제거하고 무인증 API에 인증을 걸었으며 하드코딩된 키를 비밀 관리 시스템으로 옮겼습니다.
원격 코드 실행 위험 제거 · 무인증 API 차단 · 하드코딩 키 이관
자세히 보기 →Experience
백엔드 엔지니어
암호화폐 시세·뉴스·커뮤니티를 제공하는 국내 가상자산 정보 플랫폼
기능마다 달랐던 운영자용 관리 도구 백엔드를 일관된 체계로 재설계
배경 · 문제
2018년부터 운영 요구에 맞춰 기능이 덧붙어 온 어드민(운영자용 관리 도구) 백엔드는 API 형식·시간 표기·권한 처리가 기능마다 달랐습니다. 같은 기능이 중복으로 등록돼 있고, 화면에 필요 없는 데이터까지 응답에 실려 나갔으며, 한국시간과 표준시(UTC)가 뒤섞여 시간이 잘못 표시되는 버그도 남아 있어, 새 기능을 붙일 때마다 같은 문제를 반복해 다뤄야 했습니다.
결정 · 구현
결과
흩어져 있던 어드민 백엔드를 하나의 일관된 체계로 재정비해 이후 기능 개발 속도와 유지보수성을 끌어올렸습니다. 특히 활동이 많은 회원 조회는 5초 이상 걸리던 응답을 300ms 이하로 줄였고(약 94% 단축), 응답 데이터 축소와 시간 표기 통일로 프론트엔드–백엔드 사이에서 반복되던 버그의 원인을 구조적으로 없앴습니다.
주제·브랜드(B2B) 단위 커뮤니티를 백엔드에서 처음부터 설계해 출시
배경 · 문제
게시판을 넘어, 특정 주제나 브랜드(B2B) 단위로 운영되는 커뮤니티 공간 “스페이스”를 새로 출시해야 했습니다. 홈 노출·탐색·검색·운영자 도구까지 백엔드 전반을 새로 설계했고, 인플루언서(KOL)·코인 프로젝트·기업(B2B) 등 유형마다 동작이 달라 이를 아우르는 데이터 모델과 권한 설계가 필요했습니다.
결정 · 구현
결과
새 커뮤니티 제품을 백엔드에서 처음부터 설계·출시해, 일반 사용자와 기업(B2B) 양쪽을 모두 운영할 수 있는 구조를 확보했습니다.
10개월간 소리 없이 사라지던 데이터, 원인을 끝까지 추적해 재발까지 차단
배경 · 문제
포인트 후원을 하면 후원 표시 댓글이 자동으로 달려야 하는데, 월 최대 60%가 사라지고 있었습니다. 오류 알림 하나 없이 간헐적으로만 발생해 재현이 어려웠고, 2025년 8월 이후 10개월간 원인이 규명되지 않은 채 남아 있던 문제였습니다.
결정 · 구현
결과
유실 원인을 구조적으로 제거해 배포 이후 재발 0건입니다. 이후 같은 원인으로 라이브 공지글 생성이 누락되던 문제가 발견됐을 때는 이 진단을 그대로 적용해 즉시 해결했습니다 — 한 번의 근본 해결이 같은 유형의 장애 대응 속도를 바꿨습니다.
기존 푸시 발송 인프라(FCM/APNS) 위에, 운영자가 사용자에게 보내는 푸시 발송 기능을 기획부터 API까지 구현했습니다. 예약·즉시 발송, 관심사(뉴스·라이브·이벤트 등)별 대량 발송과 개인 타깃 발송, 발송 대상 선택 기능을 만들고, 실제 발송·열람 수를 검증해 잘못된 발송을 방지했으며 이벤트·미션 기능과 연동했습니다.
오래된 코드에 잠재해 있던 보안 위험을 직접 찾아 제거했습니다. 사용자 입력이 그대로 실행될 수 있던 코드(원격 코드 실행 위험)를 없애고, 인증 없이 데이터 변경이 가능하던 API에 인증·권한을 적용했으며, 소스에 하드코딩돼 있던 외부 서비스 키를 비밀 관리 시스템으로 옮겼습니다. 본인인증(KYC) 처리 중 서버에 남던 개인정보 파일 정리까지, 서비스와 사용자를 지키는 개선을 이어갔습니다.
오류 모니터링(Sentry)으로 다발성 오류를 추적·수정하고, 콜백 불일치로 반복 실패하던 백그라운드 작업을 정상화했습니다. 외부 API 장애 시 대체 응답(fallback)을 제공해 빈 화면을 방지하고, 영구 이용 제한이 해제되지 않던 문제 등 운영에 치명적인 버그를 수정했습니다.
검색 노출 개선(네이버 서치 어드바이저 연동 등 SEO)과 새 뉴스 매체 자동 수집(RSS)을 구현했습니다. 추천 뉴스가 데이터 형식 불일치로 전부 누락되던 버그, 닉네임 검색이 되지 않던 버그 등을 수정했습니다.
28,000커밋이 넘는 레거시 저장소에 자동화 테스트 실행 환경(pytest)을 처음 구축했습니다. 동작하지 않던 기존 테스트를 정리하고, 서버 시작 시점의 DB 의존을 제거해 빈 환경에서도 테스트가 돌아가게 만들었으며, 공통 기능을 표준화·정리해 중복 코드를 줄였습니다. 배포는 docker-compose로 구성해 실행 환경을 통일하고, 그 과정에서 드러난 문제들을 해결했습니다.
기여 규모 — 2026.04~07 · 기능 브랜치 130건 머지 · Jira 과제 83건 완료 · 커밋 608건 · 코드 +20,712 / −27,112 라인
소프트웨어 엔지니어
webOS 기반 스마트 TV·기기의 시스템 소프트웨어를 개발하는 글로벌 전자 기업
TV·기기 펌웨어를 원격으로 안전하게 업데이트하는 서비스를 C++로 구현
배경 · 문제
webOS 기기의 펌웨어를 사용자가 USB나 서비스센터 없이 네트워크로 직접 업데이트(OTA)할 수 있어야 했습니다. 하지만 펌웨어 전체 용량이 약 2GB에 달해, 느린 가정용 네트워크에서는 다운로드에만 8시간가량 걸려 실사용이 어려웠습니다.
결정 · 구현
결과
업데이트 용량을 약 2GB에서 10MB 수준으로, 다운로드 시간을 8시간에서 20분 이내로 줄여, 느린 네트워크 환경에서도 안정적인 원격 업데이트를 가능하게 했습니다.
OTA 업데이트 도중 전원이 꺼지는 상황을 자동으로 재현하는 테스트 프로그램을 개발했습니다. 수동·무작위로 하던 검증을 패키지 단위 자동 테스트로 확장하고, 원격 명령 실행과 진행 현황 API를 구현했습니다. 이를 통해 기존에 발견하지 못했던 ‘업데이트 중 부팅 불가·리모컨 먹통’ 등 3가지 치명적 이슈를 찾아내 해결하고 안정성 검증 체계를 개선했습니다.
Jira API로 팀원별 업무 기록을 자동 수집·정리하는 백오피스 도구를 혼자 기획·개발했습니다. 일일 업무 입력과 자동 기록 등록, 이슈별 누적 업무시간 시각화를 제공해, 흩어져 있던 업무 기록 양식을 통일하고 주간 회의 시간을 평균 1시간에서 10분으로 약 80% 단축했습니다.
Skills
Activities
Microsoft AI School
이미지에서 정보를 자동으로 읽어 분류·저장하고, 의미 기반으로 검색·알림해 주는 서비스입니다. 기프티콘·승차권 등 유형별 유효기간 알림(푸시)과, ‘버스표’로 검색하면 ‘승차권’을 찾아주는 의미 기반 검색(벡터 검색)을 구현해 기존 OCR보다 문맥 인식 정확도를 높였습니다.
소프트웨어 마에스트로
카메라로 사용자의 자세를 분석해 실시간으로 교정 피드백을 주는 요가 자세 분석 서비스입니다. 관절 좌표로 각도를 계산하고 동작 시점 차이를 보정하는 알고리즘(DTW)을 적용해 자세 판별 정확도를 높였으며, ‘왼쪽 팔을 더 올리세요’ 같은 음성 피드백을 제공했습니다.
AI 서비스 개발 교육 과정
학점 3.74 / 4.5
About
LG전자에서는 webOS 기기의 OTA(무선 업데이트) 서비스를 C++로 개발했습니다. 느린 네트워크에서 몇 시간씩 걸리던 펌웨어 업데이트를 실용적인 수준까지 줄였지만, 그렇게 만든 개선이 실제 사용자의 기기에 닿기까지는 훨씬 긴 시간이 필요했습니다. 더 빠르게 움직이는 환경에서, 내가 만든 것이 사용자에게 바로 닿는 일을 하고 싶어 백엔드로 방향을 바꿨습니다.
방향을 바꾸며 AI 서비스 개발 교육 과정을 거쳐 웹 백엔드와 API 설계를 다시 다졌고, 가장 빠르게 변하는 업계 중 하나인 가상자산 플랫폼 코박에 합류했습니다.
지금은 배포한 것이 곧바로 사용자와 운영팀의 반응으로 돌아옵니다. 전환을 결정할 때 원했던 환경이고, 앞으로도 사용자에게 가까운 곳에서 백엔드를 만들고 싶습니다.
API 응답 형식 표준화, 시간·목록 처리의 정확성, 안정성·보안 개선처럼 “눈에 잘 띄지 않지만 오래 가는” 백엔드 품질에 집중합니다.
Contact